El mié, 06-06-2012 a las 02:17 -0700, Zac Medico escribió:
> On 06/06/2012 01:28 AM, Pacho Ramos wrote:
> > El mar, 05-06-2012 a las 16:07 -0700, Zac Medico escribió:
> >> The "SLOT operator" dependencies that Ciaran has been advocating are
> >> very close to a good solution. However, if we want it to work with
> >> unslotted packages, then we need to introduce a separate ABI_SLOT
> >> variable as discussed here:
> >>
> >>   https://bugs.gentoo.org/show_bug.cgi?id=192319#c18
> >>
> >> It's really no more difficult to do than "SLOT operator" dependencies,
> >> it's more flexible, and we can do it in EAPI 5.
> > 
> > In that case, I obviously wouldn't have any problem with that approach
> > (it sound even better :)). Is there any place where I could get a bit
> > more documentation about how this "SLOT operator" way would work? For
> > example, how would work for rebuilding x11 drivers after updating xorg
> > or rebuilding gobject-introspection after major glib update... 
> 
> Whenever you have an ABI change, the developer doing the version bump
> needs to increment the SLOT (or ABI_SLOT if we use a separate variable)
> in the package. Packages that depend on the package with the ABI change
> (reverse dependencies) append a := operator to their dependency atoms,
> indicating that they are locked to the ABI of the SLOT that they are
> built against. The package manager translates the := operators into a
> dependencies on specific SLOTs at build time, so that when you update
> your system next time, it can use this information to trigger rebuilds
> automatically when necessary.

That looks nice, only two notes:
- Looks like would be more sense on distinguish between "SLOT" and
ABI_SLOT, for example:
        * dbus-glib would rdepend on glib:2
        * if glib:2 abi changes, we would pull a ABI_SLOT="2.32" inside glib-2
ebuild
        * dbus-glib rdepending on glib:=2 would get rebuilt
If we would use "SLOT" for all the cases, how would we handle it? I
mean, glib slot would be bumped to "2.32" and dbus-glib ebuilds updated
to rdepend on every new slot? Or would package managers distinct between
"versions" inside the same SLOT variable?
- What would occur with packages forced to use eapi0 due backwards
compat? We could probably deprecate eapis older than 5 to allow all the
tree be consistent with this rebuilds forcing, but no idea what to do
with system packages still needing to use eapi0 and maybe changing their
ABI too :/

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to