tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Can we stop revbumping the world please?
Dear Thomas,
as someone with less skin in this game (as I mostly buils fresh trees
without incremental updates), but some experience with source-based
Linux distros, especially Source Mage, I do wonder at the reported
scale of the revbumps.
Am 9. November 2024 17:00:03 MEZ schrieb Thomas Klausner <wiz%NetBSD.org@localhost>:
>icu provides some libraries. Their major versions change with every
>version bump of the package, so when updating icu from 75.x to 76.x,
>libfoo.so.75 becomes libfoo.so.76.
We have that well-known in Source Mage. ICU hurts. The need for ABI
breaks seems to stem from the ever-growing Unicode tables and
implementation choices that lead to necessary breakage when some arrays
chance size or whatnot. Anyhow, I am well aware of necessary rebuilding
of dependent packages when upgrading Source Mage systems.
>So if you just replace icu in place, all your packages linking against
>icu will stop working because they look for the now-removed
>libfoo.so.75.
Yes. That issue in particular has been long-standing cause for pain as
Source Mage lacked the mechanism to only remove libfoo.so.75 until all
dependent packages got re-built. This was especially fun if libfoo was
something required in the compiler toolchain. Now there is at least a
branch to test where there is some protection for this, re-assigning
library files to a transient binary package which does not conflict
with the updated package. Some decades late.
>- the recursiveness makes sure this also applies if icu is just an
> indirect dependency (i.e. libbar uses icu, then all users of libbar
> also need the bump)
This is the point where you lose me. Source Mage has a method to check
which packages are broken by an update to then re-build those
(workaround for imperfect dependency tracking, sometimes), basically
running ldd on everything to see if binaries miss libfoo.so.75.
What I do not see is a need for indirect dependents to be re-built.
Only packages that directly link to libfoo are affected by libfoo ABI
break. Roll-out of --as-needed linker flags also helped to limit
fallout due to bogus linkage of actually indirect libs.
Can you elaborate on why a revbump is needed on packages that only
indirectly depend on icu? Is there some past experience behind this?
Alrighty then,
Thomas
--
Dr. Thomas Orgis
HPC @ Universität Hamburg
Home |
Main Index |
Thread Index |
Old Index