Summary: | Extension to IUSE syntax | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | Daniel Pielmeier <billie> |
Component: | PMS/EAPI | Assignee: | PMS/EAPI <pms> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | h.mth, nirbheek |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 174380 |
Description
Daniel Pielmeier
2008-09-27 18:29:01 UTC
http://lists.exherbo.org/pipermail/exherbo-dev/2008-August/000241.html http://lists.exherbo.org/pipermail/exherbo-dev/2008-September/000293.html These threads may be of use. In particular note the list of use cases, and how they don't map nicely onto || or any existing construct. Could it potentially be expressed in a syntax similar to the USE depends syntax? IUSE="flag1[flag2]" # if flag1 is set, requires flag2 to be set. IUSE="flag1[-flag2]" # if flag1 is set, requires flag2 not to be set. IUSE="flag1[flag2,flag3" # if flag1 is set, requires flag2 and flag3 to be set. IUSE="flag1[-flag2,flag3]" # if flag1 is set, requires flag2 not to be set and flag3 to be set. IUSE="-flag1[-flag2]" # if flag1, isn't set, requires flag2 not to be set How would you express the common use cases discussed in the threads I linked to using those formats? FWIW, with EAPI 2 use deps, it's possible to express at least some cases of what's being requested here. This can be accomplished by making a package have a circular RDEPEND use-dep on itself. (In reply to comment #4) > FWIW, with EAPI 2 use deps, it's possible to express at least some cases of > what's being requested here. This can be accomplished by making a package have > a circular RDEPEND use-dep on itself. > And to prevent two different versions of the same package from being pulled together, one can use use1? ( =this-cat/${PF}[use2] ) assuming that =pkg-1.0-r0 will properly match =pkg-1.0 as well (In reply to comment #5) > And to prevent two different versions of the same package from being pulled > together, one can use > > use1? ( =this-cat/${PF}[use2] ) > > assuming that =pkg-1.0-r0 will properly match =pkg-1.0 as well A clarification: one way in which two different versions of the same package can be pulled-in is due to version-specific EAPI=1 +use IUSE enabling. However, this will probably be a non-issue once automatic-use-deps are done. Uhm. No you can't. This means you need the package already installed with a particular flag in order to install it. It has a whole different meaning, and relying upon bugs in how Portage handles it is a very bad idea. *** Bug 300020 has been marked as a duplicate of this bug. *** *** This bug has been marked as a duplicate of bug 347353 *** |