sm-sorcery-bugs AT lists.ibiblio.org
Subject: Bugs for Sorcery are reported here
List archive
[SM-Sorcery-Bugs] [Bug 16112] New: Avoid basic system breakage on ABI update of readline, icu, isl (+others?) using sorcery protected filter
- From: bugzilla-daemon AT bugs.sourcemage.org
- To: sm-sorcery-bugs AT lists.ibiblio.org
- Subject: [SM-Sorcery-Bugs] [Bug 16112] New: Avoid basic system breakage on ABI update of readline, icu, isl (+others?) using sorcery protected filter
- Date: Sat, 18 May 2019 05:44:32 +0000
Bug ID | 16112 |
---|---|
Summary | Avoid basic system breakage on ABI update of readline, icu, isl (+others?) using sorcery protected filter |
Product | Sorcery |
Version | Untargetted future release |
Hardware | x86 |
OS | Linux |
Status | NEW |
Severity | critical |
Priority | P2 |
Component | Dispel |
Assignee | sm-sorcery-bugs AT lists.ibiblio.org |
Reporter | sobukus AT sourcemage.org |
Classification | Unclassified |
Created attachment 7618 [details] a first version of the patch to add protected libs I just tried to get a stable-0.62 chroot to current test. This means update from gcc-4.6 to 9.1, readline from 6 to 8, isl, etc. We have known now for a long time that removal of certain lib soversions during updates breaks the system in a very basic way, without the option of internal recovery. When you remove libreadline.so.6 and replace it with libreadline.so.8 (and a symlink named libreadline.so.7, which is just wrong, but a hack that mostly seemed to work … when you come from readline 7, not 6!), even bash won't run anymore and sorcery is dead. This is stupid beyond comprehension. In bug 16100 it was pointed out to me that we do have file protection as a feature in sorcery. I hereby propose to simply add these entries to /var/lib/sorcery/protected as a stop-gap measure until we got any of the fancy library preservation methods implemented: ^/lib/libreadline\.so\. ^/lib/libhistory\.so\. ^/usr/lib/libisl\.so\. ^/usr/lib/libicu.*\.so\. I'm sure I forgot some. ^/lib/libc\.so\. should probably also be there. Maybe we can reduce that hackery in the spell that protects its libs. I am testing the attached patch right now. My opinion is that such basic breakage that turns the whole toolchain into a dud should not be left to individual spells to prevent. Let's ensure that we do not remove libs needed by bash, coreutils, gcc, make, … it's one thing when KDE is broken because of the dependency mess. But not being able to start a shell? Damn. The proper solution IMHO is still to move the gcc dependencies (isl, cloog, mpfr, …) to in-tree builds of gcc again, as that is how upstream intends it and the version relations are delicate. But any normal dependency should be protected by a tracked mechanism to keep old soversions around, also for the userspace not managed by sorcery, as remarked by me in bug 16100. PS: Fun fact, I did not have the gcc and isl issue with the upgrade as gcc-4.6 doesn't need libisl.so yet. PPS: Oh, now I'm stuck because bash got updated to 5.0 and now I got syntax errors in sorcery. Yay!
You are receiving this mail because:
- You are the assignee for the bug.
-
[SM-Sorcery-Bugs] [Bug 16112] New: Avoid basic system breakage on ABI update of readline, icu, isl (+others?) using sorcery protected filter,
bugzilla-daemon, 05/18/2019
- [SM-Sorcery-Bugs] [Bug 16112] Avoid basic system breakage on ABI update of readline, icu, isl (+others?) using sorcery protected filter, bugzilla-daemon, 05/18/2019
- [SM-Sorcery-Bugs] [Bug 16112] Avoid basic system breakage on ABI update of readline, icu, isl (+others?) using sorcery protected filter, bugzilla-daemon, 05/18/2019
Archive powered by MHonArc 2.6.24.