El mié, 06-06-2012 a las 18:16 +0100, Ciaran McCreesh escribió: > On Wed, 06 Jun 2012 11:48:26 +0200 > Pacho Ramos wrote: > > 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? > > You'd have a slot per ABI, and be encouraged to allow multiple versions > of glib to be installed in parallel. If you really couldn't do that > (and you should think very carefully before saying you can't, since > this directly affects users in a huge way), you can make the slots > block each other. Probably other gnome team could reply this better than me, but I don't think slotting every glib-2 due ABI changes deserves the huge effort. Also, we want people to rebuild them against, for example, glib-2.32 ABI, not to keep glib-2.30 and 2.32 installed in parallel and some packages built against 2.30 and others against 2.32. Also, how could this be handled in dbus-glib side? I mean, would we need to update dbus-glib update from RDEPENDing on glib:2.30 to glib:2.32? :O > > > - 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 :/ > > The situation for older packages remains the same. > Maybe we have a third option that could allow us to not use ABI_SLOT if you prefer: - eapi5 could allow the usage of depending on multiple slots, for example, dbus-glib would RDEPEND on dev-libs/glib:2.*:= Then, we would have dev-libs/glib:2.30 and dev-libs/glib:2.32, both mutually exclusive but ebuilds RDEPENDing on them not needing to be updated on every abi bump due them really working for both ABIs. - Package managers would still rebuild all apps with that ":=" syntax - We would be able to skip ABI_SLOT needing - If a package is RDEPENDing on an old eapi0 package, that package could still use SLOT="2.32" or "2.30" and eapi5 ebuild rdepending on it still behaving in the same way.