From: Pacho Ramos <pacho@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Subslots: should they be bumped like SONAME or on any ABI changes?
Date: Mon, 16 Jun 2014 11:44:03 +0200 [thread overview]
Message-ID: <1402911843.2466.7.camel@belkin5> (raw)
In-Reply-To: <20140614164151.45afb5ca@pomiot.lan>
El sáb, 14-06-2014 a las 16:41 +0200, Michał Górny escribió:
> Hi,
>
> Some time ago we've got bug #510780 [1] asking us to bump subslot
> on LLVM even though the new version was ABI-compatible with previous
> one. It was because it introduced new APIs which applications could
> make use of. Since I believe this is a wider issue, I would like to
> know the opinion of our community about this.
>
> More specifically: do we want subslots to change only when backwards-
> incompatible ABI changes are done -- alike SONAME -- or whenever any
> ABI change is done? The problem seems a bit complex.
>
> Considering the libtool versioning, there are two kinds of library
> bumps relevant to us:
>
> 1) when ABI is altered in backwards-compatible way (so old stuff is not
> touched),
>
> 2) when ABI is altered in backwards-incompatible way.
>
> Option 1) corresponds to bumping minor libtool version, option 2) to
> bumping SONAME. I think most of the packages follow SONAME in subslots
> and therefore care only about 2).
>
> If we decide to keep bumping subslots only when SONAME changes, this
> has two implications:
>
> a) new features introduced libraries are not used by packages built
> prior to upgrading the library,
>
> b) packages built after upgrading the library may be broken when it is
> downgraded (if they use the newer ABI).
>
> I think a) is not *that* a big deal since usually new ABIs involve new
> APIs, and those involve code changes in the reverse dependency. Then we
> can usually assume that the new version of reverse dependency will be
> added (and therefore upgraded to) after the library in question.
>
> I have no strong opinion about b). This is a known issue with SONAMEs,
> and I'm not sure if we really support people downgrading. It is worth
> noting, however, that sometimes we ourselves force downgrades due to
> issues with new versions.
>
> If we decide to bump subslots to match major+minor ABI version, we
> force the reverse dependencies to always use the ABI corresponding to
> installed library version. However, this means that we force much more
> rebuilds than necessary.
>
> For example, glib-2 often introduces new APIs while packages obviously
> don't use them immediately or at all. We will be forcing rebuild of
> every reverse dependency at glib-2 upgrade, while the user will most
> likely need to wait for another version bump (and rebuild) to get
> the new glib-2 features used.
>
> What do you think?
>
> [1]:https://bugs.gentoo.org/show_bug.cgi?id=510780
>
I would opt for forcing rebuilds only when necessary, I mean, when not
rebuilding them will cause issues. If people want to force packages to
use latest glib-2 (for example), I guess they can do that "manually" (as
the case of people rebuilding everything on every major gcc update)
prev parent reply other threads:[~2014-06-16 9:44 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-14 14:41 [gentoo-dev] Subslots: should they be bumped like SONAME or on any ABI changes? Michał Górny
2014-06-14 15:13 ` Ciaran McCreesh
2014-06-14 15:32 ` hasufell
2014-06-14 15:45 ` Ciaran McCreesh
2014-06-14 16:04 ` Georg Rudoy
2014-06-14 16:16 ` hasufell
2014-06-14 16:19 ` Ciaran McCreesh
2014-06-14 16:25 ` hasufell
2014-06-14 15:50 ` Alexandre Rostovtsev
2014-06-14 15:56 ` Ciaran McCreesh
2014-06-14 16:17 ` Alexandre Rostovtsev
2014-06-14 16:31 ` Ciaran McCreesh
2014-06-14 16:35 ` Alexandre Rostovtsev
2014-06-14 20:00 ` Rich Freeman
2014-06-14 23:41 ` Patrick Lauer
2014-06-14 16:05 ` Ian Stakenvicius
2014-06-14 16:10 ` [gentoo-dev] " Michael Palimaka
2014-06-14 16:23 ` [gentoo-dev] " hasufell
2014-06-14 16:50 ` Alexandre Rostovtsev
2014-06-14 16:57 ` Alexandre Rostovtsev
2014-06-14 17:13 ` [gentoo-dev] " Michael Palimaka
2014-06-16 9:47 ` [gentoo-dev] " Pacho Ramos
2014-06-16 10:54 ` Rich Freeman
2014-06-15 19:13 ` Matt Turner
2014-06-16 9:44 ` Pacho Ramos [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1402911843.2466.7.camel@belkin5 \
--to=pacho@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox