Gentoo Archives: gentoo-dev

From: Pacho Ramos <pacho@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] About forcing rebuilds of other packages issue
Date: Wed, 06 Jun 2012 09:49:26
Message-Id: 1338976106.2706.36.camel@belkin4
In Reply to: Re: [gentoo-dev] About forcing rebuilds of other packages issue by Zac Medico
1 El mié, 06-06-2012 a las 02:17 -0700, Zac Medico escribió:
2 > On 06/06/2012 01:28 AM, Pacho Ramos wrote:
3 > > El mar, 05-06-2012 a las 16:07 -0700, Zac Medico escribió:
4 > >> The "SLOT operator" dependencies that Ciaran has been advocating are
5 > >> very close to a good solution. However, if we want it to work with
6 > >> unslotted packages, then we need to introduce a separate ABI_SLOT
7 > >> variable as discussed here:
8 > >>
9 > >> https://bugs.gentoo.org/show_bug.cgi?id=192319#c18
10 > >>
11 > >> It's really no more difficult to do than "SLOT operator" dependencies,
12 > >> it's more flexible, and we can do it in EAPI 5.
13 > >
14 > > In that case, I obviously wouldn't have any problem with that approach
15 > > (it sound even better :)). Is there any place where I could get a bit
16 > > more documentation about how this "SLOT operator" way would work? For
17 > > example, how would work for rebuilding x11 drivers after updating xorg
18 > > or rebuilding gobject-introspection after major glib update...
19 >
20 > Whenever you have an ABI change, the developer doing the version bump
21 > needs to increment the SLOT (or ABI_SLOT if we use a separate variable)
22 > in the package. Packages that depend on the package with the ABI change
23 > (reverse dependencies) append a := operator to their dependency atoms,
24 > indicating that they are locked to the ABI of the SLOT that they are
25 > built against. The package manager translates the := operators into a
26 > dependencies on specific SLOTs at build time, so that when you update
27 > your system next time, it can use this information to trigger rebuilds
28 > automatically when necessary.
29
30 That looks nice, only two notes:
31 - Looks like would be more sense on distinguish between "SLOT" and
32 ABI_SLOT, for example:
33 * dbus-glib would rdepend on glib:2
34 * if glib:2 abi changes, we would pull a ABI_SLOT="2.32" inside glib-2
35 ebuild
36 * dbus-glib rdepending on glib:=2 would get rebuilt
37 If we would use "SLOT" for all the cases, how would we handle it? I
38 mean, glib slot would be bumped to "2.32" and dbus-glib ebuilds updated
39 to rdepend on every new slot? Or would package managers distinct between
40 "versions" inside the same SLOT variable?
41 - What would occur with packages forced to use eapi0 due backwards
42 compat? We could probably deprecate eapis older than 5 to allow all the
43 tree be consistent with this rebuilds forcing, but no idea what to do
44 with system packages still needing to use eapi0 and maybe changing their
45 ABI too :/

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] About forcing rebuilds of other packages issue Zac Medico <zmedico@g.o>
Re: [gentoo-dev] About forcing rebuilds of other packages issue Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>