* [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue @ 2012-06-04 21:26 Pacho Ramos 2012-06-05 12:44 ` Aaron W. Swenson 2012-09-06 9:01 ` Fabian Groffen 0 siblings, 2 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-04 21:26 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 3088 bytes --] Hello, will send this to gentoo-dev mailing list per Zac's suggestion ;): Probably Zac already remembers my suggestion of: https://bugs.gentoo.org/show_bug.cgi?id=413619 Sorry for insisting a bit on it but this issue bites me periodically. Months ago, I was able to administrate myself some of my father and uncles systems in their jobs and homes but, since I moved to Madrid this year, I am not able to administrate them directly. They usually do a good job maintaining them, the only issue I see they hit from time to time is forgetting to run JUST AFTER updating their systems revdep-rebuild (well, this is so common that they usually don't forget to), rebuild dbus-glib/gobject-introspection after major glib update, rebuild X11 drivers... This is because, even if all this information is recorded in /var/log/portage/elog/summary.log, currently, that log file is cluttered of a lot of other elog lines that are not related at all with this important task of rebuilding packages. This is why I suggested: https://bugs.gentoo.org/show_bug.cgi?id=413619 That would create a new "erebuild" (or whatever the name you prefer) to ONLY contain exact command to run by admin to have a safe system after update. It would have as main advantage: - Looks easier to implement. - It relies in current and existing tools (python-updater, perl-cleaner, "q", equery...), then, they could be used just now via a script running all of them. - It also looks much more "professional" to try to unify a bit what commands to run ;) (currently, some ebuilds tells you to manually re-emerge packages and some people wrongly run "emerge dbus-glib" when they should run "emerge -1 dbus-glib". Telling us to people what exact command they need to copy&paste&run will help to get their systems cleaner also. Zac kindly pointed me to: https://bugs.gentoo.org/show_bug.cgi?id=192319 The problem of that one is that, even if it would be "the perfect solution": - Looks to be stalled for a long time. - Looks to need a lot of functions (like revdep-rebuild, python-updater...) to be merged in portage itself. It will then probably take a lot of time to get them integrated (specially seeing we are still not able to use preserve-libs because it looks to cause some other problems) - In that bug report I have also seen discussion about whether handle this only via SLOTs (that personally think it will be even harder to achieve for all packages in the tree showing this kind of problems when updating, for example, I doubt how "glib" - "dbus-glib/g-i" case could be handled in this way. - Looks like there is no consensus about what to do and, then, this could probably be implemented on eapi... 7? While former could probably be implemented much sooner (probably even in eapi5) This is why I think we should try to push a bit my first suggestion for the short term until "the perfect one" is ready as, until then, we are having for years a problem that, personally, I think it should be handled a bit better. Thanks a lot for your attention [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-04 21:26 [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Pacho Ramos @ 2012-06-05 12:44 ` Aaron W. Swenson 2012-06-05 13:31 ` [gentoo-dev] " Pacho Ramos ` (2 more replies) 2012-09-06 9:01 ` Fabian Groffen 1 sibling, 3 replies; 114+ messages in thread From: Aaron W. Swenson @ 2012-06-05 12:44 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 06/04/2012 05:26 PM, Pacho Ramos wrote: > Hello, will send this to gentoo-dev mailing list per Zac's > suggestion ;): > > ...They usually do a good job maintaining them, the only issue I > see they hit from time to time is forgetting to run JUST AFTER > updating their systems revdep-rebuild (well, this is so common that > they usually don't forget to), rebuild > dbus-glib/gobject-introspection after major glib update, rebuild > X11 drivers... > > This is because, even if all this information is recorded in > /var/log/portage/elog/summary.log, currently, that log file is > cluttered of a lot of other elog lines that are not related at all > with this important task of rebuilding packages. This is why I > suggested: https://bugs.gentoo.org/show_bug.cgi?id=413619 > > That would create a new "erebuild" (or whatever the name you > prefer) to ONLY contain exact command to run by admin to have a > safe system after update. It would have as main advantage: - Looks > easier to implement. - It relies in current and existing tools > (python-updater, perl-cleaner, "q", equery...), then, they could be > used just now via a script running all of them. - It also looks > much more "professional" to try to unify a bit what commands to run > ;) (currently, some ebuilds tells you to manually re-emerge > packages and some people wrongly run "emerge dbus-glib" when they > should run "emerge -1 dbus-glib". Telling us to people what exact > command they need to copy&paste&run will help to get their systems > cleaner also. > > ... > > The problem of that one is that, even if it would be "the perfect > solution": - Looks to be stalled for a long time. - Looks to need a > lot of functions (like revdep-rebuild, python-updater...) to be > merged in portage itself. It will then probably take a lot of time > to get them integrated (specially seeing we are still not able to > use preserve-libs because it looks to cause some other problems) - > In that bug report I have also seen discussion about whether > handle this only via SLOTs (that personally think it will be even > harder to achieve for all packages in the tree showing this kind of > problems when updating, for example, I doubt how "glib" - > "dbus-glib/g-i" case could be handled in this way. - Looks like > there is no consensus about what to do and, then, this could > probably be implemented on eapi... 7? While former could probably > be implemented much sooner (probably even in eapi5) > > This is why I think we should try to push a bit my first suggestion > for the short term until "the perfect one" is ready as, until then, > we are having for years a problem that, personally, I think it > should be handled a bit better. > > Thanks a lot for your attention > "There's never anything important in all that text." - Anonymous Gentoo User We've already determined that the users don't read the output. This is a known fact. Something I repeat in #gentoo more often than I care to admit is "Seriously, read the output." I agree with the users that there's too much output, and some of the output is indeed useless. The output they aren't reading isn't just rebuild commands, but also the next step they're supposed to take after the emerge has finished, groups their users need to be in to use a particular feature, et cetera. The ideal solution is for the Ebuild to instruct the PMS to rebuild the dependent packages. We can have a variable called REBUILD. All packages that would need to be rebuilt can be listed in it. Only those packages that are installed would be built. The actual list of the packages to be rebuilt would be determined at dependency checking time. That way, the user can approve the rebuild of the packages. Just placing the commands in a separate log won't really solve a whole lot. Further, it will bump any elog messages even further down in the importance ranking. - -- Mr. Aaron W. Swenson Gentoo Linux Developer Email : titanofold@gentoo.org GnuPG FP : 2C00 7719 4F85 FB07 A49C 0E31 5713 AA03 D1BB FDA0 GnuPG ID : D1BBFDA0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iF4EAREIAAYFAk/N/xgACgkQVxOqA9G7/aBGGwD/TNRbZNie6J1RkI0DETgcUlwG VXBY2UamMijjKLFPluEA/jwo9B7qejNkiko/xDvecUq8CaF02Qc4tKMf/MbWs7LW =ysgF -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-05 12:44 ` Aaron W. Swenson @ 2012-06-05 13:31 ` Pacho Ramos 2012-06-05 23:07 ` Zac Medico 2012-06-06 5:33 ` Ciaran McCreesh 2012-06-05 20:28 ` [gentoo-dev] [gentoo-portage-dev] " Ciaran McCreesh 2012-06-06 0:51 ` Michael Weber 2 siblings, 2 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-05 13:31 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2566 bytes --] El mar, 05-06-2012 a las 08:44 -0400, Aaron W. Swenson escribió: [...] > "There's never anything important in all that text." - Anonymous > Gentoo User > > We've already determined that the users don't read the output. This is > a known fact. Something I repeat in #gentoo more often than I care to > admit is "Seriously, read the output." I agree with the users that > there's too much output, and some of the output is indeed useless. > > The output they aren't reading isn't just rebuild commands, but also > the next step they're supposed to take after the emerge has finished, > groups their users need to be in to use a particular feature, et cetera. > > The ideal solution is for the Ebuild to instruct the PMS to rebuild > the dependent packages. > > We can have a variable called REBUILD. All packages that would need to > be rebuilt can be listed in it. Only those packages that are installed > would be built. The actual list of the packages to be rebuilt would be > determined at dependency checking time. That way, the user can approve > the rebuild of the packages. We all know what would be the "ideal solution", the problem is how to implement it (and how many years we need to wait to get it working). > > Just placing the commands in a separate log won't really solve a whole > lot. Further, it will bump any elog messages even further down in the > importance ranking. > It will allow administrators to easily automate via scripts rebuilding of packages, allowing them to get system more solid after a big update. Also, currently I usually need to surf in big summary.log to directly find commands to rebuild things because most of elog messages are useless to me (a lot of them because they are always shown in every update and are useful only the first time you read them, other times you already remember, for example, how to setup e4rat). Current situation of breaking systems when people don't read summary.log JUST AFTER update completes won't help to force people to read them, will simply break their systems and give a really poor impression of Gentoo breaking easily when updating. Think, for example, on a lot of people that leaves system updating at night time, then, when he/she tries to use it next morning he sees some things are broken and need to be rebuilt. All that rebuilding work could be done during the same night but, due current way of handling things, he needs to have his system broken during more hours (when he needs to use it) until things are rebuilt. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-05 13:31 ` [gentoo-dev] " Pacho Ramos @ 2012-06-05 23:07 ` Zac Medico 2012-06-06 5:31 ` Ciaran McCreesh 2012-06-06 8:28 ` Pacho Ramos 2012-06-06 5:33 ` Ciaran McCreesh 1 sibling, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-05 23:07 UTC (permalink / raw To: gentoo-dev On 06/05/2012 06:31 AM, Pacho Ramos wrote: > El mar, 05-06-2012 a las 08:44 -0400, Aaron W. Swenson escribió: >> The ideal solution is for the Ebuild to instruct the PMS to rebuild >> the dependent packages. >> >> We can have a variable called REBUILD. All packages that would need to >> be rebuilt can be listed in it. Only those packages that are installed >> would be built. The actual list of the packages to be rebuilt would be >> determined at dependency checking time. That way, the user can approve >> the rebuild of the packages. > > We all know what would be the "ideal solution", the problem is how to > implement it (and how many years we need to wait to get it working). This REBUILD variable is the first idea that pops into the head of anyone who's never worked on a dependency resolver before. It's backwards because it requires a package to have knowledge of *all* of its reverse dependencies, and it should not need to know about *any* of them. 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. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-05 23:07 ` Zac Medico @ 2012-06-06 5:31 ` Ciaran McCreesh 2012-06-06 5:49 ` Zac Medico 2012-06-06 8:28 ` Pacho Ramos 1 sibling, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 5:31 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 916 bytes --] On Tue, 05 Jun 2012 16:07:40 -0700 Zac Medico <zmedico@gentoo.org> wrote: > 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. I still don't get what problem you're trying to solve with that. SLOT operator dependencies are known to work for the problem, and have received extensive testing both on Gentoo (with the old KDE packages) and elsewhere. Why not just go with those plus blockers initially, and then add in ABI_SLOT only if it turns out that developers really can't handle using SLOT correctly? -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 5:31 ` Ciaran McCreesh @ 2012-06-06 5:49 ` Zac Medico 0 siblings, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-06-06 5:49 UTC (permalink / raw To: gentoo-dev On 06/05/2012 10:31 PM, Ciaran McCreesh wrote: > On Tue, 05 Jun 2012 16:07:40 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> 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. > > I still don't get what problem you're trying to solve with that. Well, I guess it's easy enough to use blockers to handle cases where two SLOTs can't be installed simultaneously. > SLOT > operator dependencies are known to work for the problem, and have > received extensive testing both on Gentoo (with the old KDE packages) > and elsewhere. Why not just go with those plus blockers initially, and > then add in ABI_SLOT only if it turns out that developers really can't > handle using SLOT correctly? Sounds good, especially considering the possibility of using blockers as mentioned. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-05 23:07 ` Zac Medico 2012-06-06 5:31 ` Ciaran McCreesh @ 2012-06-06 8:28 ` Pacho Ramos 2012-06-06 9:17 ` Zac Medico 1 sibling, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 8:28 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1904 bytes --] El mar, 05-06-2012 a las 16:07 -0700, Zac Medico escribió: > On 06/05/2012 06:31 AM, Pacho Ramos wrote: > > El mar, 05-06-2012 a las 08:44 -0400, Aaron W. Swenson escribió: > >> The ideal solution is for the Ebuild to instruct the PMS to rebuild > >> the dependent packages. > >> > >> We can have a variable called REBUILD. All packages that would need to > >> be rebuilt can be listed in it. Only those packages that are installed > >> would be built. The actual list of the packages to be rebuilt would be > >> determined at dependency checking time. That way, the user can approve > >> the rebuild of the packages. > > > > We all know what would be the "ideal solution", the problem is how to > > implement it (and how many years we need to wait to get it working). > > This REBUILD variable is the first idea that pops into the head of > anyone who's never worked on a dependency resolver before. It's > backwards because it requires a package to have knowledge of *all* of > its reverse dependencies, and it should not need to know about *any* of > them. > > 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... Thanks a lot for the info :) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 8:28 ` Pacho Ramos @ 2012-06-06 9:17 ` Zac Medico 2012-06-06 9:48 ` Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-06 9:17 UTC (permalink / raw To: gentoo-dev 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. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 9:17 ` Zac Medico @ 2012-06-06 9:48 ` Pacho Ramos 2012-06-06 10:13 ` Zac Medico 2012-06-06 17:16 ` Ciaran McCreesh 0 siblings, 2 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 9:48 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2492 bytes --] 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 #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 9:48 ` Pacho Ramos @ 2012-06-06 10:13 ` Zac Medico 2012-06-06 17:16 ` Ciaran McCreesh 1 sibling, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-06-06 10:13 UTC (permalink / raw To: gentoo-dev On 06/06/2012 02:48 AM, Pacho Ramos wrote: > 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? For this situation, it seems like it's easier to have separate SLOT and ABI_SLOT entities. Maybe the dbus-glib dependency would be expressed as glib:2:= and the package manager would translate that to glib:2:2.32 at build time. So, the atom has separate SLOT and ABI_SLOT parts. > - 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 :/ All EAPIs have SLOT, so at least the reverse dependencies on these system packages would be able to use SLOT operator deps. It's also conceivable that ABI_SLOT support could be retroactively added to older EAPIs. Obviously, the SLOT operator := dependencies themselves can only be used in new EAPIs, so you won't be able to use them until you're willing to bump the EAPI of your package. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 9:48 ` Pacho Ramos 2012-06-06 10:13 ` Zac Medico @ 2012-06-06 17:16 ` Ciaran McCreesh 2012-06-06 18:02 ` Pacho Ramos 2012-06-06 21:21 ` Zac Medico 1 sibling, 2 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 17:16 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1343 bytes --] On Wed, 06 Jun 2012 11:48:26 +0200 Pacho Ramos <pacho@gentoo.org> 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. > - 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. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 17:16 ` Ciaran McCreesh @ 2012-06-06 18:02 ` Pacho Ramos 2012-06-06 18:15 ` Ciaran McCreesh 2012-06-06 21:21 ` Zac Medico 1 sibling, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 18:02 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2643 bytes --] El mié, 06-06-2012 a las 18:16 +0100, Ciaran McCreesh escribió: > On Wed, 06 Jun 2012 11:48:26 +0200 > Pacho Ramos <pacho@gentoo.org> 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. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 18:02 ` Pacho Ramos @ 2012-06-06 18:15 ` Ciaran McCreesh 2012-06-06 18:30 ` Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 18:15 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 743 bytes --] On Wed, 06 Jun 2012 20:02:24 +0200 Pacho Ramos <pacho@gentoo.org> wrote: > 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. Think of the users. > 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. Well, you can do that if you really want... > 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 Noooooo. You'd use := dependencies, possibly with a >= constraint. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 18:15 ` Ciaran McCreesh @ 2012-06-06 18:30 ` Pacho Ramos 2012-06-06 18:33 ` Ciaran McCreesh 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 18:30 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1427 bytes --] El mié, 06-06-2012 a las 19:15 +0100, Ciaran McCreesh escribió: > On Wed, 06 Jun 2012 20:02:24 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: > > 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. > > Think of the users. I am thinking on them (well, I started this thread because I was thinking as a user). > > > 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. > > Well, you can do that if you really want... > > > 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 > > Noooooo. You'd use := dependencies, possibly with a >= constraint. > But, what would occur if we have three slots (for example gtk+), and app needs to RDEPEND on slot 2? How would we set it to use every 2.* SLOT and not >=2? Also, what is the reason to try to skip "ABI_SLOT" way? It would have some advantages, and would allow us to make ABI_SLOTs mutually exclusive by default (as most cases would need) instead of needing to move this "mutual exclussion" on every ebuild needing to use SLOTs for ABI bumps. It looks cleaner to me over being constraint to SLOT :| [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 18:30 ` Pacho Ramos @ 2012-06-06 18:33 ` Ciaran McCreesh 2012-06-06 19:16 ` Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 18:33 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 915 bytes --] On Wed, 06 Jun 2012 20:30:52 +0200 Pacho Ramos <pacho@gentoo.org> wrote: > > > 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 > > > > Noooooo. You'd use := dependencies, possibly with a >= constraint. > > But, what would occur if we have three slots (for example gtk+), and > app needs to RDEPEND on slot 2? How would we set it to use every 2.* > SLOT and not >=2? Then you'd need range dependencies. > Also, what is the reason to try to skip "ABI_SLOT" way? No-one's ever implemented it, or knows how it works, or knows what exactly it's supposed to do. The only advantage ABI_SLOT has is that we don't know what its limitations are, other than that it doesn't solve any new problems (although it might slightly simplify certain specific cases, maybe). -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 18:33 ` Ciaran McCreesh @ 2012-06-06 19:16 ` Pacho Ramos 2012-06-06 19:23 ` Ciaran McCreesh 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 19:16 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1563 bytes --] El mié, 06-06-2012 a las 19:33 +0100, Ciaran McCreesh escribió: > On Wed, 06 Jun 2012 20:30:52 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: > > > > 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 > > > > > > Noooooo. You'd use := dependencies, possibly with a >= constraint. > > > > But, what would occur if we have three slots (for example gtk+), and > > app needs to RDEPEND on slot 2? How would we set it to use every 2.* > > SLOT and not >=2? > > Then you'd need range dependencies. > > > Also, what is the reason to try to skip "ABI_SLOT" way? > > No-one's ever implemented it, or knows how it works, or knows what > exactly it's supposed to do. The only advantage ABI_SLOT has is that we > don't know what its limitations are, other than that it doesn't > solve any new problems (although it might slightly simplify certain > specific cases, maybe). Well, I think reading this thread is more or less clear what it would be supposed to do, also Zac suggested it and looks to have an idea about what should it do. In summary: we would still need to use a "top layer" SLOT for packages really being able to be parallel installed and those that need to be parallel installable because reverse dependencies doesn't work with latest version (like glib, libgda, gtk+...). ABI_SLOT would be more "internal" to allow portage managers to know that abi changed and reverse dependencies would need a later rebuild. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 19:16 ` Pacho Ramos @ 2012-06-06 19:23 ` Ciaran McCreesh 2012-06-06 19:32 ` Pacho Ramos 2012-06-07 0:43 ` Zac Medico 0 siblings, 2 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 19:23 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 569 bytes --] On Wed, 06 Jun 2012 21:16:05 +0200 Pacho Ramos <pacho@gentoo.org> wrote: > Well, I think reading this thread is more or less clear what it would > be supposed to do, also Zac suggested it and looks to have an idea > about what should it do. There's a big leap from "more or less clear" and "an idea" to the kind of knowledge we want to have. Think REQUIRED_USE for how this can go wrong... If you think ABI_SLOT is essential, why not try implementing it and trying it out in a large number of packages, and reporting your results? -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 19:23 ` Ciaran McCreesh @ 2012-06-06 19:32 ` Pacho Ramos 2012-06-07 0:43 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 19:32 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 691 bytes --] El mié, 06-06-2012 a las 20:23 +0100, Ciaran McCreesh escribió: > On Wed, 06 Jun 2012 21:16:05 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: > > Well, I think reading this thread is more or less clear what it would > > be supposed to do, also Zac suggested it and looks to have an idea > > about what should it do. > > There's a big leap from "more or less clear" and "an idea" to the kind > of knowledge we want to have. Think REQUIRED_USE for how this can go > wrong... > > If you think ABI_SLOT is essential, why not try implementing it and > trying it out in a large number of packages, and reporting your results? > Because I don't have the skills to do it myself [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 19:23 ` Ciaran McCreesh 2012-06-06 19:32 ` Pacho Ramos @ 2012-06-07 0:43 ` Zac Medico 2012-06-07 8:24 ` Brian Harring 1 sibling, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-07 0:43 UTC (permalink / raw To: gentoo-dev On 06/06/2012 12:23 PM, Ciaran McCreesh wrote: > On Wed, 06 Jun 2012 21:16:05 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: >> Well, I think reading this thread is more or less clear what it would >> be supposed to do, also Zac suggested it and looks to have an idea >> about what should it do. > > There's a big leap from "more or less clear" and "an idea" to the kind > of knowledge we want to have. Think REQUIRED_USE for how this can go > wrong... > > If you think ABI_SLOT is essential, why not try implementing it and > trying it out in a large number of packages, and reporting your results? It's pretty close to the SLOT operator model, and it seems like it should work fine. We can deploy EAPI 5_pre1 with ABI_SLOT support, and test it in an overlay before we include it in the final EAPI 5. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 0:43 ` Zac Medico @ 2012-06-07 8:24 ` Brian Harring 2012-06-07 16:43 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Brian Harring @ 2012-06-07 8:24 UTC (permalink / raw To: Zac Medico; +Cc: gentoo-dev On Wed, Jun 06, 2012 at 05:43:49PM -0700, Zac Medico wrote: > On 06/06/2012 12:23 PM, Ciaran McCreesh wrote: > > On Wed, 06 Jun 2012 21:16:05 +0200 > > Pacho Ramos <pacho@gentoo.org> wrote: > >> Well, I think reading this thread is more or less clear what it would > >> be supposed to do, also Zac suggested it and looks to have an idea > >> about what should it do. > > > > There's a big leap from "more or less clear" and "an idea" to the kind > > of knowledge we want to have. Think REQUIRED_USE for how this can go > > wrong... > > > > If you think ABI_SLOT is essential, why not try implementing it and > > trying it out in a large number of packages, and reporting your results? > > It's pretty close to the SLOT operator model, and it seems like it > should work fine. We can deploy EAPI 5_pre1 with ABI_SLOT support, and > test it in an overlay before we include it in the final EAPI 5. I'd prefer you nailing down the details a bit more before slipping it into an EAPI called "5_pre1"; aside from usual complaints, frankly I'd rather not have to figure out the design of it via raiding the patches out of portage history ;) If we're going to do this, there should be a way to represent the direction of compatibility. Might be overthinking it, but consider upgrades where new API is added; this does *not* break ABI, it extends it. Going in reverse however *would* break ABI for anything that was using the new additions. This issue can be avoided via usage of version operators w/ appropriate slot binding deps, just seems hanky in light of what we're talking about. I'm perfectly fine w/ ABI_SLOT and SLOT (I proposed a similar thing in '06/'07); I'd however suggest ensuring there is some buy in from devs on that one since that was the main argument against it in the past. That argument may no longer apply, but should be checked imo. ~harring ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 8:24 ` Brian Harring @ 2012-06-07 16:43 ` Zac Medico 2012-06-07 17:40 ` Ciaran McCreesh 2012-06-07 18:04 ` Ralph Sennhauser 0 siblings, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-07 16:43 UTC (permalink / raw To: Brian Harring; +Cc: gentoo-dev On 06/07/2012 01:24 AM, Brian Harring wrote: > On Wed, Jun 06, 2012 at 05:43:49PM -0700, Zac Medico wrote: >> On 06/06/2012 12:23 PM, Ciaran McCreesh wrote: >>> On Wed, 06 Jun 2012 21:16:05 +0200 >>> Pacho Ramos <pacho@gentoo.org> wrote: >>>> Well, I think reading this thread is more or less clear what it would >>>> be supposed to do, also Zac suggested it and looks to have an idea >>>> about what should it do. >>> >>> There's a big leap from "more or less clear" and "an idea" to the kind >>> of knowledge we want to have. Think REQUIRED_USE for how this can go >>> wrong... >>> >>> If you think ABI_SLOT is essential, why not try implementing it and >>> trying it out in a large number of packages, and reporting your results? >> >> It's pretty close to the SLOT operator model, and it seems like it >> should work fine. We can deploy EAPI 5_pre1 with ABI_SLOT support, and >> test it in an overlay before we include it in the final EAPI 5. > > I'd prefer you nailing down the details a bit more before slipping it > into an EAPI called "5_pre1"; aside from usual complaints, frankly I'd > rather not have to figure out the design of it via raiding the patches > out of portage history ;) Ciaran already has SLOT operators in his eapi-5 branch of PMS. Maybe we can convince him to change it to ABI_SLOT operators. > If we're going to do this, there should be a way to represent > the direction of compatibility. Might be overthinking it, but > consider upgrades where new API is added; this does *not* break ABI, > it extends it. Going in reverse however *would* break ABI for > anything that was using the new additions. This issue can be avoided > via usage of version operators w/ appropriate slot binding deps, just > seems hanky in light of what we're talking about. That might be nice, but it also complicates things a bit. We might stand a better chance of getting Ciaran to cooperate if we keep it simpler and stay closer to the SLOT operator model. > I'm perfectly fine w/ ABI_SLOT and SLOT (I proposed a similar thing in > '06/'07); I'd however suggest ensuring there is some buy in from devs > on that one since that was the main argument against it in the past. I can imagine that ABI_SLOT operator deps will be a lot more popular than SLOT operator deps, since ABI_SLOT operator deps will accommodate the common practice of allowing ABI changes within a particular SLOT. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 16:43 ` Zac Medico @ 2012-06-07 17:40 ` Ciaran McCreesh 2012-06-07 17:55 ` Pacho Ramos 2012-06-07 18:03 ` Zac Medico 2012-06-07 18:04 ` Ralph Sennhauser 1 sibling, 2 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 17:40 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 458 bytes --] On Thu, 07 Jun 2012 09:43:32 -0700 Zac Medico <zmedico@gentoo.org> wrote: > I can imagine that ABI_SLOT operator deps will be a lot more popular > than SLOT operator deps, since ABI_SLOT operator deps will accommodate > the common practice of allowing ABI changes within a particular SLOT. You're missing out on a brilliant opportunity to encourage developers put in a bit more work to save users a huge amount of pain here. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 17:40 ` Ciaran McCreesh @ 2012-06-07 17:55 ` Pacho Ramos 2012-06-07 18:03 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 17:55 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1215 bytes --] El jue, 07-06-2012 a las 18:40 +0100, Ciaran McCreesh escribió: > On Thu, 07 Jun 2012 09:43:32 -0700 > Zac Medico <zmedico@gentoo.org> wrote: > > I can imagine that ABI_SLOT operator deps will be a lot more popular > > than SLOT operator deps, since ABI_SLOT operator deps will accommodate > > the common practice of allowing ABI changes within a particular SLOT. > > You're missing out on a brilliant opportunity to encourage developers > put in a bit more work to save users a huge amount of pain here. > Won't be possible to encourage developers to make that "bit" more work when that work is not so "bit". Of course, I understand there are probably some valid cases when situation can (and should) be improved, but I still fail to see the advantage of allowing parallel installation for glib, xorg-server... taking care their reverse dependencies simply need a rebuild to work with latest ABIs and, then, users should anyway need to remove that old slots once reverse deps are rebuilt against latest slot as we wouldn't support setups where people is lazy to rebuild and have, for example, x11 drivers built against xorg-server-1.9.5-r1 even having 1.11.2-r2 installed in parallel. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 17:40 ` Ciaran McCreesh 2012-06-07 17:55 ` Pacho Ramos @ 2012-06-07 18:03 ` Zac Medico 2012-06-07 18:08 ` Ciaran McCreesh 2012-06-07 18:16 ` Pacho Ramos 1 sibling, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-07 18:03 UTC (permalink / raw To: gentoo-dev On 06/07/2012 10:40 AM, Ciaran McCreesh wrote: > On Thu, 07 Jun 2012 09:43:32 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> I can imagine that ABI_SLOT operator deps will be a lot more popular >> than SLOT operator deps, since ABI_SLOT operator deps will accommodate >> the common practice of allowing ABI changes within a particular SLOT. > > You're missing out on a brilliant opportunity to encourage developers > put in a bit more work to save users a huge amount of pain here. What about cases like the dbus-glib and glib:2 dependency, where it's just too much trouble to use SLOT operator deps? Wouldn't it be better to have a little flexibility, so that we can accommodate more packages? As a workaround for SLOT operator deps, I suppose that glib:1 could be split into a separate glib-legacy package, in order to facilitate the use of SLOT operator dependencies in dbus-glib. That way, it would be easy to match glib-2.x and not have to worry about trying not to match glib-1.x. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:03 ` Zac Medico @ 2012-06-07 18:08 ` Ciaran McCreesh 2012-06-07 18:16 ` Pacho Ramos 1 sibling, 0 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 18:08 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 683 bytes --] On Thu, 07 Jun 2012 11:03:25 -0700 Zac Medico <zmedico@gentoo.org> wrote: > > You're missing out on a brilliant opportunity to encourage > > developers put in a bit more work to save users a huge amount of > > pain here. > > What about cases like the dbus-glib and glib:2 dependency, where it's > just too much trouble to use SLOT operator deps? Wouldn't it be better > to have a little flexibility, so that we can accommodate more > packages? Then if it really is "too much trouble", which is another way of saying "it's a thousand times more work for a developer to get it right than it is for a user to deal with it", you can use blockers. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:03 ` Zac Medico 2012-06-07 18:08 ` Ciaran McCreesh @ 2012-06-07 18:16 ` Pacho Ramos 2012-06-07 18:43 ` Pacho Ramos 1 sibling, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 18:16 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1274 bytes --] El jue, 07-06-2012 a las 11:03 -0700, Zac Medico escribió: > On 06/07/2012 10:40 AM, Ciaran McCreesh wrote: > > On Thu, 07 Jun 2012 09:43:32 -0700 > > Zac Medico <zmedico@gentoo.org> wrote: > >> I can imagine that ABI_SLOT operator deps will be a lot more popular > >> than SLOT operator deps, since ABI_SLOT operator deps will accommodate > >> the common practice of allowing ABI changes within a particular SLOT. > > > > You're missing out on a brilliant opportunity to encourage developers > > put in a bit more work to save users a huge amount of pain here. > > What about cases like the dbus-glib and glib:2 dependency, where it's > just too much trouble to use SLOT operator deps? Wouldn't it be better > to have a little flexibility, so that we can accommodate more packages? > > As a workaround for SLOT operator deps, I suppose that glib:1 could be > split into a separate glib-legacy package, in order to facilitate the > use of SLOT operator dependencies in dbus-glib. That way, it would be > easy to match glib-2.x and not have to worry about trying not to match > glib-1.x. I would prefer, as a workaround, allow reverse deps to RDEPEND on glib:2.* instead. That way it would cover more cases when more than two slots are available [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:16 ` Pacho Ramos @ 2012-06-07 18:43 ` Pacho Ramos 2012-06-07 18:44 ` Ciaran McCreesh 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 18:43 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1637 bytes --] El jue, 07-06-2012 a las 20:16 +0200, Pacho Ramos escribió: > El jue, 07-06-2012 a las 11:03 -0700, Zac Medico escribió: > > On 06/07/2012 10:40 AM, Ciaran McCreesh wrote: > > > On Thu, 07 Jun 2012 09:43:32 -0700 > > > Zac Medico <zmedico@gentoo.org> wrote: > > >> I can imagine that ABI_SLOT operator deps will be a lot more popular > > >> than SLOT operator deps, since ABI_SLOT operator deps will accommodate > > >> the common practice of allowing ABI changes within a particular SLOT. > > > > > > You're missing out on a brilliant opportunity to encourage developers > > > put in a bit more work to save users a huge amount of pain here. > > > > What about cases like the dbus-glib and glib:2 dependency, where it's > > just too much trouble to use SLOT operator deps? Wouldn't it be better > > to have a little flexibility, so that we can accommodate more packages? > > > > As a workaround for SLOT operator deps, I suppose that glib:1 could be > > split into a separate glib-legacy package, in order to facilitate the > > use of SLOT operator dependencies in dbus-glib. That way, it would be > > easy to match glib-2.x and not have to worry about trying not to match > > glib-1.x. > > I would prefer, as a workaround, allow reverse deps to RDEPEND on > glib:2.* instead. That way it would cover more cases when more than two > slots are available Well, per: http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b looks like "*" usage for SLOTs would be allowed :), or I am misinterpreting it? [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:43 ` Pacho Ramos @ 2012-06-07 18:44 ` Ciaran McCreesh 2012-06-07 19:00 ` Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 18:44 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 561 bytes --] On Thu, 07 Jun 2012 20:43:54 +0200 Pacho Ramos <pacho@gentoo.org> wrote: > > I would prefer, as a workaround, allow reverse deps to RDEPEND on > > glib:2.* instead. That way it would cover more cases when more than > > two slots are available > > Well, per: > http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > > looks like "*" usage for SLOTs would be allowed :), or I am > misinterpreting it? It's not a wildcard. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:44 ` Ciaran McCreesh @ 2012-06-07 19:00 ` Pacho Ramos 2012-06-07 19:09 ` Zac Medico 2012-06-07 19:14 ` Ian Stakenvicius 0 siblings, 2 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 19:00 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 878 bytes --] El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: > On Thu, 07 Jun 2012 20:43:54 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: > > > I would prefer, as a workaround, allow reverse deps to RDEPEND on > > > glib:2.* instead. That way it would cover more cases when more than > > > two slots are available > > > > Well, per: > > http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > > > > looks like "*" usage for SLOTs would be allowed :), or I am > > misinterpreting it? > > It's not a wildcard. > But it looks like a valid usage for cases like glib vs. dbus-glib/gobject-introspection I have exposed as example, and also allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not sure about others I could be missing now...) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:00 ` Pacho Ramos @ 2012-06-07 19:09 ` Zac Medico 2012-06-07 19:24 ` Pacho Ramos 2012-06-07 19:14 ` Ian Stakenvicius 1 sibling, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-07 19:09 UTC (permalink / raw To: gentoo-dev On 06/07/2012 12:00 PM, Pacho Ramos wrote: > El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: >> On Thu, 07 Jun 2012 20:43:54 +0200 >> Pacho Ramos <pacho@gentoo.org> wrote: >>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on >>>> glib:2.* instead. That way it would cover more cases when more than >>>> two slots are available >>> >>> Well, per: >>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b >>> >>> looks like "*" usage for SLOTs would be allowed :), or I am >>> misinterpreting it? >> >> It's not a wildcard. >> > > But it looks like a valid usage for cases like glib vs. > dbus-glib/gobject-introspection I have exposed as example, and also > allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not > sure about others I could be missing now...) The :* operator doesn't trigger any rebuilds though. Quoting the PMS patch that you linked: * Indicates that any slot value is acceptable. In addition, for runtime dependencies, indicates that the package will not break if the matched package is uninstalled and replaced by a different matching package in a different slot. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:09 ` Zac Medico @ 2012-06-07 19:24 ` Pacho Ramos 2012-06-07 19:33 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 19:24 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1754 bytes --] El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: > On 06/07/2012 12:00 PM, Pacho Ramos wrote: > > El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: > >> On Thu, 07 Jun 2012 20:43:54 +0200 > >> Pacho Ramos <pacho@gentoo.org> wrote: > >>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on > >>>> glib:2.* instead. That way it would cover more cases when more than > >>>> two slots are available > >>> > >>> Well, per: > >>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > >>> > >>> looks like "*" usage for SLOTs would be allowed :), or I am > >>> misinterpreting it? > >> > >> It's not a wildcard. > >> > > > > But it looks like a valid usage for cases like glib vs. > > dbus-glib/gobject-introspection I have exposed as example, and also > > allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not > > sure about others I could be missing now...) > > The :* operator doesn't trigger any rebuilds though. Quoting the PMS > patch that you linked: > > * Indicates that any slot value is acceptable. In addition, for runtime > dependencies, indicates that the package will not break if the matched > package is uninstalled and replaced by a different matching package in a > different slot. I mean, use it in conjunction with ":=", one for rebuild and other to indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to periodically update RDEPENDs or need to go back from :SLOT depends to old =category/package-version-* ways) Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue that arises with using only SLOTs for this) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:24 ` Pacho Ramos @ 2012-06-07 19:33 ` Zac Medico 2012-06-08 8:38 ` Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-07 19:33 UTC (permalink / raw To: gentoo-dev On 06/07/2012 12:24 PM, Pacho Ramos wrote: > El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: >> On 06/07/2012 12:00 PM, Pacho Ramos wrote: >>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: >>>> On Thu, 07 Jun 2012 20:43:54 +0200 >>>> Pacho Ramos <pacho@gentoo.org> wrote: >>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on >>>>>> glib:2.* instead. That way it would cover more cases when more than >>>>>> two slots are available >>>>> >>>>> Well, per: >>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b >>>>> >>>>> looks like "*" usage for SLOTs would be allowed :), or I am >>>>> misinterpreting it? >>>> >>>> It's not a wildcard. >>>> >>> >>> But it looks like a valid usage for cases like glib vs. >>> dbus-glib/gobject-introspection I have exposed as example, and also >>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not >>> sure about others I could be missing now...) >> >> The :* operator doesn't trigger any rebuilds though. Quoting the PMS >> patch that you linked: >> >> * Indicates that any slot value is acceptable. In addition, for runtime >> dependencies, indicates that the package will not break if the matched >> package is uninstalled and replaced by a different matching package in a >> different slot. > > I mean, use it in conjunction with ":=", one for rebuild and other to > indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to > periodically update RDEPENDs or need to go back from :SLOT depends to > old =category/package-version-* ways) > > Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue > that arises with using only SLOTs for this) What you're talking about here is more similar to ABI_SLOT operator deps than what was originally intended for SLOT operator deps. In other words, anyone who is opposed to ABI_SLOT operator deps is likely to also be opposed to your proposal. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:33 ` Zac Medico @ 2012-06-08 8:38 ` Pacho Ramos 2012-06-08 19:16 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-08 8:38 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2419 bytes --] El jue, 07-06-2012 a las 12:33 -0700, Zac Medico escribió: > On 06/07/2012 12:24 PM, Pacho Ramos wrote: > > El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: > >> On 06/07/2012 12:00 PM, Pacho Ramos wrote: > >>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: > >>>> On Thu, 07 Jun 2012 20:43:54 +0200 > >>>> Pacho Ramos <pacho@gentoo.org> wrote: > >>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on > >>>>>> glib:2.* instead. That way it would cover more cases when more than > >>>>>> two slots are available > >>>>> > >>>>> Well, per: > >>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > >>>>> > >>>>> looks like "*" usage for SLOTs would be allowed :), or I am > >>>>> misinterpreting it? > >>>> > >>>> It's not a wildcard. > >>>> > >>> > >>> But it looks like a valid usage for cases like glib vs. > >>> dbus-glib/gobject-introspection I have exposed as example, and also > >>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not > >>> sure about others I could be missing now...) > >> > >> The :* operator doesn't trigger any rebuilds though. Quoting the PMS > >> patch that you linked: > >> > >> * Indicates that any slot value is acceptable. In addition, for runtime > >> dependencies, indicates that the package will not break if the matched > >> package is uninstalled and replaced by a different matching package in a > >> different slot. > > > > I mean, use it in conjunction with ":=", one for rebuild and other to > > indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to > > periodically update RDEPENDs or need to go back from :SLOT depends to > > old =category/package-version-* ways) > > > > Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue > > that arises with using only SLOTs for this) > > What you're talking about here is more similar to ABI_SLOT operator deps > than what was originally intended for SLOT operator deps. In other > words, anyone who is opposed to ABI_SLOT operator deps is likely to also > be opposed to your proposal. Oh :(, and what is the reason to want to prevent this behavior? Looks much simpler to me than needing to use ranges for dependencies or needing to create "compat" packages to hide the problem :| [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-08 8:38 ` Pacho Ramos @ 2012-06-08 19:16 ` Zac Medico 2012-06-08 19:23 ` Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-08 19:16 UTC (permalink / raw To: gentoo-dev On 06/08/2012 01:38 AM, Pacho Ramos wrote: > El jue, 07-06-2012 a las 12:33 -0700, Zac Medico escribió: >> On 06/07/2012 12:24 PM, Pacho Ramos wrote: >>> El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: >>>> On 06/07/2012 12:00 PM, Pacho Ramos wrote: >>>>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: >>>>>> On Thu, 07 Jun 2012 20:43:54 +0200 >>>>>> Pacho Ramos <pacho@gentoo.org> wrote: >>>>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on >>>>>>>> glib:2.* instead. That way it would cover more cases when more than >>>>>>>> two slots are available >>>>>>> >>>>>>> Well, per: >>>>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b >>>>>>> >>>>>>> looks like "*" usage for SLOTs would be allowed :), or I am >>>>>>> misinterpreting it? >>>>>> >>>>>> It's not a wildcard. >>>>>> >>>>> >>>>> But it looks like a valid usage for cases like glib vs. >>>>> dbus-glib/gobject-introspection I have exposed as example, and also >>>>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not >>>>> sure about others I could be missing now...) >>>> >>>> The :* operator doesn't trigger any rebuilds though. Quoting the PMS >>>> patch that you linked: >>>> >>>> * Indicates that any slot value is acceptable. In addition, for runtime >>>> dependencies, indicates that the package will not break if the matched >>>> package is uninstalled and replaced by a different matching package in a >>>> different slot. >>> >>> I mean, use it in conjunction with ":=", one for rebuild and other to >>> indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to >>> periodically update RDEPENDs or need to go back from :SLOT depends to >>> old =category/package-version-* ways) >>> >>> Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue >>> that arises with using only SLOTs for this) >> >> What you're talking about here is more similar to ABI_SLOT operator deps >> than what was originally intended for SLOT operator deps. In other >> words, anyone who is opposed to ABI_SLOT operator deps is likely to also >> be opposed to your proposal. > > Oh :(, and what is the reason to want to prevent this behavior? Looks > much simpler to me than needing to use ranges for dependencies or > needing to create "compat" packages to hide the problem :| It's close enough to ABI_SLOT that it would make more sense just to use ABI_SLOT because it's more flexible. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-08 19:16 ` Zac Medico @ 2012-06-08 19:23 ` Pacho Ramos 2012-06-08 19:31 ` Ian Stakenvicius 2012-06-08 19:31 ` Zac Medico 0 siblings, 2 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-08 19:23 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2900 bytes --] El vie, 08-06-2012 a las 12:16 -0700, Zac Medico escribió: > On 06/08/2012 01:38 AM, Pacho Ramos wrote: > > El jue, 07-06-2012 a las 12:33 -0700, Zac Medico escribió: > >> On 06/07/2012 12:24 PM, Pacho Ramos wrote: > >>> El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: > >>>> On 06/07/2012 12:00 PM, Pacho Ramos wrote: > >>>>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: > >>>>>> On Thu, 07 Jun 2012 20:43:54 +0200 > >>>>>> Pacho Ramos <pacho@gentoo.org> wrote: > >>>>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on > >>>>>>>> glib:2.* instead. That way it would cover more cases when more than > >>>>>>>> two slots are available > >>>>>>> > >>>>>>> Well, per: > >>>>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > >>>>>>> > >>>>>>> looks like "*" usage for SLOTs would be allowed :), or I am > >>>>>>> misinterpreting it? > >>>>>> > >>>>>> It's not a wildcard. > >>>>>> > >>>>> > >>>>> But it looks like a valid usage for cases like glib vs. > >>>>> dbus-glib/gobject-introspection I have exposed as example, and also > >>>>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not > >>>>> sure about others I could be missing now...) > >>>> > >>>> The :* operator doesn't trigger any rebuilds though. Quoting the PMS > >>>> patch that you linked: > >>>> > >>>> * Indicates that any slot value is acceptable. In addition, for runtime > >>>> dependencies, indicates that the package will not break if the matched > >>>> package is uninstalled and replaced by a different matching package in a > >>>> different slot. > >>> > >>> I mean, use it in conjunction with ":=", one for rebuild and other to > >>> indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to > >>> periodically update RDEPENDs or need to go back from :SLOT depends to > >>> old =category/package-version-* ways) > >>> > >>> Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue > >>> that arises with using only SLOTs for this) > >> > >> What you're talking about here is more similar to ABI_SLOT operator deps > >> than what was originally intended for SLOT operator deps. In other > >> words, anyone who is opposed to ABI_SLOT operator deps is likely to also > >> be opposed to your proposal. > > > > Oh :(, and what is the reason to want to prevent this behavior? Looks > > much simpler to me than needing to use ranges for dependencies or > > needing to create "compat" packages to hide the problem :| > > It's close enough to ABI_SLOT that it would make more sense just to use > ABI_SLOT because it's more flexible. In that case, I think it's clear we need ABI_SLOT ;) The problem is how to document it in a way people agree with including it for eapi5 :| [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-08 19:23 ` Pacho Ramos @ 2012-06-08 19:31 ` Ian Stakenvicius 2012-06-08 19:31 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-08 19:31 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 08/06/12 03:23 PM, Pacho Ramos wrote: > El vie, 08-06-2012 a las 12:16 -0700, Zac Medico escribió: >> It's close enough to ABI_SLOT that it would make more sense just >> to use ABI_SLOT because it's more flexible. > > In that case, I think it's clear we need ABI_SLOT ;) The problem is > how to document it in a way people agree with including it for > eapi5 :| If there's too much resistance it could wait for EAPI=6 couldn't it? Essentially we'd all just agree that these issues, which ABI_SLOT will be needed to effectively resolve, will have to wait and we shouldn't do vast tree-wide workarounds like SLOT every library in existence and require all consumers to have ':=' slot operators on their deps. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iF4EAREIAAYFAk/SUwwACgkQ2ugaI38ACPCWtQEArkrEsVYa7/tJ8UT1pDBhDhsJ +jdMEsbJa++3bWat9TUA/1YoEaOp3cGShNDraFv+cLQl2Qf+hpz3K1AasJVstQwa =Nqw/ -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-08 19:23 ` Pacho Ramos 2012-06-08 19:31 ` Ian Stakenvicius @ 2012-06-08 19:31 ` Zac Medico 2012-06-09 10:46 ` Pacho Ramos 2012-06-09 12:15 ` Ciaran McCreesh 1 sibling, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-08 19:31 UTC (permalink / raw To: gentoo-dev On 06/08/2012 12:23 PM, Pacho Ramos wrote: > El vie, 08-06-2012 a las 12:16 -0700, Zac Medico escribió: >> On 06/08/2012 01:38 AM, Pacho Ramos wrote: >>> El jue, 07-06-2012 a las 12:33 -0700, Zac Medico escribió: >>>> On 06/07/2012 12:24 PM, Pacho Ramos wrote: >>>>> El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: >>>>>> On 06/07/2012 12:00 PM, Pacho Ramos wrote: >>>>>>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: >>>>>>>> On Thu, 07 Jun 2012 20:43:54 +0200 >>>>>>>> Pacho Ramos <pacho@gentoo.org> wrote: >>>>>>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on >>>>>>>>>> glib:2.* instead. That way it would cover more cases when more than >>>>>>>>>> two slots are available >>>>>>>>> >>>>>>>>> Well, per: >>>>>>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b >>>>>>>>> >>>>>>>>> looks like "*" usage for SLOTs would be allowed :), or I am >>>>>>>>> misinterpreting it? >>>>>>>> >>>>>>>> It's not a wildcard. >>>>>>>> >>>>>>> >>>>>>> But it looks like a valid usage for cases like glib vs. >>>>>>> dbus-glib/gobject-introspection I have exposed as example, and also >>>>>>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not >>>>>>> sure about others I could be missing now...) >>>>>> >>>>>> The :* operator doesn't trigger any rebuilds though. Quoting the PMS >>>>>> patch that you linked: >>>>>> >>>>>> * Indicates that any slot value is acceptable. In addition, for runtime >>>>>> dependencies, indicates that the package will not break if the matched >>>>>> package is uninstalled and replaced by a different matching package in a >>>>>> different slot. >>>>> >>>>> I mean, use it in conjunction with ":=", one for rebuild and other to >>>>> indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to >>>>> periodically update RDEPENDs or need to go back from :SLOT depends to >>>>> old =category/package-version-* ways) >>>>> >>>>> Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue >>>>> that arises with using only SLOTs for this) >>>> >>>> What you're talking about here is more similar to ABI_SLOT operator deps >>>> than what was originally intended for SLOT operator deps. In other >>>> words, anyone who is opposed to ABI_SLOT operator deps is likely to also >>>> be opposed to your proposal. >>> >>> Oh :(, and what is the reason to want to prevent this behavior? Looks >>> much simpler to me than needing to use ranges for dependencies or >>> needing to create "compat" packages to hide the problem :| >> >> It's close enough to ABI_SLOT that it would make more sense just to use >> ABI_SLOT because it's more flexible. > > In that case, I think it's clear we need ABI_SLOT ;) The problem is how > to document it in a way people agree with including it for eapi5 :| We can just write a specification for this one feature, and ask the Council to approve it. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-08 19:31 ` Zac Medico @ 2012-06-09 10:46 ` Pacho Ramos 2012-06-09 10:53 ` Pacho Ramos 2012-06-09 12:15 ` Ciaran McCreesh 1 sibling, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-09 10:46 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 3615 bytes --] El vie, 08-06-2012 a las 12:31 -0700, Zac Medico escribió: > On 06/08/2012 12:23 PM, Pacho Ramos wrote: > > El vie, 08-06-2012 a las 12:16 -0700, Zac Medico escribió: > >> On 06/08/2012 01:38 AM, Pacho Ramos wrote: > >>> El jue, 07-06-2012 a las 12:33 -0700, Zac Medico escribió: > >>>> On 06/07/2012 12:24 PM, Pacho Ramos wrote: > >>>>> El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: > >>>>>> On 06/07/2012 12:00 PM, Pacho Ramos wrote: > >>>>>>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: > >>>>>>>> On Thu, 07 Jun 2012 20:43:54 +0200 > >>>>>>>> Pacho Ramos <pacho@gentoo.org> wrote: > >>>>>>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on > >>>>>>>>>> glib:2.* instead. That way it would cover more cases when more than > >>>>>>>>>> two slots are available > >>>>>>>>> > >>>>>>>>> Well, per: > >>>>>>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > >>>>>>>>> > >>>>>>>>> looks like "*" usage for SLOTs would be allowed :), or I am > >>>>>>>>> misinterpreting it? > >>>>>>>> > >>>>>>>> It's not a wildcard. > >>>>>>>> > >>>>>>> > >>>>>>> But it looks like a valid usage for cases like glib vs. > >>>>>>> dbus-glib/gobject-introspection I have exposed as example, and also > >>>>>>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not > >>>>>>> sure about others I could be missing now...) > >>>>>> > >>>>>> The :* operator doesn't trigger any rebuilds though. Quoting the PMS > >>>>>> patch that you linked: > >>>>>> > >>>>>> * Indicates that any slot value is acceptable. In addition, for runtime > >>>>>> dependencies, indicates that the package will not break if the matched > >>>>>> package is uninstalled and replaced by a different matching package in a > >>>>>> different slot. > >>>>> > >>>>> I mean, use it in conjunction with ":=", one for rebuild and other to > >>>>> indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to > >>>>> periodically update RDEPENDs or need to go back from :SLOT depends to > >>>>> old =category/package-version-* ways) > >>>>> > >>>>> Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue > >>>>> that arises with using only SLOTs for this) > >>>> > >>>> What you're talking about here is more similar to ABI_SLOT operator deps > >>>> than what was originally intended for SLOT operator deps. In other > >>>> words, anyone who is opposed to ABI_SLOT operator deps is likely to also > >>>> be opposed to your proposal. > >>> > >>> Oh :(, and what is the reason to want to prevent this behavior? Looks > >>> much simpler to me than needing to use ranges for dependencies or > >>> needing to create "compat" packages to hide the problem :| > >> > >> It's close enough to ABI_SLOT that it would make more sense just to use > >> ABI_SLOT because it's more flexible. > > > > In that case, I think it's clear we need ABI_SLOT ;) The problem is how > > to document it in a way people agree with including it for eapi5 :| > > We can just write a specification for this one feature, and ask the > Council to approve it. That would be nice, if you remember, I started with "elog/ecommand splitting solution" to try to get this long standing issue solved "soon" and, since looks like each eapi takes more than a year to complete, I would really prefer to see it included in eapi5, specially after seeing that this "ABI_SLOT" idea was suggested years ago but the issue stalled later multiple times [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-09 10:46 ` Pacho Ramos @ 2012-06-09 10:53 ` Pacho Ramos 0 siblings, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-09 10:53 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 4184 bytes --] El sáb, 09-06-2012 a las 12:46 +0200, Pacho Ramos escribió: > El vie, 08-06-2012 a las 12:31 -0700, Zac Medico escribió: > > On 06/08/2012 12:23 PM, Pacho Ramos wrote: > > > El vie, 08-06-2012 a las 12:16 -0700, Zac Medico escribió: > > >> On 06/08/2012 01:38 AM, Pacho Ramos wrote: > > >>> El jue, 07-06-2012 a las 12:33 -0700, Zac Medico escribió: > > >>>> On 06/07/2012 12:24 PM, Pacho Ramos wrote: > > >>>>> El jue, 07-06-2012 a las 12:09 -0700, Zac Medico escribió: > > >>>>>> On 06/07/2012 12:00 PM, Pacho Ramos wrote: > > >>>>>>> El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: > > >>>>>>>> On Thu, 07 Jun 2012 20:43:54 +0200 > > >>>>>>>> Pacho Ramos <pacho@gentoo.org> wrote: > > >>>>>>>>>> I would prefer, as a workaround, allow reverse deps to RDEPEND on > > >>>>>>>>>> glib:2.* instead. That way it would cover more cases when more than > > >>>>>>>>>> two slots are available > > >>>>>>>>> > > >>>>>>>>> Well, per: > > >>>>>>>>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b > > >>>>>>>>> > > >>>>>>>>> looks like "*" usage for SLOTs would be allowed :), or I am > > >>>>>>>>> misinterpreting it? > > >>>>>>>> > > >>>>>>>> It's not a wildcard. > > >>>>>>>> > > >>>>>>> > > >>>>>>> But it looks like a valid usage for cases like glib vs. > > >>>>>>> dbus-glib/gobject-introspection I have exposed as example, and also > > >>>>>>> allows us to keep "SLOT" over "ABI_SLOT" (at least for this case, not > > >>>>>>> sure about others I could be missing now...) > > >>>>>> > > >>>>>> The :* operator doesn't trigger any rebuilds though. Quoting the PMS > > >>>>>> patch that you linked: > > >>>>>> > > >>>>>> * Indicates that any slot value is acceptable. In addition, for runtime > > >>>>>> dependencies, indicates that the package will not break if the matched > > >>>>>> package is uninstalled and replaced by a different matching package in a > > >>>>>> different slot. > > >>>>> > > >>>>> I mean, use it in conjunction with ":=", one for rebuild and other to > > >>>>> indicate any 2.x SLOT fits the "normal" RDEPEND (to not need to > > >>>>> periodically update RDEPENDs or need to go back from :SLOT depends to > > >>>>> old =category/package-version-* ways) > > >>>>> > > >>>>> Allowing that, we wouldn't need ABI_SLOT (at least to prevent this issue > > >>>>> that arises with using only SLOTs for this) > > >>>> > > >>>> What you're talking about here is more similar to ABI_SLOT operator deps > > >>>> than what was originally intended for SLOT operator deps. In other > > >>>> words, anyone who is opposed to ABI_SLOT operator deps is likely to also > > >>>> be opposed to your proposal. > > >>> > > >>> Oh :(, and what is the reason to want to prevent this behavior? Looks > > >>> much simpler to me than needing to use ranges for dependencies or > > >>> needing to create "compat" packages to hide the problem :| > > >> > > >> It's close enough to ABI_SLOT that it would make more sense just to use > > >> ABI_SLOT because it's more flexible. > > > > > > In that case, I think it's clear we need ABI_SLOT ;) The problem is how > > > to document it in a way people agree with including it for eapi5 :| > > > > We can just write a specification for this one feature, and ask the > > Council to approve it. > > That would be nice, if you remember, I started with "elog/ecommand > splitting solution" to try to get this long standing issue solved "soon" > and, since looks like each eapi takes more than a year to complete, I > would really prefer to see it included in eapi5, specially after seeing > that this "ABI_SLOT" idea was suggested years ago but the issue stalled > later multiple times Also, taking into account that all affected packages should start migrating to eapi5 to really allow us to stop needing to use current "tricks", would be much better to start as soon as possible instead of waiting for another eapi cycle, that would delay "real solution" (I mean, new eapi used by all affected packages in the tree) even more months (or years) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-08 19:31 ` Zac Medico 2012-06-09 10:46 ` Pacho Ramos @ 2012-06-09 12:15 ` Ciaran McCreesh 2012-06-09 20:55 ` Zac Medico 1 sibling, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-09 12:15 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 428 bytes --] On Fri, 08 Jun 2012 12:31:55 -0700 Zac Medico <zmedico@gentoo.org> wrote: > We can just write a specification for this one feature, and ask the > Council to approve it. The last feature someone did that way was REQUIRED_USE, and we all know how that turned out... What you *should* do is get an implementation, then try converting lots of ebuilds with and without being able to use ABI_SLOT. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-09 12:15 ` Ciaran McCreesh @ 2012-06-09 20:55 ` Zac Medico 2012-06-10 12:25 ` Ciaran McCreesh 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-09 20:55 UTC (permalink / raw To: gentoo-dev; +Cc: pacho On 06/09/2012 05:15 AM, Ciaran McCreesh wrote: > On Fri, 08 Jun 2012 12:31:55 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> We can just write a specification for this one feature, and ask the >> Council to approve it. > > The last feature someone did that way was REQUIRED_USE, and we all know > how that turned out... > > What you *should* do is get an implementation, then try converting lots > of ebuilds with and without being able to use ABI_SLOT. Okay, so let's create an ABI_SLOT operator specification, just for testing purposes. In order to keep things as simple as possible, let's make our model as close as possible to the existing SLOT operator model. Ebuilds that do not define ABI_SLOT will be considered to have an implicit ABI_SLOT value that is equal to their SLOT value. This way, ABI_SLOT operator deps will behave identically to SLOT operator deps when ABI_SLOT is undefined. A dependency atom will have optional SLOT and ABI_SLOT parts. Using the dbus-glib depedency on glib:2 as an example [1], the dbus-glib dependency will be expressed with an atom such as dev-libs/glib:2:= and the package manager will translate that atom to dev-libs/glib:2:=2.32 at build time. So, ':' is always used to distinguish SLOT deps, and ':=' is always used to distinguish ABI_SLOT deps. Is that syntax good? [1] http://archives.gentoo.org/gentoo-dev/msg_9f2d42da278f4815f2bfe57bfc5c2de5.xml -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-09 20:55 ` Zac Medico @ 2012-06-10 12:25 ` Ciaran McCreesh 2012-06-10 12:45 ` Davide Pesavento ` (3 more replies) 0 siblings, 4 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-10 12:25 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 822 bytes --] On Sat, 09 Jun 2012 13:55:53 -0700 Zac Medico <zmedico@gentoo.org> wrote: > A dependency atom will have optional SLOT and ABI_SLOT parts. Using > the dbus-glib depedency on glib:2 as an example [1], the dbus-glib > dependency will be expressed with an atom such as dev-libs/glib:2:= > and the package manager will translate that atom to > dev-libs/glib:2:=2.32 at build time. So, ':' is always used to > distinguish SLOT deps, and ':=' is always used to distinguish > ABI_SLOT deps. Is that syntax good? Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". Then you can do explicit :2/2.32 dependencies if you like, or :2 (which would match SLOT="2" or SLOT="2/anything"), or :2= (which gets rewritten to :2/2.32=) or :2*. If an ebuild does SLOT="2", it's treated as 2/2. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 12:25 ` Ciaran McCreesh @ 2012-06-10 12:45 ` Davide Pesavento 2012-06-10 13:07 ` Ian Stakenvicius 2012-06-10 18:18 ` Zac Medico ` (2 subsequent siblings) 3 siblings, 1 reply; 114+ messages in thread From: Davide Pesavento @ 2012-06-10 12:45 UTC (permalink / raw To: gentoo-dev On Sun, Jun 10, 2012 at 2:25 PM, Ciaran McCreesh <ciaran.mccreesh@googlemail.com> wrote: > On Sat, 09 Jun 2012 13:55:53 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> A dependency atom will have optional SLOT and ABI_SLOT parts. Using >> the dbus-glib depedency on glib:2 as an example [1], the dbus-glib >> dependency will be expressed with an atom such as dev-libs/glib:2:= >> and the package manager will translate that atom to >> dev-libs/glib:2:=2.32 at build time. So, ':' is always used to >> distinguish SLOT deps, and ':=' is always used to distinguish >> ABI_SLOT deps. Is that syntax good? > > Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". Then you > can do explicit :2/2.32 dependencies if you like, or :2 (which would > match SLOT="2" or SLOT="2/anything"), or :2= (which gets rewritten > to :2/2.32=) or :2*. If an ebuild does SLOT="2", it's treated as 2/2. > I was going to propose a very similar syntax, i.e. using a slash to separate the regular SLOT part from the new ABI part, so +1 for Ciaran's proposal. Thanks, Pesa ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 12:45 ` Davide Pesavento @ 2012-06-10 13:07 ` Ian Stakenvicius 0 siblings, 0 replies; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-10 13:07 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 10/06/12 08:45 AM, Davide Pesavento wrote: > On Sun, Jun 10, 2012 at 2:25 PM, Ciaran McCreesh > <ciaran.mccreesh@googlemail.com> wrote: >> On Sat, 09 Jun 2012 13:55:53 -0700 Zac Medico >> <zmedico@gentoo.org> wrote: >>> A dependency atom will have optional SLOT and ABI_SLOT parts. >>> Using the dbus-glib depedency on glib:2 as an example [1], the >>> dbus-glib dependency will be expressed with an atom such as >>> dev-libs/glib:2:= and the package manager will translate that >>> atom to dev-libs/glib:2:=2.32 at build time. So, ':' is always >>> used to distinguish SLOT deps, and ':=' is always used to >>> distinguish ABI_SLOT deps. Is that syntax good? >> >> Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". >> Then you can do explicit :2/2.32 dependencies if you like, or :2 >> (which would match SLOT="2" or SLOT="2/anything"), or :2= (which >> gets rewritten to :2/2.32=) or :2*. If an ebuild does SLOT="2", >> it's treated as 2/2. >> > > I was going to propose a very similar syntax, i.e. using a slash > to separate the regular SLOT part from the new ABI part, so +1 for > Ciaran's proposal. > > Thanks, Pesa > This looks very promising -- then for libs where we only want to support one API, we could still use SLOT=0 via (ie for libpng) SLOT="0/1.5" +1 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iF4EAREIAAYFAk/Um/YACgkQ2ugaI38ACPDuDwD9F0mLVsh1rwUufL2HCB0Jjl2b KkNa5z9I4s6lDQmPdIoBAKlPBrtN4C87qFjeJRBkytJvRn8ZF82kSQ0R7ik3UPqc =EYRI -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 12:25 ` Ciaran McCreesh 2012-06-10 12:45 ` Davide Pesavento @ 2012-06-10 18:18 ` Zac Medico 2012-06-24 0:42 ` Zac Medico 2012-06-10 19:17 ` [gentoo-dev] About forcing rebuilds of other packages issue Pacho Ramos 2012-06-10 22:49 ` Brian Harring 3 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-10 18:18 UTC (permalink / raw To: gentoo-dev On 06/10/2012 05:25 AM, Ciaran McCreesh wrote: > On Sat, 09 Jun 2012 13:55:53 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> A dependency atom will have optional SLOT and ABI_SLOT parts. Using >> the dbus-glib depedency on glib:2 as an example [1], the dbus-glib >> dependency will be expressed with an atom such as dev-libs/glib:2:= >> and the package manager will translate that atom to >> dev-libs/glib:2:=2.32 at build time. So, ':' is always used to >> distinguish SLOT deps, and ':=' is always used to distinguish >> ABI_SLOT deps. Is that syntax good? > > Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". Then you > can do explicit :2/2.32 dependencies if you like, or :2 (which would > match SLOT="2" or SLOT="2/anything"), or :2= (which gets rewritten > to :2/2.32=) or :2*. If an ebuild does SLOT="2", it's treated as 2/2. Yes, I prefer your syntax. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 18:18 ` Zac Medico @ 2012-06-24 0:42 ` Zac Medico 2012-06-25 13:03 ` Ian Stakenvicius 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-24 0:42 UTC (permalink / raw To: gentoo-dev On 06/10/2012 11:18 AM, Zac Medico wrote: > On 06/10/2012 05:25 AM, Ciaran McCreesh wrote: >> On Sat, 09 Jun 2012 13:55:53 -0700 >> Zac Medico <zmedico@gentoo.org> wrote: >>> A dependency atom will have optional SLOT and ABI_SLOT parts. Using >>> the dbus-glib depedency on glib:2 as an example [1], the dbus-glib >>> dependency will be expressed with an atom such as dev-libs/glib:2:= >>> and the package manager will translate that atom to >>> dev-libs/glib:2:=2.32 at build time. So, ':' is always used to >>> distinguish SLOT deps, and ':=' is always used to distinguish >>> ABI_SLOT deps. Is that syntax good? >> >> Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". Then you >> can do explicit :2/2.32 dependencies if you like, or :2 (which would >> match SLOT="2" or SLOT="2/anything"), or :2= (which gets rewritten >> to :2/2.32=) or :2*. If an ebuild does SLOT="2", it's treated as 2/2. > > Yes, I prefer your syntax. In portage-2.1.11.1 and 2.2.0_alpha112 I’ve added support for EAPI “4-slot-abi”: http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-24 0:42 ` Zac Medico @ 2012-06-25 13:03 ` Ian Stakenvicius 2012-06-25 17:58 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-25 13:03 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 23/06/12 08:42 PM, Zac Medico wrote: > On 06/10/2012 11:18 AM, Zac Medico wrote: >> On 06/10/2012 05:25 AM, Ciaran McCreesh wrote: >>> On Sat, 09 Jun 2012 13:55:53 -0700 Zac Medico >>> <zmedico@gentoo.org> wrote: >>>> A dependency atom will have optional SLOT and ABI_SLOT parts. >>>> Using the dbus-glib depedency on glib:2 as an example [1], >>>> the dbus-glib dependency will be expressed with an atom such >>>> as dev-libs/glib:2:= and the package manager will translate >>>> that atom to dev-libs/glib:2:=2.32 at build time. So, ':' is >>>> always used to distinguish SLOT deps, and ':=' is always used >>>> to distinguish ABI_SLOT deps. Is that syntax good? >>> >>> Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". >>> Then you can do explicit :2/2.32 dependencies if you like, or >>> :2 (which would match SLOT="2" or SLOT="2/anything"), or :2= >>> (which gets rewritten to :2/2.32=) or :2*. If an ebuild does >>> SLOT="2", it's treated as 2/2. >> >> Yes, I prefer your syntax. > > In portage-2.1.11.1 and 2.2.0_alpha112 I’ve added support for EAPI > “4-slot-abi”: > > > http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ Does > anyone have a fork of the tree that's being converted to test this new functionality? If so I'd like to sign up. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iF4EAREIAAYFAk/oYYcACgkQ2ugaI38ACPBZ3QEAkXXOmiTdC/7Hgl84c2oSlwbM 5YNUbcgh6wI59FTCAboA/RGdo1YptVCvmHYlyvJ2VKNY98pq2g+FKhY1T7SAbrlo =hXfd -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-25 13:03 ` Ian Stakenvicius @ 2012-06-25 17:58 ` Zac Medico 2012-06-27 19:38 ` Ian Stakenvicius 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-25 17:58 UTC (permalink / raw To: gentoo-dev On 06/25/2012 06:03 AM, Ian Stakenvicius wrote: > On 23/06/12 08:42 PM, Zac Medico wrote: >> On 06/10/2012 11:18 AM, Zac Medico wrote: >>> On 06/10/2012 05:25 AM, Ciaran McCreesh wrote: >>>> On Sat, 09 Jun 2012 13:55:53 -0700 Zac Medico >>>> <zmedico@gentoo.org> wrote: >>>>> A dependency atom will have optional SLOT and ABI_SLOT parts. >>>>> Using the dbus-glib depedency on glib:2 as an example [1], >>>>> the dbus-glib dependency will be expressed with an atom such >>>>> as dev-libs/glib:2:= and the package manager will translate >>>>> that atom to dev-libs/glib:2:=2.32 at build time. So, ':' is >>>>> always used to distinguish SLOT deps, and ':=' is always used >>>>> to distinguish ABI_SLOT deps. Is that syntax good? >>>> >>>> Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". >>>> Then you can do explicit :2/2.32 dependencies if you like, or >>>> :2 (which would match SLOT="2" or SLOT="2/anything"), or :2= >>>> (which gets rewritten to :2/2.32=) or :2*. If an ebuild does >>>> SLOT="2", it's treated as 2/2. >>> >>> Yes, I prefer your syntax. > >> In portage-2.1.11.1 and 2.2.0_alpha112 I’ve added support for EAPI >> “4-slot-abi”: > > >> http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ > > > Does > > anyone have a fork of the tree that's being converted to test > this new functionality? If so I'd like to sign up. That would be nice to have, but I haven't heard of anyone doing it yet. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-25 17:58 ` Zac Medico @ 2012-06-27 19:38 ` Ian Stakenvicius 2012-06-30 8:46 ` [gentoo-dev] About forcing rebuilds of perl modules Torsten Veller 0 siblings, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-27 19:38 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 25/06/12 01:58 PM, Zac Medico wrote: > On 06/25/2012 06:03 AM, Ian Stakenvicius wrote: >> On 23/06/12 08:42 PM, Zac Medico wrote: >>> On 06/10/2012 11:18 AM, Zac Medico wrote: >>>> On 06/10/2012 05:25 AM, Ciaran McCreesh wrote: >>>>> On Sat, 09 Jun 2012 13:55:53 -0700 Zac Medico >>>>> <zmedico@gentoo.org> wrote: >>>>>> A dependency atom will have optional SLOT and ABI_SLOT >>>>>> parts. Using the dbus-glib depedency on glib:2 as an >>>>>> example [1], the dbus-glib dependency will be expressed >>>>>> with an atom such as dev-libs/glib:2:= and the package >>>>>> manager will translate that atom to dev-libs/glib:2:=2.32 >>>>>> at build time. So, ':' is always used to distinguish SLOT >>>>>> deps, and ':=' is always used to distinguish ABI_SLOT >>>>>> deps. Is that syntax good? >>>>> >>>>> Here's a nicer syntax: no ABI_SLOT variable, and >>>>> SLOT="2/2.32". Then you can do explicit :2/2.32 >>>>> dependencies if you like, or :2 (which would match SLOT="2" >>>>> or SLOT="2/anything"), or :2= (which gets rewritten to >>>>> :2/2.32=) or :2*. If an ebuild does SLOT="2", it's treated >>>>> as 2/2. >>>> >>>> Yes, I prefer your syntax. >> >>> In portage-2.1.11.1 and 2.2.0_alpha112 I’ve added support for >>> EAPI “4-slot-abi”: >> >> >>> http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ >> >> >> >>> Does >> >> anyone have a fork of the tree that's being converted to test >> this new functionality? If so I'd like to sign up. > > That would be nice to have, but I haven't heard of anyone doing it > yet. Well, I am now. If anyone wants to test, i'm going to make an attempt to keep the following overlay in sync with the main tree within a 24-hour delay (excluding weekends). git://git.overlays.gentoo.org/dev/axs.git FYI, all the work subslotting the perl stuff doesn't work yet, so it's probably best to wait a few days before trying it out. Sorry, no means of bug reporting on any of this yet (ie, don't file on b.g.o about it), but i'm in #-dev on freenode most weekdays. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAk/rYTgACgkQ2ugaI38ACPAOvwD/WBqDNCnCJLZw+2302SJOZzO4 cDYOcr3nNk5JeMVz1YAA/jrllZuqcl2skF0WBf4ku8Jb8dsTucddqB3SarxSBB25 =Efzw -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* [gentoo-dev] About forcing rebuilds of perl modules 2012-06-27 19:38 ` Ian Stakenvicius @ 2012-06-30 8:46 ` Torsten Veller 2012-06-30 9:30 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Torsten Veller @ 2012-06-30 8:46 UTC (permalink / raw To: gentoo-dev * Ian Stakenvicius <axs@gentoo.org>: > FYI, all the work subslotting the perl stuff doesn't work yet, so it's > probably best to wait a few days before trying it out. Perl modules have to be rebuilt if dev-lang/perl's useflags are changed. That would make dev-lang/perl's SLOT depend on users USE flags settings which is forbidden. Or will it work for sub-slot part? SLOT="0/5.16(?ithreads:-ithreads)(?debug:-debug)" -- Thanks Torsten ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of perl modules 2012-06-30 8:46 ` [gentoo-dev] About forcing rebuilds of perl modules Torsten Veller @ 2012-06-30 9:30 ` Zac Medico 2012-06-30 17:12 ` Ian Stakenvicius 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-30 9:30 UTC (permalink / raw To: gentoo-dev On 06/30/2012 01:46 AM, Torsten Veller wrote: > * Ian Stakenvicius <axs@gentoo.org>: >> FYI, all the work subslotting the perl stuff doesn't work yet, so it's >> probably best to wait a few days before trying it out. > > Perl modules have to be rebuilt if dev-lang/perl's useflags are changed. > > That would make dev-lang/perl's SLOT depend on users USE flags settings which > is forbidden. Or will it work for sub-slot part? > SLOT="0/5.16(?ithreads:-ithreads)(?debug:-debug)" Maybe this useflags synchronization thing is best managed with the existing USE deps support? So, if something interacts with perls ithreads and debug flags, its dependency should be something like dev-lang/perl[ithreads=][debug=]. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of perl modules 2012-06-30 9:30 ` Zac Medico @ 2012-06-30 17:12 ` Ian Stakenvicius 2012-07-07 1:17 ` Kent Fredric 0 siblings, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-30 17:12 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 30/06/12 05:30 AM, Zac Medico wrote: > On 06/30/2012 01:46 AM, Torsten Veller wrote: >> * Ian Stakenvicius <axs@gentoo.org>: >>> FYI, all the work subslotting the perl stuff doesn't work yet, >>> so it's probably best to wait a few days before trying it out. >> >> Perl modules have to be rebuilt if dev-lang/perl's useflags are >> changed. >> >> That would make dev-lang/perl's SLOT depend on users USE flags >> settings which is forbidden. Or will it work for sub-slot part? >> SLOT="0/5.16(?ithreads:-ithreads)(?debug:-debug)" > > Maybe this useflags synchronization thing is best managed with the > existing USE deps support? So, if something interacts with perls > ithreads and debug flags, its dependency should be something like > dev-lang/perl[ithreads=][debug=]. I think this makes a lot of sense too -- use-flag synchronization would probably be best handled outside of SLOT, otherwise we'd have to implement dynamic slots to get this properly supported. Now, that being said, it might be worthwhile if perl-module was expanded a bit in relation to the *DEPEND it adds -- having a PERL_MODULE_USES var or something, that could automatically append to IUSE (if necessary) and set the use-deps on dev-lang/perl, would make this a fairly simple implementation I think. Do all packages need to be rebuilt when some of these use flags change? Maybe auto-appending those particular flags (ithreads, debug) to IUSE and putting them on the dev-lang/perl dep is all that'll be needed, if this is the case. - ----- On an semi-related note, I have noticed that there are a fair number of ebuilds in the tree that are using perl-module at EAPI=4 and have 'perl? (dev-lang/perl)' in *DEPEND, but are not setting GENTOO_DEPEND_ON_PERL=no before their inherit (and so perl is ALWAYS a dep). I'm thinking of filing bugs against all of these... - ----- Finally, thanks for testing!! I hope to improve the overlay a bit by the middle of next week, including a script that'll patch /var/db/pkg to simulate 4-slot-abi always existing (so one doesn't have to emerge - -e @world to get their environment ready to test). -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAk/vM28ACgkQ2ugaI38ACPAXlAD+KvzYGYMaTbgYS3eT6ADGzhEv 4+ehZ4PQ+9fNEyBMpn8A/2GXQqWY9erx+Dd8FL/jwk8KbReJoMwfffPEWCe38rfW =4DDP -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of perl modules 2012-06-30 17:12 ` Ian Stakenvicius @ 2012-07-07 1:17 ` Kent Fredric 2012-07-07 4:40 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Kent Fredric @ 2012-07-07 1:17 UTC (permalink / raw To: gentoo-dev On 1 July 2012 05:12, Ian Stakenvicius <axs@gentoo.org> wrote: > Do all packages need to be rebuilt when some of these use flags > change? Maybe auto-appending those particular flags (ithreads, debug) > to IUSE and putting them on the dev-lang/perl dep is all that'll be > needed, if this is the case. Not all packages need rebuilding, but *every* package with XS parts need rebuilding, as code built with DEBUG/ITHREADS enabled will not execute on perls with different DEBUG/ITHREADS options. ( And as a preventative measure, they're installed in entirely different dirs ) @INC: /etc/perl /usr/local/lib64/perl5/5.16.0/x86_64-linux <- binary /usr/local/lib64/perl5/5.16.0 /usr/lib64/perl5/vendor_perl/5.16.0/x86_64-linux <-- binary /usr/lib64/perl5/vendor_perl/5.16.0 /usr/lib64/perl5/5.16.0/x86_64-linux <-- binary /usr/lib64/perl5/5.16.0 . . ( At least, the dir name switching used to be a thing, I can't see it in the code anymore so I could be wrong, I don't tend to twiddle those USE flags often ) Also, it would appear that in some cases ( ie: dev-perl/Mouse ) , they don't install any binary code , but the .pm files themselves are installed into the x86_64-linux folder, which, if that path is removed from @INC when you rebuild perl with different USE flags, will break them, despite not having any binary code. But either way, if "SlotABI" is supposed to convey "A change that can occur to a package that means other packages that were built on it need to be rebuilt" , then this is something we need. -- Kent perl -e "print substr( \"edrgmaM SPA NOcomil.ic\\@tfrken\", \$_ * 3, 3 ) for ( 9,8,0,7,1,6,5,4,3,2 );" http://kent-fredric.fox.geek.nz ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of perl modules 2012-07-07 1:17 ` Kent Fredric @ 2012-07-07 4:40 ` Zac Medico 0 siblings, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-07-07 4:40 UTC (permalink / raw To: gentoo-dev On 07/06/2012 06:17 PM, Kent Fredric wrote: > But either way, if "SlotABI" is supposed to convey "A change that can > occur to a package that means other packages that were built on it > need to be rebuilt" , then this is something we need. Much like SLOT, SLOT/ABI-sub-slot as it's implemented in EAPI 4-slot-abi [1] is intended to correlate to some extent with the package version. Rebuilds involving USE changes have already been supported since EAPI 2 via USE deps. With existing versions of portage, you have to run something like `emerge --newuse -uD @world` to ensure that everything is rebuilt to match current USE settings. However, it would be fairly easy to make emerge more pro-active about triggering rebuilds to satisfy reverse USE dependencies when necessary. [1] http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 12:25 ` Ciaran McCreesh 2012-06-10 12:45 ` Davide Pesavento 2012-06-10 18:18 ` Zac Medico @ 2012-06-10 19:17 ` Pacho Ramos 2012-06-10 22:49 ` Brian Harring 3 siblings, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-10 19:17 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 919 bytes --] El dom, 10-06-2012 a las 13:25 +0100, Ciaran McCreesh escribió: > On Sat, 09 Jun 2012 13:55:53 -0700 > Zac Medico <zmedico@gentoo.org> wrote: > > A dependency atom will have optional SLOT and ABI_SLOT parts. Using > > the dbus-glib depedency on glib:2 as an example [1], the dbus-glib > > dependency will be expressed with an atom such as dev-libs/glib:2:= > > and the package manager will translate that atom to > > dev-libs/glib:2:=2.32 at build time. So, ':' is always used to > > distinguish SLOT deps, and ':=' is always used to distinguish > > ABI_SLOT deps. Is that syntax good? > > Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". Then you > can do explicit :2/2.32 dependencies if you like, or :2 (which would > match SLOT="2" or SLOT="2/anything"), or :2= (which gets rewritten > to :2/2.32=) or :2*. If an ebuild does SLOT="2", it's treated as 2/2. > Looks nice to me :) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 12:25 ` Ciaran McCreesh ` (2 preceding siblings ...) 2012-06-10 19:17 ` [gentoo-dev] About forcing rebuilds of other packages issue Pacho Ramos @ 2012-06-10 22:49 ` Brian Harring 2012-06-12 15:26 ` Ian Stakenvicius 3 siblings, 1 reply; 114+ messages in thread From: Brian Harring @ 2012-06-10 22:49 UTC (permalink / raw To: gentoo-dev On Sun, Jun 10, 2012 at 01:25:55PM +0100, Ciaran McCreesh wrote: > On Sat, 09 Jun 2012 13:55:53 -0700 > Zac Medico <zmedico@gentoo.org> wrote: > > A dependency atom will have optional SLOT and ABI_SLOT parts. Using > > the dbus-glib depedency on glib:2 as an example [1], the dbus-glib > > dependency will be expressed with an atom such as dev-libs/glib:2:= > > and the package manager will translate that atom to > > dev-libs/glib:2:=2.32 at build time. So, ':' is always used to > > distinguish SLOT deps, and ':=' is always used to distinguish > > ABI_SLOT deps. Is that syntax good? > > Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". Hate the slash; just looks ugly to me (so starts the bikeshed). Sans that naggle, notions fine however; not sure I'm a fan of people being able to specify the exact ABI they need from an ebuild while it's in source form, but may be of use for emul-* packages. ~harring ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-10 22:49 ` Brian Harring @ 2012-06-12 15:26 ` Ian Stakenvicius 0 siblings, 0 replies; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-12 15:26 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 10/06/12 06:49 PM, Brian Harring wrote: > On Sun, Jun 10, 2012 at 01:25:55PM +0100, Ciaran McCreesh wrote: >> On Sat, 09 Jun 2012 13:55:53 -0700 Zac Medico >> <zmedico@gentoo.org> wrote: >>> A dependency atom will have optional SLOT and ABI_SLOT parts. >>> Using the dbus-glib depedency on glib:2 as an example [1], the >>> dbus-glib dependency will be expressed with an atom such as >>> dev-libs/glib:2:= and the package manager will translate that >>> atom to dev-libs/glib:2:=2.32 at build time. So, ':' is always >>> used to distinguish SLOT deps, and ':=' is always used to >>> distinguish ABI_SLOT deps. Is that syntax good? >> >> Here's a nicer syntax: no ABI_SLOT variable, and SLOT="2/2.32". > > Hate the slash; just looks ugly to me (so starts the bikeshed). > > Sans that naggle, notions fine however; not sure I'm a fan of > people being able to specify the exact ABI they need from an ebuild > while it's in source form, but may be of use for emul-* packages. > > ~harring > It's power will come from detection of the different SLOT= assignment between ebuilds of a particular library package. I don't forsee that there is going to be very much usage of the '/[ABI]' part in *DEPEND. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iF4EAREIAAYFAk/XX7QACgkQ2ugaI38ACPDo6QD/XqsVP0UWmLrzxwFF1f2W6UsM aA3wM6aqYX+wc+uHGTAA/jk8jz6kCs5rEudSWWXYndg6LEKp1Rj+YC/C7tLlk9uW =tDdT -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:00 ` Pacho Ramos 2012-06-07 19:09 ` Zac Medico @ 2012-06-07 19:14 ` Ian Stakenvicius 2012-06-07 19:15 ` Ciaran McCreesh 1 sibling, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-06-07 19:14 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 07/06/12 03:00 PM, Pacho Ramos wrote: > El jue, 07-06-2012 a las 19:44 +0100, Ciaran McCreesh escribió: >> On Thu, 07 Jun 2012 20:43:54 +0200 Pacho Ramos <pacho@gentoo.org> >> wrote: >>>> I would prefer, as a workaround, allow reverse deps to >>>> RDEPEND on glib:2.* instead. That way it would cover more >>>> cases when more than two slots are available >>> >>> Well, per: >>> http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=f9f7729c047300e1924ad768a49c660e12c2f906;hp=b7750e67b4772c1064543defb7df6a556f09807b >>> >>> >>> looks like "*" usage for SLOTs would be allowed :), or I am >>> misinterpreting it? >> >> It's not a wildcard. >> > > But it looks like a valid usage for cases like glib vs. > dbus-glib/gobject-introspection I have exposed as example, and > also allows us to keep "SLOT" over "ABI_SLOT" (at least for this > case, not sure about others I could be missing now...) How is the case of something like libpng going to be handled, where we only support one API (and so only one SLOT)? Either in the proposed ABI_SLOT thing or when using slot operators? For the slot-operator case, will every consumer of libpng be forced to change their dep to libpng:= to ensure they get rebuilt when libpng bumps from 1.5 to 1.6?? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iF4EAREIAAYFAk/Q/XsACgkQ2ugaI38ACPCxWQEAgkx7C2PBK/awXvfA3RFolZQD 2K7G7cBboDvDexn/JogA/0W/ke62zz7Mtk/i6WLATIaUYRQ+8ViK2Y4J8n4C3yVZ =SQX9 -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:14 ` Ian Stakenvicius @ 2012-06-07 19:15 ` Ciaran McCreesh 2012-06-07 21:34 ` Brian Harring 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 19:15 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 07 Jun 2012 15:14:03 -0400 Ian Stakenvicius <axs@gentoo.org> wrote: > How is the case of something like libpng going to be handled, where we > only support one API (and so only one SLOT)? Either in the proposed > ABI_SLOT thing or when using slot operators? Ideally, by you putting in the work and supporting more than one API, since doing so vastly improves the user experience. Failing that, SLOT plus blockers. Then if it turns out that really doesn't work (and it's not just developers being utterly lazy), either ABI_SLOT or parts in a future EAPI. > For the slot-operator case, will every consumer of libpng be forced to > change their dep to libpng:= to ensure they get rebuilt when libpng > bumps from 1.5 to 1.6?? Every consumer of libpng that wants to improve from the current situation, yes. - -- Ciaran McCreesh -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEARECAAYFAk/Q/dMACgkQ96zL6DUtXhFlgQCaAr/9xTL8/bwTHbqud5ETo1fN T64An077XiZVmdP+/76KBTdRVlaDa4U2 =se/J -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 19:15 ` Ciaran McCreesh @ 2012-06-07 21:34 ` Brian Harring 0 siblings, 0 replies; 114+ messages in thread From: Brian Harring @ 2012-06-07 21:34 UTC (permalink / raw To: Ciaran McCreesh; +Cc: gentoo-dev On Thu, Jun 07, 2012 at 08:15:28PM +0100, Ciaran McCreesh wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Thu, 07 Jun 2012 15:14:03 -0400 > Ian Stakenvicius <axs@gentoo.org> wrote: > > How is the case of something like libpng going to be handled, where we > > only support one API (and so only one SLOT)? Either in the proposed > > ABI_SLOT thing or when using slot operators? > > Ideally, by you putting in the work and supporting more than one API, > since doing so vastly improves the user experience. > > Failing that, SLOT plus blockers. Then if it turns out that really > doesn't work (and it's not just developers being utterly lazy), either > ABI_SLOT or parts in a future EAPI. SLOT + blockers only works for API breakages; for instances where API is the same but the ABI has shifted (a lib function switching from taking a short switching to a long for example), the scheme doesn't work and rebuilding is what's required. Thing is, the API breakage bit we already have sorted; point of this whole discussion is dealing w/ the latter scenario, which slot + blockers *doesn't* address; not unless your proposal is the clusterfuck notion of modifying the ebuild providing the lib, and sticking a shite ton of blockers for every known consumer. That approach is wrong on multiple levels to say the least. > > For the slot-operator case, will every consumer of libpng be forced to > > change their dep to libpng:= to ensure they get rebuilt when libpng > > bumps from 1.5 to 1.6?? > > Every consumer of libpng that wants to improve from the current > situation, yes. Just going to point something out here; you've spent a lot of time stating "Someone else has to go sort these problems out"- problems that in many cases are decades old. You want to enforce this hard line, you do the work. Reminder: Ebuilds sole purpose are to make integrators jobs easier. Not to enforce the views of EAPI authors, but to enable people to get shit done. ABI_SLOT should *not* be used all over the place; it's basically a corner case variable that allows integrators to work around known cranky upstreams, or generally thorny ass problems. Aka, scenarios where the slotting solution doesn't fit. Unless ciaran's plan is to step up and fix all of these offending scenarios (and keep doing so), ABI_SLOT should be landed at the same time as SLOT operators. We already know it has uses, and when it *occurs*, it's painful to deal with it- specifically at the user level. Provide the PM the neccessary data, and it can lessen that pain. ~harring ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 16:43 ` Zac Medico 2012-06-07 17:40 ` Ciaran McCreesh @ 2012-06-07 18:04 ` Ralph Sennhauser 2012-06-07 18:23 ` Zac Medico 2012-06-08 1:20 ` Zac Medico 1 sibling, 2 replies; 114+ messages in thread From: Ralph Sennhauser @ 2012-06-07 18:04 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 3485 bytes --] On Thu, 07 Jun 2012 09:43:32 -0700 Zac Medico <zmedico@gentoo.org> wrote: > On 06/07/2012 01:24 AM, Brian Harring wrote: > > On Wed, Jun 06, 2012 at 05:43:49PM -0700, Zac Medico wrote: > >> On 06/06/2012 12:23 PM, Ciaran McCreesh wrote: > >>> On Wed, 06 Jun 2012 21:16:05 +0200 > >>> Pacho Ramos <pacho@gentoo.org> wrote: > >>>> Well, I think reading this thread is more or less clear what it > >>>> would be supposed to do, also Zac suggested it and looks to have > >>>> an idea about what should it do. > >>> > >>> There's a big leap from "more or less clear" and "an idea" to the > >>> kind of knowledge we want to have. Think REQUIRED_USE for how > >>> this can go wrong... > >>> > >>> If you think ABI_SLOT is essential, why not try implementing it > >>> and trying it out in a large number of packages, and reporting > >>> your results? > >> > >> It's pretty close to the SLOT operator model, and it seems like it > >> should work fine. We can deploy EAPI 5_pre1 with ABI_SLOT support, > >> and test it in an overlay before we include it in the final EAPI 5. > > > > I'd prefer you nailing down the details a bit more before slipping > > it into an EAPI called "5_pre1"; aside from usual complaints, > > frankly I'd rather not have to figure out the design of it via > > raiding the patches out of portage history ;) > > Ciaran already has SLOT operators in his eapi-5 branch of PMS. Maybe > we can convince him to change it to ABI_SLOT operators. > Whether we can convince Ciaran to change the wording of a feature in a draft document is utterly irrelevant. SLOT operator deps solve a large class of issues and wont get in the way of solving the ranged dep problem in a later step, be it ABI_SLOT or something more generic. I'm all for getting SLOT operators into EAPI-5 as actually already intended for earlier EAPIs. EAPI 5 was supposed to be a quick EAPI so don't let us delay the whole thing because of that. > > If we're going to do this, there should be a way to represent > > the direction of compatibility. Might be overthinking it, but > > consider upgrades where new API is added; this does *not* break > > ABI, it extends it. Going in reverse however *would* break ABI for > > anything that was using the new additions. This issue can be > > avoided via usage of version operators w/ appropriate slot binding > > deps, just seems hanky in light of what we're talking about. > > That might be nice, but it also complicates things a bit. We might > stand a better chance of getting Ciaran to cooperate if we keep it > simpler and stay closer to the SLOT operator model. > Again, it's not about getting someone to cooperate. Something that you comment with "that might be nice" isn't ready for inclusion into EAPI 5. > > I'm perfectly fine w/ ABI_SLOT and SLOT (I proposed a similar thing > > in '06/'07); I'd however suggest ensuring there is some buy in from > > devs on that one since that was the main argument against it in the > > past. > > I can imagine that ABI_SLOT operator deps will be a lot more popular > than SLOT operator deps, since ABI_SLOT operator deps will accommodate > the common practice of allowing ABI changes within a particular SLOT. What for? So we won't ever get rid of revdep-rebuild resp. @preserved-libs? Except for the ranged dep problem I don't see any additional benefit but potential drawbacks. Please correct me where I'm wrong. Cheers. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 490 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:04 ` Ralph Sennhauser @ 2012-06-07 18:23 ` Zac Medico 2012-06-08 1:20 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-06-07 18:23 UTC (permalink / raw To: gentoo-dev On 06/07/2012 11:04 AM, Ralph Sennhauser wrote: > On Thu, 07 Jun 2012 09:43:32 -0700 > Zac Medico <zmedico@gentoo.org> wrote: > >> On 06/07/2012 01:24 AM, Brian Harring wrote: >>> On Wed, Jun 06, 2012 at 05:43:49PM -0700, Zac Medico wrote: >>>> On 06/06/2012 12:23 PM, Ciaran McCreesh wrote: >>>>> On Wed, 06 Jun 2012 21:16:05 +0200 >>>>> Pacho Ramos <pacho@gentoo.org> wrote: >>>>>> Well, I think reading this thread is more or less clear what it >>>>>> would be supposed to do, also Zac suggested it and looks to have >>>>>> an idea about what should it do. >>>>> >>>>> There's a big leap from "more or less clear" and "an idea" to the >>>>> kind of knowledge we want to have. Think REQUIRED_USE for how >>>>> this can go wrong... >>>>> >>>>> If you think ABI_SLOT is essential, why not try implementing it >>>>> and trying it out in a large number of packages, and reporting >>>>> your results? >>>> >>>> It's pretty close to the SLOT operator model, and it seems like it >>>> should work fine. We can deploy EAPI 5_pre1 with ABI_SLOT support, >>>> and test it in an overlay before we include it in the final EAPI 5. >>> >>> I'd prefer you nailing down the details a bit more before slipping >>> it into an EAPI called "5_pre1"; aside from usual complaints, >>> frankly I'd rather not have to figure out the design of it via >>> raiding the patches out of portage history ;) >> >> Ciaran already has SLOT operators in his eapi-5 branch of PMS. Maybe >> we can convince him to change it to ABI_SLOT operators. >> > > Whether we can convince Ciaran to change the wording of a feature in a > draft document is utterly irrelevant. > > SLOT operator deps solve a large class of issues and wont get in the > way of solving the ranged dep problem in a later step, be it ABI_SLOT > or something more generic. > > I'm all for getting SLOT operators into EAPI-5 as actually already > intended for earlier EAPIs. EAPI 5 was supposed to be a quick EAPI so > don't let us delay the whole thing because of that. Delay doesn't concern be so much. If SLOT operator deps are the best that we can all agree on for now though, then I can accept that. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:04 ` Ralph Sennhauser 2012-06-07 18:23 ` Zac Medico @ 2012-06-08 1:20 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-06-08 1:20 UTC (permalink / raw To: gentoo-dev On 06/07/2012 11:04 AM, Ralph Sennhauser wrote: > On Thu, 07 Jun 2012 09:43:32 -0700 > Zac Medico <zmedico@gentoo.org> wrote: > >> On 06/07/2012 01:24 AM, Brian Harring wrote: >>> I'm perfectly fine w/ ABI_SLOT and SLOT (I proposed a similar thing >>> in '06/'07); I'd however suggest ensuring there is some buy in from >>> devs on that one since that was the main argument against it in the >>> past. >> >> I can imagine that ABI_SLOT operator deps will be a lot more popular >> than SLOT operator deps, since ABI_SLOT operator deps will accommodate >> the common practice of allowing ABI changes within a particular SLOT. > > What for? So we won't ever get rid of revdep-rebuild resp. > @preserved-libs? Except for the ranged dep problem I don't see any > additional benefit but potential drawbacks. Please correct me where I'm > wrong. ABI_SLOT operator deps *do* allow us to get rid of revdep-rebuild, since they are usable in cases like the dbus-glib/glib:2 dependency, where SLOT operator deps are unmanageable. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 17:16 ` Ciaran McCreesh 2012-06-06 18:02 ` Pacho Ramos @ 2012-06-06 21:21 ` Zac Medico 2012-06-07 5:28 ` Ciaran McCreesh 1 sibling, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-06 21:21 UTC (permalink / raw To: gentoo-dev On 06/06/2012 10:16 AM, Ciaran McCreesh wrote: > On Wed, 06 Jun 2012 11:48:26 +0200 > Pacho Ramos <pacho@gentoo.org> 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. It seems like you're trying to make glib fit your SLOT operator model, even though it's a natural fit for the ABI_SLOT operator model. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 21:21 ` Zac Medico @ 2012-06-07 5:28 ` Ciaran McCreesh 2012-06-07 17:42 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 5:28 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 805 bytes --] On Wed, 06 Jun 2012 14:21:40 -0700 Zac Medico <zmedico@gentoo.org> wrote: > > 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. > > It seems like you're trying to make glib fit your SLOT operator model, > even though it's a natural fit for the ABI_SLOT operator model. No, I'm trying to strongly encourage people to make proper use of slots to avoid having mass breakages and annoyances on user systems, even if it means more work for developers. Broken linkage due to an upgrade really shouldn't happen. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 5:28 ` Ciaran McCreesh @ 2012-06-07 17:42 ` Zac Medico 2012-06-07 17:59 ` Pacho Ramos 2012-06-07 18:09 ` Ciaran McCreesh 0 siblings, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-07 17:42 UTC (permalink / raw To: gentoo-dev On 06/06/2012 10:28 PM, Ciaran McCreesh wrote: > On Wed, 06 Jun 2012 14:21:40 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >>> 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. >> >> It seems like you're trying to make glib fit your SLOT operator model, >> even though it's a natural fit for the ABI_SLOT operator model. > > No, I'm trying to strongly encourage people to make proper use of slots > to avoid having mass breakages and annoyances on user systems, even if > it means more work for developers. But aren't you also trying to make them deviate from upstreams' release models? > Broken linkage due to an upgrade really shouldn't happen. It's certainly not ideal, but wouldn't it be useful to have the flexibility to accommodate it? Let's be practical. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 17:42 ` Zac Medico @ 2012-06-07 17:59 ` Pacho Ramos 2012-06-07 18:09 ` Ciaran McCreesh 1 sibling, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 17:59 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1402 bytes --] El jue, 07-06-2012 a las 10:42 -0700, Zac Medico escribió: > On 06/06/2012 10:28 PM, Ciaran McCreesh wrote: > > On Wed, 06 Jun 2012 14:21:40 -0700 > > Zac Medico <zmedico@gentoo.org> wrote: > >>> 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. > >> > >> It seems like you're trying to make glib fit your SLOT operator model, > >> even though it's a natural fit for the ABI_SLOT operator model. > > > > No, I'm trying to strongly encourage people to make proper use of slots > > to avoid having mass breakages and annoyances on user systems, even if > > it means more work for developers. > > But aren't you also trying to make them deviate from upstreams' release > models? > > > Broken linkage due to an upgrade really shouldn't happen. > > It's certainly not ideal, but wouldn't it be useful to have the > flexibility to accommodate it? Let's be practical. Also think we are not able to fix that broken linkage problems alone, even distributions supplying precompiled packages need to rebuild their packages against latest version due that breakages before releasing new packages to the users. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 17:42 ` Zac Medico 2012-06-07 17:59 ` Pacho Ramos @ 2012-06-07 18:09 ` Ciaran McCreesh 1 sibling, 0 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 18:09 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 870 bytes --] On Thu, 07 Jun 2012 10:42:29 -0700 Zac Medico <zmedico@gentoo.org> wrote: > >> It seems like you're trying to make glib fit your SLOT operator > >> model, even though it's a natural fit for the ABI_SLOT operator > >> model. > > > > No, I'm trying to strongly encourage people to make proper use of > > slots to avoid having mass breakages and annoyances on user > > systems, even if it means more work for developers. > > But aren't you also trying to make them deviate from upstreams' > release models? Only if upstream are cowboys who go out of their way to make it hard to slot things. > > Broken linkage due to an upgrade really shouldn't happen. > > It's certainly not ideal, but wouldn't it be useful to have the > flexibility to accommodate it? Let's be practical. Blockers plus SLOT provides that flexibility. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-05 13:31 ` [gentoo-dev] " Pacho Ramos 2012-06-05 23:07 ` Zac Medico @ 2012-06-06 5:33 ` Ciaran McCreesh 2012-06-06 8:32 ` Pacho Ramos 1 sibling, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 5:33 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 352 bytes --] On Tue, 05 Jun 2012 15:31:01 +0200 Pacho Ramos <pacho@gentoo.org> wrote: > We all know what would be the "ideal solution", the problem is how to > implement it (and how many years we need to wait to get it working). We do? Please tell us. I was under the impression that we still didn't fully know what the problem was. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 5:33 ` Ciaran McCreesh @ 2012-06-06 8:32 ` Pacho Ramos 2012-06-06 17:19 ` Ciaran McCreesh 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 8:32 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 905 bytes --] El mié, 06-06-2012 a las 06:33 +0100, Ciaran McCreesh escribió: > On Tue, 05 Jun 2012 15:31:01 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: > > We all know what would be the "ideal solution", the problem is how to > > implement it (and how many years we need to wait to get it working). > > We do? Please tell us. I was under the impression that we still didn't > fully know what the problem was. > Well, could you please let me know how to handle some issues already mentioned? For example: - Rebuild dbus-glib and gobject-introspection after major glib update. - Rebuild x11 drivers after xorg-update - Rebuild python/perl/ocaml stuff after python/perl/ocaml update Please take care I am simply asking your for information about how to handle it with the "SLOT operator" way or, at least, show me an example, because I don't know much about it. Thanks a lot for the info :) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 8:32 ` Pacho Ramos @ 2012-06-06 17:19 ` Ciaran McCreesh 2012-06-06 18:03 ` Pacho Ramos 2012-06-06 21:45 ` Zac Medico 0 siblings, 2 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-06 17:19 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1156 bytes --] On Wed, 06 Jun 2012 10:32:08 +0200 Pacho Ramos <pacho@gentoo.org> wrote: > > We do? Please tell us. I was under the impression that we still > > didn't fully know what the problem was. > > Well, could you please let me know how to handle some issues already > mentioned? For example: > - Rebuild dbus-glib and gobject-introspection after major glib update. > - Rebuild x11 drivers after xorg-update Those are the ones we probably do understand. You just up the SLOT (and if you really need to, use blockers between slots, although this is discouraged in favour of writing better ebuilds), and everything that build+run-deps upon these things uses := dependencies. > - Rebuild python/perl/ocaml stuff after python/perl/ocaml update That depends. If you only have to do it after an upgrade, same solution. If you have to do it with a rebuild too, then that's one of the situations I claim we don't fully understand because no-one has specified what the exact general problem is (although lots of people have looked at one particular case and assumed that their case holds for everything, which isn't true). -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 17:19 ` Ciaran McCreesh @ 2012-06-06 18:03 ` Pacho Ramos 2012-06-06 21:45 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 18:03 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1382 bytes --] El mié, 06-06-2012 a las 18:19 +0100, Ciaran McCreesh escribió: > On Wed, 06 Jun 2012 10:32:08 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: > > > We do? Please tell us. I was under the impression that we still > > > didn't fully know what the problem was. > > > > Well, could you please let me know how to handle some issues already > > mentioned? For example: > > - Rebuild dbus-glib and gobject-introspection after major glib update. > > - Rebuild x11 drivers after xorg-update > > Those are the ones we probably do understand. You just up the SLOT (and > if you really need to, use blockers between slots, although this is > discouraged in favour of writing better ebuilds), and everything that > build+run-deps upon these things uses := dependencies. > > > - Rebuild python/perl/ocaml stuff after python/perl/ocaml update > > That depends. If you only have to do it after an upgrade, same > solution. If you have to do it with a rebuild too, then that's one of > the situations I claim we don't fully understand because no-one has > specified what the exact general problem is (although lots of people > have looked at one particular case and assumed that their case holds > for everything, which isn't true). > I think they are only needed on upgrades, not rebuilds, but I cannot assure that, probably their maintainers will know better :) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 17:19 ` Ciaran McCreesh 2012-06-06 18:03 ` Pacho Ramos @ 2012-06-06 21:45 ` Zac Medico 2012-06-07 6:12 ` Ciaran McCreesh 1 sibling, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-06 21:45 UTC (permalink / raw To: gentoo-dev On 06/06/2012 10:19 AM, Ciaran McCreesh wrote: > On Wed, 06 Jun 2012 10:32:08 +0200 > Pacho Ramos <pacho@gentoo.org> wrote: >>> We do? Please tell us. I was under the impression that we still >>> didn't fully know what the problem was. >> >> Well, could you please let me know how to handle some issues already >> mentioned? For example: >> - Rebuild dbus-glib and gobject-introspection after major glib update. >> - Rebuild x11 drivers after xorg-update > > Those are the ones we probably do understand. You just up the SLOT (and > if you really need to, use blockers between slots, although this is > discouraged in favour of writing better ebuilds), and everything that > build+run-deps upon these things uses := dependencies. Can you explain how Exherbo is handling dbus-glib rebuilds after glib:2 updates? It seems that dbus-glib is not using a SLOT operator for its glib:2 dependency: http://git.exherbo.org/summer/packages/dev-libs/dbus-glib/index.html -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 21:45 ` Zac Medico @ 2012-06-07 6:12 ` Ciaran McCreesh 2012-06-07 17:47 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 6:12 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 210 bytes --] On Wed, 06 Jun 2012 14:45:55 -0700 Zac Medico <zmedico@gentoo.org> wrote: > Can you explain how Exherbo is handling dbus-glib rebuilds after > glib:2 updates? Badly, most likely. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 6:12 ` Ciaran McCreesh @ 2012-06-07 17:47 ` Zac Medico 2012-06-07 18:04 ` Wulf C. Krueger 2012-06-07 18:13 ` Ciaran McCreesh 0 siblings, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-07 17:47 UTC (permalink / raw To: gentoo-dev On 06/06/2012 11:12 PM, Ciaran McCreesh wrote: > On Wed, 06 Jun 2012 14:45:55 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> Can you explain how Exherbo is handling dbus-glib rebuilds after >> glib:2 updates? > > Badly, most likely. And, I suspect that they'd be handling with ABI_SLOT operator deps, if they were available. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 17:47 ` Zac Medico @ 2012-06-07 18:04 ` Wulf C. Krueger 2012-06-07 18:14 ` Pacho Ramos 2012-06-07 18:13 ` Ciaran McCreesh 1 sibling, 1 reply; 114+ messages in thread From: Wulf C. Krueger @ 2012-06-07 18:04 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 07.06.2012 19:47, Zac Medico wrote: > And, I suspect that they'd be handling with ABI_SLOT operator deps, > if they were available. No, we wouldn't. Best regards, Wulf -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/Q7TgACgkQnuVXRcSi+5qDGwCgyRCGz13xuzCCB0htW4IalqJM eqIAn2lJRsfQUcoJ+B/iYioyPhN7oU0C =tZkw -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:04 ` Wulf C. Krueger @ 2012-06-07 18:14 ` Pacho Ramos 0 siblings, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 18:14 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 343 bytes --] El jue, 07-06-2012 a las 20:04 +0200, Wulf C. Krueger escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 07.06.2012 19:47, Zac Medico wrote: > > And, I suspect that they'd be handling with ABI_SLOT operator deps, > > if they were available. > > No, we wouldn't. > > Best regards, Wulf Talk by yourself please [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 17:47 ` Zac Medico 2012-06-07 18:04 ` Wulf C. Krueger @ 2012-06-07 18:13 ` Ciaran McCreesh 2012-06-07 18:28 ` Zac Medico 1 sibling, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-07 18:13 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 679 bytes --] On Thu, 07 Jun 2012 10:47:19 -0700 Zac Medico <zmedico@gentoo.org> wrote: > On 06/06/2012 11:12 PM, Ciaran McCreesh wrote: > > On Wed, 06 Jun 2012 14:45:55 -0700 > > Zac Medico <zmedico@gentoo.org> wrote: > >> Can you explain how Exherbo is handling dbus-glib rebuilds after > >> glib:2 updates? > > > > Badly, most likely. > > And, I suspect that they'd be handling with ABI_SLOT operator deps, if > they were available. Nope. They'd be handling it with something known as 'parts' (which is a way of removing a subset of an installed package's contents and turning off a subset of its option flags), plus SLOT and option dependencies. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-07 18:13 ` Ciaran McCreesh @ 2012-06-07 18:28 ` Zac Medico 0 siblings, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-06-07 18:28 UTC (permalink / raw To: gentoo-dev On 06/07/2012 11:13 AM, Ciaran McCreesh wrote: > On Thu, 07 Jun 2012 10:47:19 -0700 > Zac Medico <zmedico@gentoo.org> wrote: >> On 06/06/2012 11:12 PM, Ciaran McCreesh wrote: >>> On Wed, 06 Jun 2012 14:45:55 -0700 >>> Zac Medico <zmedico@gentoo.org> wrote: >>>> Can you explain how Exherbo is handling dbus-glib rebuilds after >>>> glib:2 updates? >>> >>> Badly, most likely. >> >> And, I suspect that they'd be handling with ABI_SLOT operator deps, if >> they were available. > > Nope. They'd be handling it with something known as 'parts' (which is a > way of removing a subset of an installed package's contents and turning > off a subset of its option flags), plus SLOT and option dependencies. That sounds nice. Maybe we can do that in EAPI 6. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-05 12:44 ` Aaron W. Swenson 2012-06-05 13:31 ` [gentoo-dev] " Pacho Ramos @ 2012-06-05 20:28 ` Ciaran McCreesh 2012-06-06 0:51 ` Michael Weber 2 siblings, 0 replies; 114+ messages in thread From: Ciaran McCreesh @ 2012-06-05 20:28 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 05 Jun 2012 08:44:08 -0400 "Aaron W. Swenson" <titanofold@gentoo.org> wrote: > "There's never anything important in all that text." - Anonymous > Gentoo User To be fair, most einfo and elog messages are useless spam. When elog was introduced, it was supposed to be only for *important* messages, but nearly everything sent to it now is a waste of users' time. Perhaps the solution is to implement an ethisisimportanthonestlog function, and require developers to get approval before using it, as per news items. - -- Ciaran McCreesh -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iEYEARECAAYFAk/Oa+MACgkQ96zL6DUtXhHDhwCgpf1C/k//ecx21gcsCiCy6MK1 GRwAoNhvMaJSFxAbTdOGcqMcYhI5JuXN =SNPn -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-05 12:44 ` Aaron W. Swenson 2012-06-05 13:31 ` [gentoo-dev] " Pacho Ramos 2012-06-05 20:28 ` [gentoo-dev] [gentoo-portage-dev] " Ciaran McCreesh @ 2012-06-06 0:51 ` Michael Weber 2012-06-06 2:18 ` Zac Medico 2012-06-06 8:44 ` [gentoo-dev] [gentoo-portage-dev] " Pacho Ramos 2 siblings, 2 replies; 114+ messages in thread From: Michael Weber @ 2012-06-06 0:51 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 06/05/2012 02:44 PM, Aaron W. Swenson wrote: > "There's never anything important in all that text." - Anonymous > Gentoo User The bad part is, that even reading of these messages can result in a breakage. I update a bunch of machines with these steps (maybe we should place instructions like these on a prominent place). (this is multi user, multi session). #preparations eix-sync cd /etc/portage git pull ; [ git stash ; git pull ; git stash pop ; git commit -a ; git push ] #on kernel updates emerge -av1 --nodeps gentoo-sources cd /usr/src/linux ; zcat /proc/config.gz > .config make oldconfig time ( make -j8 && make install_modules && make install && module-rebuild -X rebuild && eclean-kernel -n 2 -x config && grub2-config -o /boot/grub2/grub2.cfg ) #regular packages emerge -avuND world dispatch-conf/etc-update emerge -a --depclean revdep-rebuild --ignore -- -av revdep-rebuild --ignore -- -av (second run) #on xorg-server updates emerge -av1 $(qlist -IC x11-drivers) Nice, isn't it? [1] if you forget the -X on module-rebuild, you might no longer have the virtualbox-modules version installed in the tree (no packages satisfy ...). virtualbox does remove old versions real quick. The fun part comes with non-root users trying to log in: [2] You've updated nvidia-drivers (kernel module providers in general) userland and kernel modules, but forget to `rmmod nvidia`, or you can't without terminating user sessions, it impossible to start new X servers due to version mismatch between userland and kernel (applies for virtualbox as well) [3] You've updated zlib, but failed to recognize it in the emerge -av output. You get angry reports about broken luatex and inkscape (imagemagik) because of some nasty zlib abi version mismatch, hidden from revdep-rebuild. [5] lafilefixer (funny) [4] python-updater (rare) [6] ocaml gets broken after update w/o lablgl rebuild https://bugs.gentoo.org/385869 Well, I'm lazy, and do this in the backgound, half asleep. And I admit that [1] and [2] are my faults, but [3] is very annoying (just like libdl related stuff) and esp. kernel+module updates take a lot more than just a few 'REBUILD' packages. Is there any chance to detect this ZLIB_VERSION problem with revdep-rebuild (worst case: add a list of possibly broken packages with tests)? ===== I understand the urge for `eupdate` but that needs an agreement on the implementation, and I see some rought edges here, where unattended script magic most likely fails. Michael -- half asleep - -- Gentoo Dev http://xmw.de/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iF0EAREIAAYFAk/OqZ4ACgkQknrdDGLu8JCZTgD2MXNld64l2D9jdko5sDQ1RedO hDDGT1frS210sIkG5AD+M0N08Ru0FrVmqarkxec6N71egAmrmRUmcMMhtWCcUK0= =0Xwl -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-06 0:51 ` Michael Weber @ 2012-06-06 2:18 ` Zac Medico 2012-06-06 8:46 ` Pacho Ramos 2012-06-06 21:59 ` [gentoo-dev] [gentoo-portage-dev] " Brian Harring 2012-06-06 8:44 ` [gentoo-dev] [gentoo-portage-dev] " Pacho Ramos 1 sibling, 2 replies; 114+ messages in thread From: Zac Medico @ 2012-06-06 2:18 UTC (permalink / raw To: gentoo-dev On 06/05/2012 05:51 PM, Michael Weber wrote: > Is there any chance to detect this ZLIB_VERSION problem with > revdep-rebuild (worst case: add a list of possibly broken packages > with tests)? I'd suggest a special ebuild phase to check for ABI changes, like the pre_pkg_preinst_abi_check phase suggested here: https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-06 2:18 ` Zac Medico @ 2012-06-06 8:46 ` Pacho Ramos 2012-06-06 8:54 ` Zac Medico 2012-06-06 21:59 ` [gentoo-dev] [gentoo-portage-dev] " Brian Harring 1 sibling, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 8:46 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 560 bytes --] El mar, 05-06-2012 a las 19:18 -0700, Zac Medico escribió: > On 06/05/2012 05:51 PM, Michael Weber wrote: > > Is there any chance to detect this ZLIB_VERSION problem with > > revdep-rebuild (worst case: add a list of possibly broken packages > > with tests)? > > I'd suggest a special ebuild phase to check for ABI changes, like the > pre_pkg_preinst_abi_check phase suggested here: > > https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 I guess, that phase would detect ABI change and package manager would know how to handle it by itself? [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-06 8:46 ` Pacho Ramos @ 2012-06-06 8:54 ` Zac Medico 2012-06-06 9:10 ` [gentoo-dev] " Pacho Ramos 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-06 8:54 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/06/2012 01:46 AM, Pacho Ramos wrote: > El mar, 05-06-2012 a las 19:18 -0700, Zac Medico escribió: >> On 06/05/2012 05:51 PM, Michael Weber wrote: >>> Is there any chance to detect this ZLIB_VERSION problem with >>> revdep-rebuild (worst case: add a list of possibly broken >>> packages with tests)? >> >> I'd suggest a special ebuild phase to check for ABI changes, like >> the pre_pkg_preinst_abi_check phase suggested here: >> >> https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 > > I guess, that phase would detect ABI change and package manager > would know how to handle it by itself? Yeah, it would be like a warning system, do detect cases when the SLOT/ABI_SLOT were not bumped when they should have been. The idea is that the developer who's doing the version bump will see the warning and bump the SLOT/ABI_SLOT before committing the ebuild. - -- Thanks, Zac -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/PGt4ACgkQ/ejvha5XGaMt8QCffullYkU7EQXeE7TeUri4nQya ysIAoMhPQT+rEZbxKNvMiX8qNOEndiM1 =V7Tz -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 8:54 ` Zac Medico @ 2012-06-06 9:10 ` Pacho Ramos 2012-06-06 9:30 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 9:10 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1713 bytes --] El mié, 06-06-2012 a las 01:54 -0700, Zac Medico escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 06/06/2012 01:46 AM, Pacho Ramos wrote: > > El mar, 05-06-2012 a las 19:18 -0700, Zac Medico escribió: > >> On 06/05/2012 05:51 PM, Michael Weber wrote: > >>> Is there any chance to detect this ZLIB_VERSION problem with > >>> revdep-rebuild (worst case: add a list of possibly broken > >>> packages with tests)? > >> > >> I'd suggest a special ebuild phase to check for ABI changes, like > >> the pre_pkg_preinst_abi_check phase suggested here: > >> > >> https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 > > > > I guess, that phase would detect ABI change and package manager > > would know how to handle it by itself? > > Yeah, it would be like a warning system, do detect cases when the > SLOT/ABI_SLOT were not bumped when they should have been. The idea is > that the developer who's doing the version bump will see the warning > and bump the SLOT/ABI_SLOT before committing the ebuild. > - -- > Thanks, > Zac > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.19 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAk/PGt4ACgkQ/ejvha5XGaMt8QCffullYkU7EQXeE7TeUri4nQya > ysIAoMhPQT+rEZbxKNvMiX8qNOEndiM1 > =V7Tz > -----END PGP SIGNATURE----- > > And once we bump SLOT/ABI_SLOT, package manager would know about how to handle that situation and rebuild needed stuff? If we use SLOT only, I guess we would need to allow (or make more common) pulling multiple slot but all of them mutually exclusive no? I have no problem with that of course, but I thought it wasn't "desired" in general. [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 9:10 ` [gentoo-dev] " Pacho Ramos @ 2012-06-06 9:30 ` Zac Medico 2012-07-07 11:29 ` Peter Stuge 0 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-06-06 9:30 UTC (permalink / raw To: gentoo-dev On 06/06/2012 02:10 AM, Pacho Ramos wrote: > El mié, 06-06-2012 a las 01:54 -0700, Zac Medico escribió: > On 06/06/2012 01:46 AM, Pacho Ramos wrote: >>>> El mar, 05-06-2012 a las 19:18 -0700, Zac Medico escribió: >>>>> On 06/05/2012 05:51 PM, Michael Weber wrote: >>>>>> Is there any chance to detect this ZLIB_VERSION problem with >>>>>> revdep-rebuild (worst case: add a list of possibly broken >>>>>> packages with tests)? >>>>> >>>>> I'd suggest a special ebuild phase to check for ABI changes, like >>>>> the pre_pkg_preinst_abi_check phase suggested here: >>>>> >>>>> https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 >>>> >>>> I guess, that phase would detect ABI change and package manager >>>> would know how to handle it by itself? > > Yeah, it would be like a warning system, do detect cases when the > SLOT/ABI_SLOT were not bumped when they should have been. The idea is > that the developer who's doing the version bump will see the warning > and bump the SLOT/ABI_SLOT before committing the ebuild. >> >> > > And once we bump SLOT/ABI_SLOT, package manager would know about how to > handle that situation and rebuild needed stuff? Right, as long as the reverse dependencies use the := "SLOT operator" like they're supposed to. That's how they let the package manager know that they'll need to be rebuilt when the ABI changes. > If we use SLOT only, I guess we would need to allow (or make more > common) pulling multiple slot but all of them mutually exclusive no? Yeah, blockers are already used like this sometimes, like for google-chrome which has mutually exclusive stable, beta, and unstable SLOTs. > I > have no problem with that of course, but I thought it wasn't "desired" > in general. Well, we can always introduce a separate ABI_SLOT variable in a later EAPI, if we want. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 9:30 ` Zac Medico @ 2012-07-07 11:29 ` Peter Stuge 2012-07-07 14:10 ` Ian Stakenvicius 0 siblings, 1 reply; 114+ messages in thread From: Peter Stuge @ 2012-07-07 11:29 UTC (permalink / raw To: gentoo-dev Zac Medico wrote: > >>>>> I'd suggest a special ebuild phase to check for ABI changes, like > >>>>> the pre_pkg_preinst_abi_check phase suggested here: > >>>>> > >>>>> https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 > >>>> > >>>> I guess, that phase would detect ABI change and package manager > >>>> would know how to handle it by itself? > > > > Yeah, it would be like a warning system, > > > > And once we bump SLOT/ABI_SLOT, package manager would know about > > how to handle that situation and rebuild needed stuff? Is it unrealistic to assume that upstream ABI providers will mark their ABIs by using sonames correctly? Maybe that is at least the common case, then ABI_SLOT could be set automatically. Maybe I'm too far ahead, and baby steps are better. //Peter ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-07-07 11:29 ` Peter Stuge @ 2012-07-07 14:10 ` Ian Stakenvicius 2012-07-07 18:54 ` Peter Stuge 0 siblings, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-07-07 14:10 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 07/07/12 07:29 AM, Peter Stuge wrote: > Zac Medico wrote: >>>>>>> I'd suggest a special ebuild phase to check for ABI >>>>>>> changes, like the pre_pkg_preinst_abi_check phase >>>>>>> suggested here: >>>>>>> >>>>>>> https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 >>>>>> >>>>>> I guess, that phase would detect ABI change and package >>>>>> manager would know how to handle it by itself? >>> >>> Yeah, it would be like a warning system, >>> >>> And once we bump SLOT/ABI_SLOT, package manager would know >>> about how to handle that situation and rebuild needed stuff? > > Is it unrealistic to assume that upstream ABI providers will mark > their ABIs by using sonames correctly? > > Maybe that is at least the common case, then ABI_SLOT could be set > automatically. > > Maybe I'm too far ahead, and baby steps are better. > Although we have a lot of this information available (which is why/how @preserved-libs works, for instance), there is no way for portage to know *prior to emerging the update* if abi has changed. This is why it needs to be specified in the ebuild somehow (and sub-slots via 4-slot-abi seem very capable of handling this) That said, while experimenting with 4-slot-abi porting on my overlay, usually I am just specifying the major (or sometimes major.minor) version parts of the sonames, since that seems to make the most sense usually. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAk/4Q2IACgkQ2ugaI38ACPBzagD/blTq3Dq1K9Yrv2PdxSirxwu7 POUSNlLr59x8jKaE2oYBAIS+mATPRj3vn1W/uB37ipLmbg76gbcr7LTqh6Mb7Unv =VKuj -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-07-07 14:10 ` Ian Stakenvicius @ 2012-07-07 18:54 ` Peter Stuge 2012-07-07 20:18 ` Zac Medico 0 siblings, 1 reply; 114+ messages in thread From: Peter Stuge @ 2012-07-07 18:54 UTC (permalink / raw To: gentoo-dev Ian Stakenvicius wrote: > > Is it unrealistic to assume that upstream ABI providers will mark > > their ABIs by using sonames correctly? > > > > Maybe that is at least the common case, then ABI_SLOT could be set > > automatically. > > Although we have a lot of this information available (which is why/how > @preserved-libs works, for instance), there is no way for portage to > know *prior to emerging the update* if abi has changed. Knowing that a library changes ABI before building is nice, but not relying on a human to encode this is nicer still. After compile, before install, there is an opportunity to show the effects of installing the package. I'm only talking about the context of the developer who is adding the new ebuild. So ABI_SLOT (or / SLOT) would be set automatically just once, in the process of committing the ebuild. No need to repeat the binary analysis - except if one source package has different ABI for different ARCHes. Fun! //Peter ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-07-07 18:54 ` Peter Stuge @ 2012-07-07 20:18 ` Zac Medico 0 siblings, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-07-07 20:18 UTC (permalink / raw To: gentoo-dev On 07/07/2012 11:54 AM, Peter Stuge wrote: > Ian Stakenvicius wrote: >>> Is it unrealistic to assume that upstream ABI providers will mark >>> their ABIs by using sonames correctly? >>> >>> Maybe that is at least the common case, then ABI_SLOT could be set >>> automatically. >> >> Although we have a lot of this information available (which is why/how >> @preserved-libs works, for instance), there is no way for portage to >> know *prior to emerging the update* if abi has changed. > > Knowing that a library changes ABI before building is nice, but not > relying on a human to encode this is nicer still. > > After compile, before install, there is an opportunity to show the > effects of installing the package. > > I'm only talking about the context of the developer who is adding the > new ebuild. So ABI_SLOT (or / SLOT) would be set automatically just > once, in the process of committing the ebuild. Well, if you're talking about having portage automatically edit the ebuild, I don't think we want to do that. If developers use portage-2.2_alpha with preserve-libs, then they'll know automatically when there's an SONAME change that triggers preserve-libs. Part of the beauty of the approach used in EAPI 4-slot-abi is that that it can be used to trigger rebuilds in cases that don't even involve SONAME dependencies (consider a "pure" perl module that only needs to be rebuilt in order to install its interpreted *.pm files in a different directory for a new version of perl). > No need to repeat the > binary analysis - except if one source package has different ABI for > different ARCHes. Fun! It might be nice to add some binary analysis things beyond preserve-libs in the future. However, EAPI 4-slot-abi should work quite well even without that. It just automates rebuilds [1] that the user was previously required to handle manually, when prompted by elog messages, or by running tools like revdep-rebuild and perl-cleaner. It's being tested in the axs overlay [2], and it seems to be working pretty well. [1] http://blogs.gentoo.org/zmedico/2012/06/23/automatic-rebuilds-with-experimental-eapi-4-slot-abi/ [2] http://git.overlays.gentoo.org/gitweb/?p=dev/axs.git;a=summary -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-06 2:18 ` Zac Medico 2012-06-06 8:46 ` Pacho Ramos @ 2012-06-06 21:59 ` Brian Harring 2012-06-06 22:08 ` Zac Medico 2012-06-07 9:13 ` [gentoo-dev] " Pacho Ramos 1 sibling, 2 replies; 114+ messages in thread From: Brian Harring @ 2012-06-06 21:59 UTC (permalink / raw To: gentoo-dev On Tue, Jun 05, 2012 at 07:18:01PM -0700, Zac Medico wrote: > On 06/05/2012 05:51 PM, Michael Weber wrote: > > Is there any chance to detect this ZLIB_VERSION problem with > > revdep-rebuild (worst case: add a list of possibly broken packages > > with tests)? > > I'd suggest a special ebuild phase to check for ABI changes, like the > pre_pkg_preinst_abi_check phase suggested here: > > https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 Same thing I said in '07; I don't have a problem w/ hooks for ebuilds to specify additional QA checks, but this *cannot* be the user's end solution- it needs to be purely for making it easier for devs to spot their screwups. In other words, revdep-rebuild shouldn't be involved; this should spot/complain that zlib (for example) changed abi w/out a matching metadata setting/whatever, rather than having checks done in the consumers. Using this for anything other than a QA check of the originating package, basically has an end result of us going towards a non-deterministic resolution model- which is a clusterfuck, frankly. ~harring ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-06 21:59 ` [gentoo-dev] [gentoo-portage-dev] " Brian Harring @ 2012-06-06 22:08 ` Zac Medico 2012-06-07 9:13 ` [gentoo-dev] " Pacho Ramos 1 sibling, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-06-06 22:08 UTC (permalink / raw To: gentoo-dev On 06/06/2012 02:59 PM, Brian Harring wrote: > On Tue, Jun 05, 2012 at 07:18:01PM -0700, Zac Medico wrote: >> On 06/05/2012 05:51 PM, Michael Weber wrote: >>> Is there any chance to detect this ZLIB_VERSION problem with >>> revdep-rebuild (worst case: add a list of possibly broken packages >>> with tests)? >> >> I'd suggest a special ebuild phase to check for ABI changes, like the >> pre_pkg_preinst_abi_check phase suggested here: >> >> https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 > > Same thing I said in '07; I don't have a problem w/ hooks for ebuilds > to specify additional QA checks, but this *cannot* be the user's end > solution- it needs to be purely for making it easier for devs to spot > their screwups. In other words, revdep-rebuild shouldn't be involved; > this should spot/complain that zlib (for example) changed abi w/out a > matching metadata setting/whatever, rather than having checks done in > the consumers. > > Using this for anything other than a QA check of the originating > package, basically has an end result of us going towards a > non-deterministic resolution model- which is a clusterfuck, frankly. Yeah, I'm sure we can all agree that we would like the dependency resolver to be able to predict/display all of the rebuilds that will need to occur, before any building starts. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] About forcing rebuilds of other packages issue 2012-06-06 21:59 ` [gentoo-dev] [gentoo-portage-dev] " Brian Harring 2012-06-06 22:08 ` Zac Medico @ 2012-06-07 9:13 ` Pacho Ramos 1 sibling, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-07 9:13 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1439 bytes --] El mié, 06-06-2012 a las 14:59 -0700, Brian Harring escribió: > On Tue, Jun 05, 2012 at 07:18:01PM -0700, Zac Medico wrote: > > On 06/05/2012 05:51 PM, Michael Weber wrote: > > > Is there any chance to detect this ZLIB_VERSION problem with > > > revdep-rebuild (worst case: add a list of possibly broken packages > > > with tests)? > > > > I'd suggest a special ebuild phase to check for ABI changes, like the > > pre_pkg_preinst_abi_check phase suggested here: > > > > https://bugs.gentoo.org/show_bug.cgi?id=192319#c20 > > Same thing I said in '07; I don't have a problem w/ hooks for ebuilds > to specify additional QA checks, but this *cannot* be the user's end > solution- it needs to be purely for making it easier for devs to spot > their screwups. In other words, revdep-rebuild shouldn't be involved; > this should spot/complain that zlib (for example) changed abi w/out a > matching metadata setting/whatever, rather than having checks done in > the consumers. > > Using this for anything other than a QA check of the originating > package, basically has an end result of us going towards a > non-deterministic resolution model- which is a clusterfuck, frankly. > > ~harring > > Personally, my intention was exactly that: use that check to allow devs to detect the problem and commit a proper ebuild (this test could even be fatal to really enforce developers to not miss it) [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-06 0:51 ` Michael Weber 2012-06-06 2:18 ` Zac Medico @ 2012-06-06 8:44 ` Pacho Ramos 1 sibling, 0 replies; 114+ messages in thread From: Pacho Ramos @ 2012-06-06 8:44 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2564 bytes --] El mié, 06-06-2012 a las 02:51 +0200, Michael Weber escribió: [...] > > [1] if you forget the -X on module-rebuild, you might no longer have > the virtualbox-modules version installed in the tree (no packages > satisfy ...). virtualbox does remove old versions real quick. > > The fun part comes with non-root users trying to log in: Yeah, I also had a similar problem with nvidia-drivers, maybe module-rebuild should default to "-X" behavior, or is there any reason why forcing the current behavior is better? Do we really should support by default setups that don't apply all updates (neither locally mask unwanted newer versions) after syncing their tree? > > [2] You've updated nvidia-drivers (kernel module providers in general) > userland and kernel modules, but forget to `rmmod nvidia`, or you > can't without terminating user sessions, it impossible to start new X > servers due to version mismatch between userland and kernel (applies > for virtualbox as well) > Maybe if we were able to call "rmmod -w nvidia" from nvidia-drivers ebuild... that way, once you log out from X, old module would be outloaded and new one loaded by X when restarting. The problem is that there is no way to run this command after emerge "automatically" > [3] You've updated zlib, but failed to recognize it in the emerge -av > output. You get angry reports about broken luatex and inkscape > (imagemagik) because of some nasty zlib abi version mismatch, hidden > from revdep-rebuild. > > [5] lafilefixer (funny) I am not sure if this is still needed these days :-/, at least portage looks to fix them, but I think this is not supported on other PMs (or maybe they handle this other way apart from lafilefixer also) > [4] python-updater (rare) > [6] ocaml gets broken after update w/o lablgl rebuild > https://bugs.gentoo.org/385869 > > Well, I'm lazy, and do this in the backgound, half asleep. > And I admit that [1] and [2] are my faults, but [3] is very annoying > (just like libdl related stuff) and esp. kernel+module updates take a > lot more than just a few 'REBUILD' packages. > > Is there any chance to detect this ZLIB_VERSION problem with > revdep-rebuild (worst case: add a list of possibly broken packages > with tests)? > > ===== > > I understand the urge for `eupdate` but that needs an agreement on > the implementation, and I see some rought edges here, where unattended > script magic most likely fails. > > Michael -- half asleep > > - -- > Gentoo Dev > http://xmw.de/ [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-06-04 21:26 [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Pacho Ramos 2012-06-05 12:44 ` Aaron W. Swenson @ 2012-09-06 9:01 ` Fabian Groffen 2012-09-06 13:25 ` Ian Stakenvicius 2012-09-06 16:40 ` Zac Medico 1 sibling, 2 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-06 9:01 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 3308 bytes --] Replying to this email since it seems to be the discussion behind the "sub-slot" feature proposed for EAPI 5. On 04-06-2012 23:26:18 +0200, Pacho Ramos wrote: > This is why I think we should try to push a bit my first suggestion for > the short term until "the perfect one" is ready as, until then, we are > having for years a problem that, personally, I think it should be > handled a bit better. After reading this thread, I have seen numerous occasions where has been asked what this proposal actually solves. Unless I've accidentially skipped over it, the answer has yet to be given. It appears to me now sub-slot is a feature that makes it easy to express a situation that could be expressed today as well, but requiring more work. As such "syntactic sugar", it seems not well bounded, allowing possibly for doing things that result in a big mess (I cannot prove this atm, and there is no specification afaict.) So, I'm looking for a specification what the components in the sub-slot exactly mean, and what behaviour they trigger. To me, it seems right now that sub-slot is simply ${SLOT}/${PV}, and some fancy sub-part matching (up to the '/' actually). It would be nice to have a sound and clear definition of that the SLOT value means, and what the sub-slot value means. How can one make it up? Could one also just start with 1 as sub-slot? Or use names? (SLOT="2/$(use fnord && echo fnord)"). I have no clue how to use this correctly, as well as what problems I should have that it solves. To clarify the last bit, could you please explain how the following situation benefits from sub-slot. Consider the packages libfnord, foo and bar. libfnord being a library, used by foo and bar, which are simple executables. libfnord has 6 versions (not necessarily all at the same time in the tree), with ELF soname and library versions: libfnord-1 libfnord.so.3 libfnord.so.3.0 libfnord-2 libfnord.so.5 libfnord.so.5.1 libfnord-2.1 libfnord.so.5 libfnord.so.5.2 libfnord-2.1-r5 libfnord.so.5 libfnord.so.5.2 libfnord-3 libfnord.so.5 libfnord.so.5.8 libfnord-3.5 libfnord.so.5 libfnord.so.5.12 Package foo and bar have the following versions and {,R}DEPEND: foo-3.0 >=libfnord-2 bar-1.234b =libfnord-1* bar-2.4 >=libfnord-3 How would the SLOT and {,R}DEPEND values for these ebuilds look like, what happens when libfnord 2 and 3 are introduced in the tree, etc. Please show for both EAPI 4, EAPI 4+slot-deps and EAPI 4+sub-slot. What if libfnord-2.1 or libfnord-3.5 would be masked due to some problem not noticed prior to stabling that makes it useless for many users. bar-2.4 during configure checks for a new function in libfnord-3.5 and uses it if available, or uses an alternative code-path instead. libfnord-2.1-r5 fixes a crash in some function of the library. (Note: this whole example/question sounds like an ebuild-quiz question that any dev should be able to answer then.) What would be the advantage of sub-slot here, assuming the versioning of the libraries follows ABI versioning rules defined by e.g. libtool. Please enlighten me. Fabian -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-06 9:01 ` Fabian Groffen @ 2012-09-06 13:25 ` Ian Stakenvicius 2012-09-06 13:30 ` [EDIT] " Ian Stakenvicius 2012-09-07 17:13 ` Fabian Groffen 2012-09-06 16:40 ` Zac Medico 1 sibling, 2 replies; 114+ messages in thread From: Ian Stakenvicius @ 2012-09-06 13:25 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 06/09/12 05:01 AM, Fabian Groffen wrote: > Replying to this email since it seems to be the discussion behind > the "sub-slot" feature proposed for EAPI 5. > > On 04-06-2012 23:26:18 +0200, Pacho Ramos wrote: >> This is why I think we should try to push a bit my first >> suggestion for the short term until "the perfect one" is ready >> as, until then, we are having for years a problem that, >> personally, I think it should be handled a bit better. > > After reading this thread, I have seen numerous occasions where has > been asked what this proposal actually solves. Unless I've > accidentially skipped over it, the answer has yet to be given. It > appears to me now sub-slot is a feature that makes it easy to > express a situation that could be expressed today as well, but > requiring more work. As such "syntactic sugar", it seems not well > bounded, allowing possibly for doing things that result in a big > mess (I cannot prove this atm, and there is no specification > afaict.) > #1 - there is both a specification, and an initial implementation, AND a fork of the tree that is kept semi-up-to-date on my dev overlay. So please test away. At present sub-slots have been set on Xorg (automatically rebuilding x11-drivers/* on upgrades), and on perl (automatically rebuilding everything (afaik) that perl-cleaner would normally be needed for). There should be more than enough work done on my portage fork for you to be able to experiment and prove/disprove said mess. #2 - related to your question about what the proposal solves -- in my opinion, the biggest thing the proposal solves is the case where we want the ability to use SLOTs in the tree to manage and track dependency changes (ie, when an API or ABI has changed), but NOT allow multiple versions of a package to be installed at the same time. Further to this, it allows PMs to determine what needs to be rebuilt due to the old (no longer existing) dep being supported prior to said dep actually being removed. > So, I'm looking for a specification what the components in the > sub-slot exactly mean, and what behaviour they trigger. To me, it > seems right now that sub-slot is simply ${SLOT}/${PV}, and some > fancy sub-part matching (up to the '/' actually). It would be nice > to have a sound and clear definition of that the SLOT value means, > and what the sub-slot value means. How can one make it up? Could > one also just start with 1 as sub-slot? Or use names? > (SLOT="2/$(use fnord && echo fnord)"). I have no clue how to use > this correctly, as well as what problems I should have that it > solves. sub-slots is the 'some-identifier' part of ${SLOT}/${some-identifier}. It doesn't have to replate to ${PV} at all, and generally shouldn't. More likely it should relate to the ${major}.${minor} in the main library's SONAME. For non-libtool dependencies some other form of id is used, ie for perl I used the major.minor from $PV. > > To clarify the last bit, could you please explain how the > following situation benefits from sub-slot. > > Consider the packages libfnord, foo and bar. libfnord being a > library, used by foo and bar, which are simple executables. > libfnord has 6 versions (not necessarily all at the same time in > the tree), with ELF soname and library versions: > > libfnord-1 libfnord.so.3 libfnord.so.3.0 libfnord-2 > libfnord.so.5 libfnord.so.5.1 libfnord-2.1 libfnord.so.5 > libfnord.so.5.2 libfnord-2.1-r5 libfnord.so.5 > libfnord.so.5.2 libfnord-3 libfnord.so.5 > libfnord.so.5.8 libfnord-3.5 libfnord.so.5 > libfnord.so.5.12 > > Package foo and bar have the following versions and {,R}DEPEND: > > foo-3.0 >=libfnord-2 bar-1.234b =libfnord-1* > bar-2.4 >=libfnord-3 > > How would the SLOT and {,R}DEPEND values for these ebuilds look > like, what happens when libfnord 2 and 3 are introduced in the > tree, etc. Please show for both EAPI 4, EAPI 4+slot-deps and EAPI > 4+sub-slot. EAPI="4-slot-deps" is new to me; the implementation i've been testing is EAPI="4-slot-abi" which is sub-slots and slot operators. This is the spec that was written and proposed for EAPI=5 and so this is what i'll use to describe the above. First, assuming currently libfnord is SLOT=0, and that there are no ABI/API breakages on libfnord-2 through libfnord-3.5, I would just use the ${major} version from the SONAME for the sub-slot. IE: libfnord-1:SLOT="0/3" libfnord-2:SLOT="0/5" libfnord-2.1:SLOT="0/5" ... libfnord-3.5:SLOT="0/5" And then, assuming that foo and bar both link in the usual way, IE they link against libfnord.so.3 instead of just libfnord.so , they both would RDEPEND as follows: RDEPEND="app-cat/libfnord:=" > (numeric indicators added): [1]What if libfnord-2.1 or libfnord-3.5 > would be masked due to some problem not noticed prior to stabling > that makes it useless for many users. [2]bar-2.4 during configure > checks for a new function in libfnord-3.5 and uses it if available, > or uses an alternative code-path instead. [3]libfnord-2.1-r5 fixes > a crash in some function of the library. (Note: this whole > example/question sounds like an ebuild-quiz question that any dev > should be able to answer then.) > > What would be the advantage of sub-slot here, assuming the > versioning of the libraries follows ABI versioning rules defined by > e.g. libtool. [1] No advantage as sub-slots wouldn't relate to this, UNLESS the masking would then remove -all- SLOT="0/5" versions from the tree. In that case, the old SLOT="0/3" provider would be the 'upgrade' path and so 'foo' and 'bar' would be triggered for rebuild (since the lib they were linked to would be disappearing during emerge -uDN) [2] In this case, the new ABI/API offering in libfnord-3.5 would need to be addressed in the SLOT, ie, SLOT="0/5.12". As such when libfnord-3.5 would be upgraded then bar-2.4 (if it was already emerged of course) would be triggered for rebuild. 'foo' would afaik also be triggered for rebuild, though, as (at present) there isn't a way to match partial sub-slots (or sub-sub-slots, as it were) via the slot operators := and :*. [3] No advantage, as linking would be consistent. Sub-slots wouldn't be needed in this case, and afaict updating libfnord-2.1 to libfnord-2.1-r5 wouldn't trigger revdep-rebuild or require any additional mediation anyways. Hope this helps clear things up.. Ian -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlBIpGEACgkQ2ugaI38ACPBAAAD/T7kE+KkCJ2IfeHOmP/WYb+CX ofEfsqWXZ2L0aNWDoZIA/0MeHvdH3Yul/SayBbg1Z1Etmiv6vt7f2QqBPArAl/L8 =pLhN -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* [EDIT] Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-06 13:25 ` Ian Stakenvicius @ 2012-09-06 13:30 ` Ian Stakenvicius 2012-09-07 17:13 ` Fabian Groffen 1 sibling, 0 replies; 114+ messages in thread From: Ian Stakenvicius @ 2012-09-06 13:30 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 06/09/12 09:25 AM, Ian Stakenvicius wrote: > > sub-slots is the 'some-identifier' part of > ${SLOT}/${some-identifier}. It doesn't have to *replate* to ${PV} > at all, and generally shouldn't. > > ..i have no idea what "replate" was supposed to be. I think i meant to type "equate" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlBIpX4ACgkQ2ugaI38ACPC0jwD6A6PMqQHV/8sWZnqSm2hF/plD iBrZRvAxH7T0YdjQKeMA/02YFiom8mHs0GUDKUe18PkzM5aBlGKbnYyYcwcD3eOO =1cGg -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-06 13:25 ` Ian Stakenvicius 2012-09-06 13:30 ` [EDIT] " Ian Stakenvicius @ 2012-09-07 17:13 ` Fabian Groffen 2012-09-07 17:51 ` Ian Stakenvicius 2012-09-07 17:52 ` [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Zac Medico 1 sibling, 2 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 17:13 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 5079 bytes --] On 06-09-2012 09:25:53 -0400, Ian Stakenvicius wrote: > #1 - there is both a specification, and an initial implementation, AND > a fork of the tree that is kept semi-up-to-date on my dev overlay. I was interested in a (formal) specification, not a proof of concept. > #2 - related to your question about what the proposal solves -- in my > opinion, the biggest thing the proposal solves is the case where we > want the ability to use SLOTs in the tree to manage and track > dependency changes (ie, when an API or ABI has changed), but NOT allow > multiple versions of a package to be installed at the same time. > Further to this, it allows PMs to determine what needs to be rebuilt > due to the old (no longer existing) dep being supported prior to said > dep actually being removed. ... > sub-slots is the 'some-identifier' part of ${SLOT}/${some-identifier}. > It doesn't have to replate to ${PV} at all, and generally shouldn't. > More likely it should relate to the ${major}.${minor} in the main > library's SONAME. For non-libtool dependencies some other form of id > is used, ie for perl I used the major.minor from $PV. > EAPI="4-slot-deps" is new to me; the implementation i've been testing You refer to it lateron, so it seems to me you're unaware your sub-slots and slot-deps are made as one commit [1]. > is EAPI="4-slot-abi" which is sub-slots and slot operators. This is > the spec that was written and proposed for EAPI=5 and so this is what > i'll use to describe the above. both are proposed for EAPI=5 [2] > First, assuming currently libfnord is SLOT=0, and that there are no > ABI/API breakages on libfnord-2 through libfnord-3.5, I would just use > the ${major} version from the SONAME for the sub-slot. IE: > > libfnord-1:SLOT="0/3" > libfnord-2:SLOT="0/5" > libfnord-2.1:SLOT="0/5" > ... > libfnord-3.5:SLOT="0/5" > > And then, assuming that foo and bar both link in the usual way, IE > they link against libfnord.so.3 instead of just libfnord.so , they SONAME indeed refers to the versioned lib, although linking is of course done against libfnord.so (-lfnord). > both would RDEPEND as follows: > > RDEPEND="app-cat/libfnord:=" This is "Slot operator dependencies" syntax. > > (numeric indicators added): [1]What if libfnord-2.1 or libfnord-3.5 > > would be masked due to some problem not noticed prior to stabling > > that makes it useless for many users. [2]bar-2.4 during configure > > checks for a new function in libfnord-3.5 and uses it if available, > > or uses an alternative code-path instead. [3]libfnord-2.1-r5 fixes > > a crash in some function of the library. (Note: this whole > > example/question sounds like an ebuild-quiz question that any dev > > should be able to answer then.) > > > > What would be the advantage of sub-slot here, assuming the > > versioning of the libraries follows ABI versioning rules defined by > > e.g. libtool. > > [1] No advantage as sub-slots wouldn't relate to this, UNLESS the > masking would then remove -all- SLOT="0/5" versions from the tree. In > that case, the old SLOT="0/3" provider would be the 'upgrade' path and > so 'foo' and 'bar' would be triggered for rebuild (since the lib they > were linked to would be disappearing during emerge -uDN) So your example SLOTs are wrong, and should have included the minor (always!?!) since downgrading a lib that goes back to an older minor means functions no longer exist, thus a consumer can potentially break. > [2] In this case, the new ABI/API offering in libfnord-3.5 would need > to be addressed in the SLOT, ie, SLOT="0/5.12". As such when > libfnord-3.5 would be upgraded then bar-2.4 (if it was already emerged > of course) would be triggered for rebuild. 'foo' would afaik also be > triggered for rebuild, though, as (at present) there isn't a way to > match partial sub-slots (or sub-sub-slots, as it were) via the slot > operators := and :*. So you basically say: this is slot-dep, you store that bar-2.4 uses libfnord-2.1. > [3] No advantage, as linking would be consistent. Sub-slots wouldn't > be needed in this case, and afaict updating libfnord-2.1 to > libfnord-2.1-r5 wouldn't trigger revdep-rebuild or require any > additional mediation anyways. Yes. > Hope this helps clear things up.. I think I understand why ciaramn suggested the use of / iso SUB_SLOT (or something like that) here. Could you give an example where implicit ${PV} as sub-slot would not do what you need? Do you allow sub-slot to depend on e.g. USE-flags in use? Suppose libfnord has a USE-flag cow that adds special cow interfaces to the ABI/API. Would SLOT="X/${PV}$(use cow && echo -- -cow)" work? (I think SLOT is supposed to be metadata-static, but does the sub-slot part count to that?) [1] http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=e4ba8f36e6a4624f4fec61c7ce8bed0e3bd2fa01 [2] http://wiki.gentoo.org/wiki/EAPI_5_tentative_features -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-07 17:13 ` Fabian Groffen @ 2012-09-07 17:51 ` Ian Stakenvicius 2012-09-07 18:17 ` [gentoo-dev] Re: sub-slots (for EAPI 5) Fabian Groffen 2012-09-07 17:52 ` [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Zac Medico 1 sibling, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-09-07 17:51 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 07/09/12 01:13 PM, Fabian Groffen wrote: > On 06-09-2012 09:25:53 -0400, Ian Stakenvicius wrote: >> #1 - there is both a specification, and an initial >> implementation, AND a fork of the tree that is kept >> semi-up-to-date on my dev overlay. > > I was interested in a (formal) specification, not a proof of > concept. > Ahh.. sorry, i figured the modified slot-operator spec that Ciaran and Zac did was considered formal. Are you looking for a GLEP, then? or... >> #2 - related to your question about what the proposal solves -- >> in my opinion, the biggest thing the proposal solves is the case >> where we want the ability to use SLOTs in the tree to manage and >> track dependency changes (ie, when an API or ABI has changed), >> but NOT allow multiple versions of a package to be installed at >> the same time. Further to this, it allows PMs to determine what >> needs to be rebuilt due to the old (no longer existing) dep being >> supported prior to said dep actually being removed. > > ... > >> sub-slots is the 'some-identifier' part of >> ${SLOT}/${some-identifier}. It doesn't have to replate to ${PV} >> at all, and generally shouldn't. More likely it should relate to >> the ${major}.${minor} in the main library's SONAME. For >> non-libtool dependencies some other form of id is used, ie for >> perl I used the major.minor from $PV. > >> EAPI="4-slot-deps" is new to me; the implementation i've been >> testing > > You refer to it lateron, so it seems to me you're unaware your > sub-slots and slot-deps are made as one commit [1]. > if you s/slot-deps/slot-operators/ , then yes i'm aware. to me, "slot-deps" is something we got in (iirc) EAPI=2. >> is EAPI="4-slot-abi" which is sub-slots and slot operators. This >> is the spec that was written and proposed for EAPI=5 and so this >> is what i'll use to describe the above. > > both are proposed for EAPI=5 [2] > >> First, assuming currently libfnord is SLOT=0, and that there are >> no ABI/API breakages on libfnord-2 through libfnord-3.5, I would >> just use the ${major} version from the SONAME for the sub-slot. >> IE: >> >> libfnord-1:SLOT="0/3" libfnord-2:SLOT="0/5" >> libfnord-2.1:SLOT="0/5" ... libfnord-3.5:SLOT="0/5" >> >> And then, assuming that foo and bar both link in the usual way, >> IE they link against libfnord.so.3 instead of just libfnord.so , >> they > > SONAME indeed refers to the versioned lib, although linking is of > course done against libfnord.so (-lfnord). > When looking at the output of 'scanelf -n' on a binary or library, dependent libs seem usually to be linked against libfnord.so.X rather than libfnord.so ; hence the breakage when upgrading from a libfnord.so.3 provider to a libfnord.so.5 provider. I'm sure you're aware of that, just trying to clarify what I meant above. >> both would RDEPEND as follows: >> >> RDEPEND="app-cat/libfnord:=" > > This is "Slot operator dependencies" syntax. > ...and? >>> (numeric indicators added): [1]What if libfnord-2.1 or >>> libfnord-3.5 would be masked due to some problem not noticed >>> prior to stabling that makes it useless for many users. >>> [2]bar-2.4 during configure checks for a new function in >>> libfnord-3.5 and uses it if available, or uses an alternative >>> code-path instead. [3]libfnord-2.1-r5 fixes a crash in some >>> function of the library. (Note: this whole example/question >>> sounds like an ebuild-quiz question that any dev should be able >>> to answer then.) >>> >>> What would be the advantage of sub-slot here, assuming the >>> versioning of the libraries follows ABI versioning rules >>> defined by e.g. libtool. >> >> [1] No advantage as sub-slots wouldn't relate to this, UNLESS >> the masking would then remove -all- SLOT="0/5" versions from the >> tree. In that case, the old SLOT="0/3" provider would be the >> 'upgrade' path and so 'foo' and 'bar' would be triggered for >> rebuild (since the lib they were linked to would be disappearing >> during emerge -uDN) > > So your example SLOTs are wrong, and should have included the > minor (always!?!) since downgrading a lib that goes back to an > older minor means functions no longer exist, thus a consumer can > potentially break. > If those (missing) functions are necessary then the either the full slot, or the particular minimum package version, of libfnord would need to be specified in the consumer. This isn't any different from how things work now. IE, if foo works fine when being built against either libfnord-1 or libfnord-2 , then the := slot operator will trigger a rebuild when libfnord upgrades or downgrades. That's its point. If foo needs functions that only libfnord-2 provides then it needs a dep of > =libfnord-2 , or alternatively libfnord:0/5 . >> [2] In this case, the new ABI/API offering in libfnord-3.5 would >> need to be addressed in the SLOT, ie, SLOT="0/5.12". As such >> when libfnord-3.5 would be upgraded then bar-2.4 (if it was >> already emerged of course) would be triggered for rebuild. 'foo' >> would afaik also be triggered for rebuild, though, as (at >> present) there isn't a way to match partial sub-slots (or >> sub-sub-slots, as it were) via the slot operators := and :*. > > So you basically say: this is slot-dep, you store that bar-2.4 > uses libfnord-2.1. > No, we store that bar-2.4 uses libfnord:0/5 This is why, for the rebuild of bar-2.4 to be triggered on upgrade to libfnord-3.5 the SLOT= var within libfnord-3.5.ebuild would need to have something other than SLOT="0/5", ie, SLOT="0/5.12" >> [3] No advantage, as linking would be consistent. Sub-slots >> wouldn't be needed in this case, and afaict updating libfnord-2.1 >> to libfnord-2.1-r5 wouldn't trigger revdep-rebuild or require >> any additional mediation anyways. > > Yes. > >> Hope this helps clear things up.. > > I think I understand why ciaramn suggested the use of / iso > SUB_SLOT (or something like that) here. > > Could you give an example where implicit ${PV} as sub-slot would > not do what you need? Explicit ${PV} would result in needless rebuilds due to sub-slot changes in your libfnord example above. IE, there is no reason for a package that has a basic RDEPEND="app-cat/libfnord:=" to be rebuilt except when libfnord is upgraded from libfnord-1 to >libfnord-1 ; whereas if ${PV} -were- to be the sub-slot, then rebuilds would happen on every version bump. > > Do you allow sub-slot to depend on e.g. USE-flags in use? Suppose > libfnord has a USE-flag cow that adds special cow interfaces to > the ABI/API. Would SLOT="X/${PV}$(use cow && echo -- -cow)" work? > (I think SLOT is supposed to be metadata-static, but does the > sub-slot part count to that?) No, afaik slots (including sub-slots) can't be dynamic. Plus we already have comprehensive use deps solutions so why would we need that? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlBKNBwACgkQ2ugaI38ACPBsOQEAsFeayfviF743E9+6M06nRFiN Zoz58P1VIIUxR8QdqEoA/RU7OaoIlMDbTOAwuxIuRY2lj0hUI2zVfCk09u58l1Yv =zKWs -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 17:51 ` Ian Stakenvicius @ 2012-09-07 18:17 ` Fabian Groffen 2012-09-07 18:21 ` Ciaran McCreesh ` (2 more replies) 0 siblings, 3 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 18:17 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 4023 bytes --] On 07-09-2012 13:51:24 -0400, Ian Stakenvicius wrote: > On 07/09/12 01:13 PM, Fabian Groffen wrote: > > On 06-09-2012 09:25:53 -0400, Ian Stakenvicius wrote: > >> #1 - there is both a specification, and an initial > >> implementation, AND a fork of the tree that is kept > >> semi-up-to-date on my dev overlay. > > > > I was interested in a (formal) specification, not a proof of > > concept. > > > > Ahh.. sorry, i figured the modified slot-operator spec that Ciaran > and Zac did was considered formal. Are you looking for a GLEP, then? > or... No, not a GLEP, per se. I'm trying to understand what sub-slot does and is. I think I'm starting to understand now. However, for this feature to be added to an EAPI, IMO it would be nice if there are resources that make it for most developers very clear how this feature should be used (and how not), and what kind of problems it can solve. I guess real-life examples, more extensively described than you did before, with exactly where it goes wrong, and how the situation is improved would help. > if you s/slot-deps/slot-operators/ , then yes i'm aware. to me, > "slot-deps" is something we got in (iirc) EAPI=2. The wiki calls it "Slot operator dependencies", which I abbreviate dto slot-deps. Sorry for the confusion. > >> [1] No advantage as sub-slots wouldn't relate to this, UNLESS > >> the masking would then remove -all- SLOT="0/5" versions from the > >> tree. In that case, the old SLOT="0/3" provider would be the > >> 'upgrade' path and so 'foo' and 'bar' would be triggered for > >> rebuild (since the lib they were linked to would be disappearing > >> during emerge -uDN) > > > > So your example SLOTs are wrong, and should have included the > > minor (always!?!) since downgrading a lib that goes back to an > > older minor means functions no longer exist, thus a consumer can > > potentially break. > > If those (missing) functions are necessary then the either the full > slot, or the particular minimum package version, of libfnord would > need to be specified in the consumer. This isn't any different from > how things work now. Eh, no. Now it just always breaks when you perform a downgrade, and revdev-rebuild or @preserved-libs won't help you. I prefer that you give best practices how to use sub-slots to make Portage also able to do a recompile of bar when libfnord in the same SLOT gets downgraded. (Because minors are used for compatible changes -- additions -- to the ABI.) (And the recompile is preferably done against the headers of the downgraded version, but with the newer version's lib still around, such that if this is a vital binary such as Python, it will not break down -- however, this is most likely too much to ask.) > This is why, for the rebuild of bar-2.4 to be triggered on upgrade to > libfnord-3.5 the SLOT= var within libfnord-3.5.ebuild would need to > have something other than SLOT="0/5", ie, SLOT="0/5.12" Yeah, but can I also avoid bar-2.4 being recompiled when I install libfnord-3.5? It's not necessary, because the 5-ABI of libfnord is supposed to be backwards compatible. (At least that's the idea.) Like mentioned before, I DO want bar-2.4 to be recompiled if I have to downgrade libfnord to a version before the one I had installed when I compiled bar-2.4, though. > > Do you allow sub-slot to depend on e.g. USE-flags in use? Suppose > > libfnord has a USE-flag cow that adds special cow interfaces to > > the ABI/API. Would SLOT="X/${PV}$(use cow && echo -- -cow)" work? > > (I think SLOT is supposed to be metadata-static, but does the > > sub-slot part count to that?) > > No, afaik slots (including sub-slots) can't be dynamic. Plus we > already have comprehensive use deps solutions so why would we need that? Because the ABI changes. But I guess you're right that we can safely ignore packages that screw it up badly enough here. Thanks -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:17 ` [gentoo-dev] Re: sub-slots (for EAPI 5) Fabian Groffen @ 2012-09-07 18:21 ` Ciaran McCreesh 2012-09-07 18:49 ` Fabian Groffen 2012-09-07 18:39 ` Ian Stakenvicius 2012-09-07 19:03 ` Zac Medico 2 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-09-07 18:21 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 576 bytes --] On Fri, 7 Sep 2012 20:17:17 +0200 Fabian Groffen <grobian@gentoo.org> wrote: > Eh, no. Now it just always breaks when you perform a downgrade, and > revdev-rebuild or @preserved-libs won't help you. I prefer that you > give best practices how to use sub-slots to make Portage also able to > do a recompile of bar when libfnord in the same SLOT gets downgraded. > (Because minors are used for compatible changes -- additions -- to the > ABI.) Downgrades aren't covered by sub-slots, slots, regular dependencies, libtool, or anything else. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:21 ` Ciaran McCreesh @ 2012-09-07 18:49 ` Fabian Groffen 2012-09-07 18:55 ` Ciaran McCreesh 0 siblings, 1 reply; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 18:49 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1229 bytes --] On 07-09-2012 19:21:57 +0100, Ciaran McCreesh wrote: > On Fri, 7 Sep 2012 20:17:17 +0200 > Fabian Groffen <grobian@gentoo.org> wrote: > > Eh, no. Now it just always breaks when you perform a downgrade, and > > revdev-rebuild or @preserved-libs won't help you. I prefer that you > > give best practices how to use sub-slots to make Portage also able to > > do a recompile of bar when libfnord in the same SLOT gets downgraded. > > (Because minors are used for compatible changes -- additions -- to the > > ABI.) > > Downgrades aren't covered by sub-slots, slots, regular dependencies, > libtool, or anything else. It seems I mistakenly took slot-operator-deps and sub-slots as something that can be mapped onto ABIs. Doing so, however has proven to be wrong. It appears slot-operator-deps do have some resemblance with ABI here (especially if :* would be written in PMS such that it only allows upgrades, no downgrades), but sub-slots are completely unrelated. I don't like the mixing of the two in a single var, at all. I think I'd much more prefer Portage to understand ABIs and potentially versions, to make it explicit why it is doing what. -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:49 ` Fabian Groffen @ 2012-09-07 18:55 ` Ciaran McCreesh 2012-09-07 19:07 ` Fabian Groffen 0 siblings, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-09-07 18:55 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1507 bytes --] On Fri, 7 Sep 2012 20:49:35 +0200 Fabian Groffen <grobian@gentoo.org> wrote: > On 07-09-2012 19:21:57 +0100, Ciaran McCreesh wrote: > > On Fri, 7 Sep 2012 20:17:17 +0200 > > Fabian Groffen <grobian@gentoo.org> wrote: > > > Eh, no. Now it just always breaks when you perform a downgrade, > > > and revdev-rebuild or @preserved-libs won't help you. I prefer > > > that you give best practices how to use sub-slots to make Portage > > > also able to do a recompile of bar when libfnord in the same SLOT > > > gets downgraded. (Because minors are used for compatible changes > > > -- additions -- to the ABI.) > > > > Downgrades aren't covered by sub-slots, slots, regular dependencies, > > libtool, or anything else. > > It seems I mistakenly took slot-operator-deps and sub-slots as > something that can be mapped onto ABIs. Doing so, however has proven > to be wrong. It's not entirely wrong. There's a reason we stopped using the word "ABI", though: it's a meaningless term with a lot of misleading connotations. > It appears slot-operator-deps do have some resemblance with ABI here > (especially if :* would be written in PMS such that it only allows > upgrades, no downgrades), but sub-slots are completely unrelated. Downgrades are a different, unrelated problem. If you're trying to solve that, you'll need a different, orthogonal solution. Note, though, that downgrade breakages are typically not covered by whatever you think an ABI is. -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:55 ` Ciaran McCreesh @ 2012-09-07 19:07 ` Fabian Groffen 0 siblings, 0 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 19:07 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 720 bytes --] On 07-09-2012 19:55:53 +0100, Ciaran McCreesh wrote: > > It appears slot-operator-deps do have some resemblance with ABI here > > (especially if :* would be written in PMS such that it only allows > > upgrades, no downgrades), but sub-slots are completely unrelated. > > Downgrades are a different, unrelated problem. If you're trying to > solve that, you'll need a different, orthogonal solution. Note, though, > that downgrade breakages are typically not covered by whatever you think > an ABI is. I don't really want to solve downgrades. I just want to fully understand what slot-deps is supposed to do, and what not. It seems I fail in doing so. -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:17 ` [gentoo-dev] Re: sub-slots (for EAPI 5) Fabian Groffen 2012-09-07 18:21 ` Ciaran McCreesh @ 2012-09-07 18:39 ` Ian Stakenvicius 2012-09-07 19:00 ` Fabian Groffen 2012-09-07 19:03 ` Zac Medico 2 siblings, 1 reply; 114+ messages in thread From: Ian Stakenvicius @ 2012-09-07 18:39 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 07/09/12 02:17 PM, Fabian Groffen wrote: > > No, not a GLEP, per se. I'm trying to understand what sub-slot > does and is. I think I'm starting to understand now. However, for > this feature to be added to an EAPI, IMO it would be nice if there > are resources that make it for most developers very clear how this > feature should be used (and how not), and what kind of problems it > can solve. > > I guess real-life examples, more extensively described than you > did before, with exactly where it goes wrong, and how the situation > is improved would help. > I agree; I expect devmanual.gentoo.org would need a nice big page (or section in the SLOTs page) describing it, if not at the very least a nice entry on wiki.g.o >>>> [1] No advantage as sub-slots wouldn't relate to this, >>>> UNLESS the masking would then remove -all- SLOT="0/5" >>>> versions from the tree. In that case, the old SLOT="0/3" >>>> provider would be the 'upgrade' path and so 'foo' and 'bar' >>>> would be triggered for rebuild (since the lib they were >>>> linked to would be disappearing during emerge -uDN) >>> >>> So your example SLOTs are wrong, and should have included the >>> minor (always!?!) since downgrading a lib that goes back to an >>> older minor means functions no longer exist, thus a consumer >>> can potentially break. >> >> If those (missing) functions are necessary then the either the >> full slot, or the particular minimum package version, of libfnord >> would need to be specified in the consumer. This isn't any >> different from how things work now. > > Eh, no. Now it just always breaks when you perform a downgrade, > and revdev-rebuild or @preserved-libs won't help you. I prefer > that you give best practices how to use sub-slots to make Portage > also able to do a recompile of bar when libfnord in the same SLOT > gets downgraded. (Because minors are used for compatible changes -- > additions -- to the ABI.) (And the recompile is preferably done > against the headers of the downgraded version, but with the newer > version's lib still around, such that if this is a vital binary > such as Python, it will not break down -- however, this is most > likely too much to ask.) > I guess maybe i'm not following your example. To spell it out better, here's what I'm understanding: bar-1.0 has (prior to slot-operators) an RDEPEND="app-cat/libfnord". No version specified. As such, it'll build successfully against either libfnord-1 or libfnord-2. Right now (as i understand it) a downgrade from libfnord-2 to libfnord-1 would "break" bar-1.0 bot revdep-rebuild would detect and fix it. sub-slots + slot-operators would alleviate what I just described, auto-rebuilding bar (at least that's the theory; i've had some issues getting portage to downgrade things even with regular slots so some work on the implementation might be needed with this, dunno) *IF* on the other hand, you're referring to the case of libfnord-2.1 downgrading to libfnord-2 , then yes I can see how bar-1.0 would be broken and revdep-rebuild wouldn't fix it. However, as far as I understand it, proper LTVERSIONing should mean that bar wouldn't break as anything which would break bar on a libfnord-2 downgrade shouldn't be used by bar in libfnord-2.1 -- ie, the differences would be internal to libfnord and not directly used by bar. If a package is -not- properly LTVERSIONed though, sub-slot bumps could help alleviate this issue at the ebuild level. >> This is why, for the rebuild of bar-2.4 to be triggered on >> upgrade to libfnord-3.5 the SLOT= var within libfnord-3.5.ebuild >> would need to have something other than SLOT="0/5", ie, >> SLOT="0/5.12" > > Yeah, but can I also avoid bar-2.4 being recompiled when I install > libfnord-3.5? It's not necessary, because the 5-ABI of libfnord > is supposed to be backwards compatible. (At least that's the > idea.) Like mentioned before, I DO want bar-2.4 to be recompiled if > I have to downgrade libfnord to a version before the one I had > installed when I compiled bar-2.4, though. > Sure -- since bar-2.4 does support a codepath for <libfnord-3.5, there's no reason to rebuild bar-2.4 to enforce it afaict. As for the downgrade, bar-2.4 should link against libfnord.so.5.12 rather than libfnord.so.5 due to the LTVERSION-specific codepath I think; and I also think that sub-slots couldn't be used to trigger the rebuild on downgrade if there shouldn't be a rebuild on upgrade; @preserve-libs would be the only way to handle this one. >>> Do you allow sub-slot to depend on e.g. USE-flags in use? >>> Suppose libfnord has a USE-flag cow that adds special cow >>> interfaces to the ABI/API. Would SLOT="X/${PV}$(use cow && >>> echo -- -cow)" work? (I think SLOT is supposed to be >>> metadata-static, but does the sub-slot part count to that?) >> >> No, afaik slots (including sub-slots) can't be dynamic. Plus we >> already have comprehensive use deps solutions so why would we >> need that? > > Because the ABI changes. But I guess you're right that we can > safely ignore packages that screw it up badly enough here. I think that the best way to resolve something like this would be more comprehensive use dep usage -- ie, if bar uses the bits of libfnord available through USE="cow" then bar is effectively dependant on those bits and so a libfnord:=[cow?] dep (and IUSE="cow" addition if not already there) might be appropriate. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlBKP2oACgkQ2ugaI38ACPA3lAD/blxSdo1onKom/rFESPbQVWU4 bXNDbxlE28YNWTjBipkBAIxacbdMUcp8t7drd+Ldh1LULp3tEPQwIhdFPtdylGi7 =0/rQ -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:39 ` Ian Stakenvicius @ 2012-09-07 19:00 ` Fabian Groffen 0 siblings, 0 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 19:00 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1802 bytes --] On 07-09-2012 14:39:38 -0400, Ian Stakenvicius wrote: > I guess maybe i'm not following your example. To spell it out better, > here's what I'm understanding: > > bar-1.0 has (prior to slot-operators) an RDEPEND="app-cat/libfnord". > No version specified. As such, it'll build successfully against > either libfnord-1 or libfnord-2. Right now (as i understand it) a > downgrade from libfnord-2 to libfnord-1 would "break" bar-1.0 bot > revdep-rebuild would detect and fix it. right or portage would preserve libfnord-2's libs > sub-slots + slot-operators would alleviate what I just described, > auto-rebuilding bar (at least that's the theory; i've had some issues > getting portage to downgrade things even with regular slots so some > work on the implementation might be needed with this, dunno) > > *IF* on the other hand, you're referring to the case of libfnord-2.1 > downgrading to libfnord-2 , then yes I can see how bar-1.0 would be > broken and revdep-rebuild wouldn't fix it. However, as far as I > understand it, proper LTVERSIONing should mean that bar wouldn't break > as anything which would break bar on a libfnord-2 downgrade shouldn't > be used by bar in libfnord-2.1 -- ie, the differences would be > internal to libfnord and not directly used by bar. Well, yes and no. The no applies to the case where bar works around a missing function by e.g. implementing it itself, conditionally. A package maintainer might not have been aware of this, hence not expressed this in the dependencies (e.g. requiring the version that contains the missing function). Anyway, we should avoid downgrades of libraries, so no need to discuss this any further. It doesn't break more than it does already. -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 18:17 ` [gentoo-dev] Re: sub-slots (for EAPI 5) Fabian Groffen 2012-09-07 18:21 ` Ciaran McCreesh 2012-09-07 18:39 ` Ian Stakenvicius @ 2012-09-07 19:03 ` Zac Medico 2012-09-07 19:25 ` Fabian Groffen 2 siblings, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-09-07 19:03 UTC (permalink / raw To: gentoo-dev, Fabian Groffen On 09/07/2012 11:17 AM, Fabian Groffen wrote: > No, not a GLEP, per se. I'm trying to understand what sub-slot does and > is. I think I'm starting to understand now. However, for this feature > to be added to an EAPI, IMO it would be nice if there are resources that > make it for most developers very clear how this feature should be used > (and how not), and what kind of problems it can solve. > > I guess real-life examples, more extensively described than you did > before, with exactly where it goes wrong, and how the situation is > improved would help. Perhaps some of the greatest frustrations for Gentoo users stem from the lack of support for automatic rebuild of packages when necessary. Imagine how nice it would be if necessary rebuilds would automatically occur when appropriate, so that you wouldn't experience build failures that require you to manually intervene by running revdep-rebuild, perl-cleaner, or something like that. And there are other kinds of necessary rebuilds that don't trigger build failures, but lead to runtime failures that are noticed much later (like xorg driver failures after a major xorg-server update). Sub-slots can be used to solve the bulk of problems like these that our users have had to deal with manually. > Eh, no. Now it just always breaks when you perform a downgrade, and > revdev-rebuild or @preserved-libs won't help you. I prefer that you > give best practices how to use sub-slots to make Portage also able to do > a recompile of bar when libfnord in the same SLOT gets downgraded. > (Because minors are used for compatible changes -- additions -- to the > ABI.) > (And the recompile is preferably done against the headers of the > downgraded version, but with the newer version's lib still around, such > that if this is a vital binary such as Python, it will not break down -- > however, this is most likely too much to ask.) It might be worthwhile to try come up with some way to handle minor downgrades in some later EAPI, but it adds complexity. Meanwhile, sub-slots are a relatively simple extension to slot-operator deps, and they are poised to greatly improve user experience (via automatic rebuilds) if they are included in EAPI 5. -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 19:03 ` Zac Medico @ 2012-09-07 19:25 ` Fabian Groffen 2012-09-07 19:36 ` Ciaran McCreesh 2012-09-07 19:53 ` Ian Stakenvicius 0 siblings, 2 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 19:25 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1519 bytes --] On 07-09-2012 12:03:16 -0700, Zac Medico wrote: > On 09/07/2012 11:17 AM, Fabian Groffen wrote: > > I guess real-life examples, more extensively described than you did > > before, with exactly where it goes wrong, and how the situation is > > improved would help. > > Perhaps some of the greatest frustrations for Gentoo users stem from the > lack of support for automatic rebuild of packages when necessary. > Imagine how nice it would be if necessary rebuilds would automatically > occur when appropriate, so that you wouldn't experience build failures > that require you to manually intervene by running revdep-rebuild, > perl-cleaner, or something like that. And there are other kinds of > necessary rebuilds that don't trigger build failures, but lead to > runtime failures that are noticed much later (like xorg driver failures > after a major xorg-server update). Sub-slots can be used to solve the > bulk of problems like these that our users have had to deal with manually. I like that! Kudos for making it work! I just wonder what the heck that has to do with SLOT. This discussion has been done before in this thread, and it somehow settled. > ... sub-slots are a relatively simple extension to slot-operator deps, > and they are poised to greatly improve user experience (via automatic > rebuilds) if they are included in EAPI 5. And we want it. But is it a good idea to add some feature that feels like just a hack? -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 19:25 ` Fabian Groffen @ 2012-09-07 19:36 ` Ciaran McCreesh 2012-09-07 19:50 ` Fabian Groffen 2012-09-07 19:53 ` Ian Stakenvicius 1 sibling, 1 reply; 114+ messages in thread From: Ciaran McCreesh @ 2012-09-07 19:36 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1436 bytes --] On Fri, 7 Sep 2012 21:25:22 +0200 Fabian Groffen <grobian@gentoo.org> wrote: > I like that! Kudos for making it work! > > I just wonder what the heck that has to do with SLOT. The correct fix for "not needing to rebuild" stuff is to SLOT libraries like crazy, and have a SLOT per thing-we-don't-call-ABI. This then needs := dependencies, so that packages can say "and remember which SLOT I was built against". However, there are some packages that cannot easily be SLOTted to the degree that we'd like. This is where sub-SLOTs come in. Given sub-SLOTted packages dep:1/a and dep:1/b, this says "I'd like to have slots 1a and 1b, but it's too difficult to allow 1a and 1b to be installed at the same time". So suppose the user has pkg with a dependency upon dep, with slot 1 and a := operator. They install pkg when dep:1/a is installed. The user then installs dep:1/b. In an ideal world, dep:1/a would remain installed in parallel with dep:1/b, but your friendly Gentoo developers have decided it's not worth their time to allow this. Thus, dep:1/a has to be uninstalled to allow dep:1/b to be installed. But this would break pkg, since pkg needs dep:1/a. However, a clever dependency resolver can note that reinstalling pkg would fix it, since dep:1/b also satisfies pkg's slot 1 := dependency (but not the locked 1/a dependency that the installed version of pkg has picked up). -- Ciaran McCreesh [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 19:36 ` Ciaran McCreesh @ 2012-09-07 19:50 ` Fabian Groffen 0 siblings, 0 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 19:50 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 1421 bytes --] On 07-09-2012 20:36:02 +0100, Ciaran McCreesh wrote: > The correct fix for "not needing to rebuild" stuff is to SLOT libraries > like crazy, and have a SLOT per thing-we-don't-call-ABI. This then > needs := dependencies, so that packages can say "and remember which > SLOT I was built against". > > However, there are some packages that cannot easily be SLOTted to the > degree that we'd like. This is where sub-SLOTs come in. Given > sub-SLOTted packages dep:1/a and dep:1/b, this says "I'd like to have > slots 1a and 1b, but it's too difficult to allow 1a and 1b to be > installed at the same time". > > So suppose the user has pkg with a dependency upon dep, with slot 1 and > a := operator. They install pkg when dep:1/a is installed. The user > then installs dep:1/b. In an ideal world, dep:1/a would remain > installed in parallel with dep:1/b, but your friendly Gentoo developers > have decided it's not worth their time to allow this. Thus, dep:1/a has > to be uninstalled to allow dep:1/b to be installed. But this would > break pkg, since pkg needs dep:1/a. However, a clever dependency > resolver can note that reinstalling pkg would fix it, since dep:1/b > also satisfies pkg's slot 1 := dependency (but not the locked 1/a > dependency that the installed version of pkg has picked up). Thanks. It seems we're there. At last. -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] Re: sub-slots (for EAPI 5) 2012-09-07 19:25 ` Fabian Groffen 2012-09-07 19:36 ` Ciaran McCreesh @ 2012-09-07 19:53 ` Ian Stakenvicius 1 sibling, 0 replies; 114+ messages in thread From: Ian Stakenvicius @ 2012-09-07 19:53 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 07/09/12 03:25 PM, Fabian Groffen wrote: > On 07-09-2012 12:03:16 -0700, Zac Medico wrote: >> On 09/07/2012 11:17 AM, Fabian Groffen wrote: >>> I guess real-life examples, more extensively described than you >>> did before, with exactly where it goes wrong, and how the >>> situation is improved would help. >> >> Perhaps some of the greatest frustrations for Gentoo users stem >> from the lack of support for automatic rebuild of packages when >> necessary. Imagine how nice it would be if necessary rebuilds >> would automatically occur when appropriate, so that you wouldn't >> experience build failures that require you to manually intervene >> by running revdep-rebuild, perl-cleaner, or something like that. >> And there are other kinds of necessary rebuilds that don't >> trigger build failures, but lead to runtime failures that are >> noticed much later (like xorg driver failures after a major >> xorg-server update). Sub-slots can be used to solve the bulk of >> problems like these that our users have had to deal with >> manually. > > I like that! Kudos for making it work! > > I just wonder what the heck that has to do with SLOT. This > discussion has been done before in this thread, and it somehow > settled. > >> ... sub-slots are a relatively simple extension to slot-operator >> deps, and they are poised to greatly improve user experience (via >> automatic rebuilds) if they are included in EAPI 5. > > And we want it. But is it a good idea to add some feature that > feels like just a hack? > > Originally the sub-slot idea came about because one of the ways "around" all of this broken-and-requiring-afterthefact-rebuilding was to just make everything slotted -- so there would always be multiple slots of everything installed -- and use slot-operators to indicate when things should be re-emerged Although this would work, the end result would (imo at least) be horrible on-disk. Sub-slots allow the main part of SLOT to still specify what's installed on disk, while allowing PMS to identify and trigger rebuilds for SLOT changes based on slot-operators. I see it akin to the '-r' portion of ${PV} -- Used by portage to trigger updates but having very little meaning to the actual version of the package that gets installed. (ok i might be stretching it with this) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlBKUK4ACgkQ2ugaI38ACPDbCAEAiG+7hQch043se8ZfDE4qC52w 79ZImWn5jazqGQDN3zsA/3B1AJR+SWxUFDHZF1LArX0r0Gd7J2madTqP0m+llxuG =7IEF -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-07 17:13 ` Fabian Groffen 2012-09-07 17:51 ` Ian Stakenvicius @ 2012-09-07 17:52 ` Zac Medico 2012-09-07 17:59 ` Fabian Groffen 1 sibling, 1 reply; 114+ messages in thread From: Zac Medico @ 2012-09-07 17:52 UTC (permalink / raw To: gentoo-dev, Fabian Groffen -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/07/2012 10:13 AM, Fabian Groffen wrote: > Could you give an example where implicit ${PV} as sub-slot would > not do what you need? Can you point out a package for which SONAME/ABI/whatever changes every time ${PV} changes? Probably not. Is the relationship between ${PV} and SONAME/ABI/whatever changes the same for every package? Absolutely not. So, we have to be able to bump the sub-slot when it's appropriate for the particular package, and every package is different. - -- Thanks, Zac -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iEYEARECAAYFAlBKNEoACgkQ/ejvha5XGaOvAQCfZS/TAtDijXFox9cHi3BkjKgP raYAoJL77bi09/dABH3brj+2LjWYbydK =sIAY -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-07 17:52 ` [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Zac Medico @ 2012-09-07 17:59 ` Fabian Groffen 0 siblings, 0 replies; 114+ messages in thread From: Fabian Groffen @ 2012-09-07 17:59 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 705 bytes --] On 07-09-2012 10:52:10 -0700, Zac Medico wrote: > On 09/07/2012 10:13 AM, Fabian Groffen wrote: > > Could you give an example where implicit ${PV} as sub-slot would > > not do what you need? > > Can you point out a package for which SONAME/ABI/whatever changes > every time ${PV} changes? Probably not. Is the relationship between > ${PV} and SONAME/ABI/whatever changes the same for every package? > Absolutely not. So, we have to be able to bump the sub-slot when it's > appropriate for the particular package, and every package is different. I'm sure there are such packages, but I guess you're right. It's good to have this clear. -- Fabian Groffen Gentoo on a different level [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 195 bytes --] ^ permalink raw reply [flat|nested] 114+ messages in thread
* Re: [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue 2012-09-06 9:01 ` Fabian Groffen 2012-09-06 13:25 ` Ian Stakenvicius @ 2012-09-06 16:40 ` Zac Medico 1 sibling, 0 replies; 114+ messages in thread From: Zac Medico @ 2012-09-06 16:40 UTC (permalink / raw To: gentoo-dev On 09/06/2012 02:01 AM, Fabian Groffen wrote: > After reading this thread, I have seen numerous occasions where has been > asked what this proposal actually solves. Unless I've accidentially > skipped over it, the answer has yet to be given. It appears to me now > sub-slot is a feature that makes it easy to express a situation that > could be expressed today as well, but requiring more work. As such > "syntactic sugar", it seems not well bounded, allowing possibly for > doing things that result in a big mess (I cannot prove this atm, and > there is no specification afaict.) The sub-slot is needed for those cases where it's just not practical to bump the regular slot. Tiziano Müller (dev-zero) has summarized the possible solutions well [1]: > I see four possibilities: > 1) patch them to version the headers as well and slot them (together with slot operator deps) > 2) ask upstream to properly version the headers alongside with the lib and slot them (together with slot operator deps) > 3) slot them and block old slots in newer versions (together with slot operator deps) > 4) introduce a new EAPI variable which can be incremented whenever an soname changes (needs some more thinking and proper specification, somehow duplicates SLOT) Sub-slot implements #4 (by extending the SLOT variable instead of using a new variable). [1] https://bugs.gentoo.org/show_bug.cgi?id=414955#c10 -- Thanks, Zac ^ permalink raw reply [flat|nested] 114+ messages in thread
end of thread, other threads:[~2012-09-07 19:56 UTC | newest] Thread overview: 114+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-06-04 21:26 [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Pacho Ramos 2012-06-05 12:44 ` Aaron W. Swenson 2012-06-05 13:31 ` [gentoo-dev] " Pacho Ramos 2012-06-05 23:07 ` Zac Medico 2012-06-06 5:31 ` Ciaran McCreesh 2012-06-06 5:49 ` Zac Medico 2012-06-06 8:28 ` Pacho Ramos 2012-06-06 9:17 ` Zac Medico 2012-06-06 9:48 ` Pacho Ramos 2012-06-06 10:13 ` Zac Medico 2012-06-06 17:16 ` Ciaran McCreesh 2012-06-06 18:02 ` Pacho Ramos 2012-06-06 18:15 ` Ciaran McCreesh 2012-06-06 18:30 ` Pacho Ramos 2012-06-06 18:33 ` Ciaran McCreesh 2012-06-06 19:16 ` Pacho Ramos 2012-06-06 19:23 ` Ciaran McCreesh 2012-06-06 19:32 ` Pacho Ramos 2012-06-07 0:43 ` Zac Medico 2012-06-07 8:24 ` Brian Harring 2012-06-07 16:43 ` Zac Medico 2012-06-07 17:40 ` Ciaran McCreesh 2012-06-07 17:55 ` Pacho Ramos 2012-06-07 18:03 ` Zac Medico 2012-06-07 18:08 ` Ciaran McCreesh 2012-06-07 18:16 ` Pacho Ramos 2012-06-07 18:43 ` Pacho Ramos 2012-06-07 18:44 ` Ciaran McCreesh 2012-06-07 19:00 ` Pacho Ramos 2012-06-07 19:09 ` Zac Medico 2012-06-07 19:24 ` Pacho Ramos 2012-06-07 19:33 ` Zac Medico 2012-06-08 8:38 ` Pacho Ramos 2012-06-08 19:16 ` Zac Medico 2012-06-08 19:23 ` Pacho Ramos 2012-06-08 19:31 ` Ian Stakenvicius 2012-06-08 19:31 ` Zac Medico 2012-06-09 10:46 ` Pacho Ramos 2012-06-09 10:53 ` Pacho Ramos 2012-06-09 12:15 ` Ciaran McCreesh 2012-06-09 20:55 ` Zac Medico 2012-06-10 12:25 ` Ciaran McCreesh 2012-06-10 12:45 ` Davide Pesavento 2012-06-10 13:07 ` Ian Stakenvicius 2012-06-10 18:18 ` Zac Medico 2012-06-24 0:42 ` Zac Medico 2012-06-25 13:03 ` Ian Stakenvicius 2012-06-25 17:58 ` Zac Medico 2012-06-27 19:38 ` Ian Stakenvicius 2012-06-30 8:46 ` [gentoo-dev] About forcing rebuilds of perl modules Torsten Veller 2012-06-30 9:30 ` Zac Medico 2012-06-30 17:12 ` Ian Stakenvicius 2012-07-07 1:17 ` Kent Fredric 2012-07-07 4:40 ` Zac Medico 2012-06-10 19:17 ` [gentoo-dev] About forcing rebuilds of other packages issue Pacho Ramos 2012-06-10 22:49 ` Brian Harring 2012-06-12 15:26 ` Ian Stakenvicius 2012-06-07 19:14 ` Ian Stakenvicius 2012-06-07 19:15 ` Ciaran McCreesh 2012-06-07 21:34 ` Brian Harring 2012-06-07 18:04 ` Ralph Sennhauser 2012-06-07 18:23 ` Zac Medico 2012-06-08 1:20 ` Zac Medico 2012-06-06 21:21 ` Zac Medico 2012-06-07 5:28 ` Ciaran McCreesh 2012-06-07 17:42 ` Zac Medico 2012-06-07 17:59 ` Pacho Ramos 2012-06-07 18:09 ` Ciaran McCreesh 2012-06-06 5:33 ` Ciaran McCreesh 2012-06-06 8:32 ` Pacho Ramos 2012-06-06 17:19 ` Ciaran McCreesh 2012-06-06 18:03 ` Pacho Ramos 2012-06-06 21:45 ` Zac Medico 2012-06-07 6:12 ` Ciaran McCreesh 2012-06-07 17:47 ` Zac Medico 2012-06-07 18:04 ` Wulf C. Krueger 2012-06-07 18:14 ` Pacho Ramos 2012-06-07 18:13 ` Ciaran McCreesh 2012-06-07 18:28 ` Zac Medico 2012-06-05 20:28 ` [gentoo-dev] [gentoo-portage-dev] " Ciaran McCreesh 2012-06-06 0:51 ` Michael Weber 2012-06-06 2:18 ` Zac Medico 2012-06-06 8:46 ` Pacho Ramos 2012-06-06 8:54 ` Zac Medico 2012-06-06 9:10 ` [gentoo-dev] " Pacho Ramos 2012-06-06 9:30 ` Zac Medico 2012-07-07 11:29 ` Peter Stuge 2012-07-07 14:10 ` Ian Stakenvicius 2012-07-07 18:54 ` Peter Stuge 2012-07-07 20:18 ` Zac Medico 2012-06-06 21:59 ` [gentoo-dev] [gentoo-portage-dev] " Brian Harring 2012-06-06 22:08 ` Zac Medico 2012-06-07 9:13 ` [gentoo-dev] " Pacho Ramos 2012-06-06 8:44 ` [gentoo-dev] [gentoo-portage-dev] " Pacho Ramos 2012-09-06 9:01 ` Fabian Groffen 2012-09-06 13:25 ` Ian Stakenvicius 2012-09-06 13:30 ` [EDIT] " Ian Stakenvicius 2012-09-07 17:13 ` Fabian Groffen 2012-09-07 17:51 ` Ian Stakenvicius 2012-09-07 18:17 ` [gentoo-dev] Re: sub-slots (for EAPI 5) Fabian Groffen 2012-09-07 18:21 ` Ciaran McCreesh 2012-09-07 18:49 ` Fabian Groffen 2012-09-07 18:55 ` Ciaran McCreesh 2012-09-07 19:07 ` Fabian Groffen 2012-09-07 18:39 ` Ian Stakenvicius 2012-09-07 19:00 ` Fabian Groffen 2012-09-07 19:03 ` Zac Medico 2012-09-07 19:25 ` Fabian Groffen 2012-09-07 19:36 ` Ciaran McCreesh 2012-09-07 19:50 ` Fabian Groffen 2012-09-07 19:53 ` Ian Stakenvicius 2012-09-07 17:52 ` [gentoo-dev] [gentoo-portage-dev] About forcing rebuilds of other packages issue Zac Medico 2012-09-07 17:59 ` Fabian Groffen 2012-09-06 16:40 ` Zac Medico
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox