Summary: | [Future EAPI] Subslot dictionaries | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | Arfrever Frehtes Taifersar Arahesis <arfrever.fta> |
Component: | PMS/EAPI | Assignee: | PMS/EAPI <pms> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | chithanh, esigra, josef64, kensington, pacho, sam, tetromino |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=462020 https://bugs.gentoo.org/show_bug.cgi?id=506114 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 174380 |
Description
Arfrever Frehtes Taifersar Arahesis
2013-03-18 04:14:54 UTC
(In reply to comment #0) > app-text/poppler-0.22.2 could set SLOT="0/main:35,cpp:0,glib:8:qt4:4". It should be: SLOT="0/main:35,cpp:0,glib:8,qt4:4" The goal of subslots is to force a rebuild when one's necessary, not to prevent rebuilds when they're not... This is far too complicated for far too little gain. A similar situation is with xorg-server, which has 3 important ABIs (VIDEODRV, XINPUT, EXTENSION). Currently, the depending packages are rebuilt more often than strictly necessary. The idea makes sense. That said, this increases the burden on maintainers. If we decide to provide this functionality, it should be an offer to library maintainers, not a requirement. (In reply to comment #0) > app-text/poppler-0.22.2 could set SLOT="0/main:35,cpp:0,glib:8:qt4:4". Is it too late to rethink jamming this stuff into SLOT, and if so can we at least have some whitespace? A possible alternative, which came up in bug 462020, is to use to create a separate virtual for each soname. The subslot of the virtual would then be bumped only when its associated soname changes. The virtual would depend on a range of versions that provide the associated soname. For example: || ( app-text/poppler:0/37 app-text/poppler:0/36 app-text/poppler:0/35 ) (In reply to Zac Medico from comment #6) > A possible alternative, which came up in bug 462020, is to use to create a > separate virtual for each soname. The subslot of the virtual would then be > bumped only when its associated soname changes. The virtual would depend on > a range of versions that provide the associated soname. For example: > > || ( app-text/poppler:0/37 app-text/poppler:0/36 app-text/poppler:0/35 ) This route may make more sense, when only a particular lib is being used out of a package rather than the whole package -- among other things, this would allow the lib to be repackaged later without *DEPEND in comsumers needing to change. However, I tried implementing this with xorg-server and the three primary A{P,B}Is it provides (to coincide with xorg-drivers) -- there is a LOT of addtional work to deal with, to keep the virtuals in sync with the parent package, especially when you have to deal with stable vs ~arch vs multiple versions at the same keyword level. I ended up scripting something to recreate all the virtuals whenever xorg-server's ebuilds were bumped. So if this solution were to become common, we would probably want to build a tool as well as (repoman?) checks to help devs with keeping the virtuals in sync. (*OR*, we could always bring back the PROVIDES= syntax :P ) (In reply to Ciaran McCreesh from comment #2) > The goal of subslots is to force a rebuild when one's necessary, not to > prevent rebuilds when they're not... This is far too complicated for far too > little gain. +1 If rebuilds are to be avoided, splitting the packages that are affected by this makes more sense than further complicating dependency specification. Alternatively, virtuals can be used, as suggested in comment #6. (In reply to Ulrich Müller from comment #8) > (In reply to Ciaran McCreesh from comment #2) > > The goal of subslots is to force a rebuild when one's necessary, not to > > prevent rebuilds when they're not... This is far too complicated for far too > > little gain. > > +1 > While I like this approach in principle, this works only if we can make it into an official QA policy. Otherwise the, err, rather forceful opposition of several devs will prevent the adoption of subslots at all. For an example, see bug 490362. > Alternatively, virtuals can be used, as suggested in comment #6. That's way more complex. *** Bug 501656 has been marked as a duplicate of this bug. *** > Samuli Suominen 2014-02-18 10:14:36 EET Comment 10
> Duplicate of this bug: 501656
media-gfx/imagemagick has different subslot for every release because after every release, dev-ruby/rmagick needs to be rebuilt
but now I have no way of handling the SONAME changes so other packages could use := too, now only rmagick can have := in imagemagick dep
(In reply to Samuli Suominen from comment #11) > > Samuli Suominen 2014-02-18 10:14:36 EET Comment 10 > > Duplicate of this bug: 501656 > > media-gfx/imagemagick has different subslot for every release because after > every release, dev-ruby/rmagick needs to be rebuilt > > but now I have no way of handling the SONAME changes so other packages could > use := too, now only rmagick can have := in imagemagick dep and splitting is not an option here, it doesn't help at all. |