Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: "gentoo-dev@l.g.o" <gentoo-dev@l.g.o>
Cc: "gentoo-dev@l.g.o" <gentoo-dev@l.g.o>, "Michał Górny" <mgorny@g.o>
Subject: Re: [gentoo-dev] [RFC] Policy for migrating library consumers to subslots
Date: Sat, 28 Sep 2013 18:31:40
Message-Id: 1F37AFB3-219F-4AEA-B6A8-950C8CC28031@gentoo.org
In Reply to: Re: [gentoo-dev] [RFC] Policy for migrating library consumers to subslots by Davide Pesavento
1 On 2013-09-28, at 9:43 AM, Davide Pesavento <pesa@g.o> wrote:
2
3 > On Fri, Sep 27, 2013 at 4:44 PM, Michał Górny <mgorny@g.o> wrote:
4 >> Dnia 2013-09-26, o godz. 17:24:49
5 >> Davide Pesavento <pesa@g.o> napisał(a):
6 >>
7 >>> On Thu, Sep 26, 2013 at 4:04 PM, Kent Fredric <kentfredric@×××××.com> wrote:
8 >>>>
9 >>>> On 26 September 2013 19:53, Michał Górny <mgorny@g.o> wrote:
10 >>>>>
11 >>>>> How do we handle packages which install multiple libraries? I'm afraid
12 >>>>> forcing such a policy and/or hurrying developers to adapt will only
13 >>>>> cause more of poppler-like issues to occur.
14 >>>>
15 >>>>
16 >>>> Can you give a an example package which:
17 >>>>
18 >>>> - installs multiple libraries
19 >>>> - has an ABI that may change for only one of those libraries
20 >>>> - it is sane / plausible to expect one downstream dependent *not* to
21 >>>> forcibly rebuild as a result of a chane in one of those libaries
22 >>>> - it is sane / plausible to expect a different downstream to forcibly
23 >>>> rebuild as a result of changes in one of those libraries
24 >>>
25 >>> dev-python/PyQt4
26 >>>
27 >>> Each module is a separate library, and each has its own ABI that can
28 >>> change independently from the others. Downstream projects that rely
29 >>> only on PyQt4's python API are not affected by ABI changes, but those
30 >>> (very few) that link against one or more modules (e.g. kde-base/pykde4
31 >>> I think) must be rebuilt.
32 >>
33 >> How often does ABI of pyqt4 libraries change in such a way that rebuild
34 >> of pykde4 is not required?
35 >
36 > Practically never (see below).
37 >
38 >>
39 >> Looking at the dep:
40 >>
41 >>> =dev-python/PyQt4-4.9.5[${PYTHON_USEDEP},dbus,declarative,script(+),sql,svg,webkit,X]
42 >>
43 >> I'd think it's fairly rare when only the libraries not listed above
44 >> change ABI without any of the remaining ones changing it.
45 >
46 > Actually, most PyQt4 libraries never changed their ABIs since the
47 > initial 4.0 release, so yes, it's "fairly rare" :)
48 > That's also one of the reasons why I never bothered to add a subslot to PyQt4.
49 >
50 > Thanks,
51 > Davide
52 >
53
54
55 it is very important to note that slot operators should be used even when the atom is unlikely to ever bump ABI or SONAME. it is the rare big update that breaks everything -- think the expat update fiasco from a few years back.