public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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)



      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