On 4/11/21 4:57 AM, L A Walsh wrote:
On 2021/04/09 00:30, Adrian Glaubitz wrote:
You may want to look up how shared libraries work
as what you describe
here is wrong.
Shared libraries use a stable binary interface which is why you don’t
have to update the programs using them if you make smaller changes
such as security updates to the shared library which don’t alter the ABI.
you may want to look up how many programs had to be re-linked and
re-released in the TW release where glibc changed. numbers. It doesn't
if it is compatible or incompatible. Every "libc.so.6" user on the system
need to be re-installed. That's the update nightmare.
Are you talking about "Had to be relinked" or "Had there package rebuilt
because openSUSE chose to" the two are very different things. Strictly
programs only have to be relinked if the so number changes, ie we go
from "libc.so.6" to "libc.so.7" on openSUSE Tumbleweed we choose to
rebuild a package whenever a dependency changes. We don't do this for
Leap updates however and other distro's such as Debian also don't do
this I believe.
The 1 library release changes, and 100's of
programs stop working.
It would supprise me if this was true on "standard" openSUSE installs,
where either the package manager takes care of it and installs all the
new packages or a user has chosen to compile a binary from source in
which case they would only need to rebuild if the sonumber changes.
Not until you find a program that was statically
linked can you
hope to get back to a working system. Whatever model of shared library
use that causes that is certainly not ideal.
How do you define "working system" because for me everything I need for
a "working system" comes from the package manager and therefore gets
updated together. Even if something breaks these days we include busybox
statically linked on all tumbleweed systems so you have access to basic
tools to repair stuff.
It has been that way for many years and yet still
I don't think its been fixed because it hasn't been seen as an issue,
the rebuilds have some advantages and prevent some bugs from packages
that don't correctly declare that the things using them need to rebuild
and on standard tumbleweed setups it doesn't cause any issues because
the package manager deals with it.
Simon Lees (Simotek) http://simotek.net
Emergency Update Team keybase.io/simotek
SUSE Linux Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B