On Tue, 6 Aug 2013 17:30:56 +0100 Ciaran McCreesh <ciaran.mccre...@googlemail.com> wrote:
> On Tue, 6 Aug 2013 12:16:57 -0400 > Alexis Ballier <aball...@gentoo.org> wrote: > > On Tue, 6 Aug 2013 16:25:12 +0100 > > Ciaran McCreesh <ciaran.mccre...@googlemail.com> wrote: > > > On Mon, 5 Aug 2013 18:49:49 -0400 > > > Alexis Ballier <aball...@gentoo.org> wrote: > > > > Again, symbols have nothing to do here. Since you have poor > > > > control on overlays and absolutely zero control on locally built > > > > packages, the only sane assumption is that all symbols are used. > > > > > > And that answers your question as to why the spec says "may". > > > > Not really: This explains why there _must_ be another way than > > subslots to check this. > > Only if you want to avoid ever having an unnecessary rebuild. That > isn't a sensible goal. You haven't read the part you cut it seems. > > > But that leads to breakage when the "stable" ABI changes. It's > > > better to avoid breakage than it is to require the odd extra > > > recompile. > > > > That's why preserve-libs is still the proper way to do it until we > > have a more accurate subslot handling. > > preserve-libs is broken by design. All you need is proper use of > subslots, and to recognise that the occasional unnecessary rebuild > isn't a big deal. preserve-libs has its flaws. All you need is improving the subslot system so that it can be used properly. What are you waiting for ? :) 'occasional unnecessary rebuild' is a big deal since subslots introduce this regression... > > In the poppler case, the > > stable ABI changes an order of magnitude less often than the > > unstable one; it's not really 'the' extra recompile but rather > > hundreds of them if you multiply by the # of dependent packages. > > Claiming it's better to have hundreds of recompiles is simply being > > lazy, throwing our failures onto users, and not be willing to fix > > the real problem. > > There's an easy fix for that: split the package up. Great, please start submitting patches at our thousands of upstreams so that their packages can be split properly. > > > With subslots, the developer specifies dependencies. With > > > fix-linkage, the package mangler has to guess based upon very > > > incomplete information. > > > > You're assuming library maintainers are stupid: If done properly, > > there is a library that gives you the text file location based on > > where it has been installed. If that's not the case then that's > > where I'd try to improve things, not hiding the problem behind a > > subslot. > > That's no good when that file is removed or overwritten by a newer > format, but preserve-libs leaves the .so that uses that file behind. Then submit patches to run preserve-libs as soon as possible as I suggested in the part you cut. preserve-libs, in contrast to just removing the .so, leaves you with a working system in 90% of the cases. Exercise: Try to update a FreeBSD 6 system (libc.so.6) to a FreeBSD 7 system (libc.so.7) without some kind of preserve-libs mechanism. Been there, done that. The flaws of preserve-libs show up but it maintains a half working system all the way long that allows you to finish the update.