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.

Reply via email to