Summary: | portage cannot resolve USE-deps correctly if they are fullfiled by different SLOTs | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Justin Lecher (RETIRED) <jlec> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | python |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Justin Lecher (RETIRED)
![]() And even setting dev-python/jinja:0 -python_targets_python3_2 results in The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by dev-python/ipython-1.0.0[notebook,-nbconvert] # required by @selected # required by @world (argument) =dev-python/jinja-2.6-r2 python_targets_python3_2 Is this still a problem. It looks like it does the right thing for me: [ebuild U ~] dev-python/ipython-1.0.0::gentoo [0.13.2::sage-on-gentoo] USE="notebook* qt4 smp wxwidgets -doc -emacs -examples -matplotlib -mongodb -nbconvert% -octave {-test}" PYTHON_TARGETS="python2_7 python3_2* -python2_6 -python3_3" 8,456 kB [ebuild NS ] dev-python/jinja-2.6-r100:compat [2.7:0] USE="-doc -examples" PYTHON_TARGETS="python3_2" 381 kB [ebuild R ~] dev-python/setuptools-1.1.6 PYTHON_TARGETS="python2_7 python3_2* -pypy2_0 -python2_6 -python3_3" 0 kB [ebuild R ] dev-python/markupsafe-0.15-r1 PYTHON_TARGETS="python2_7 python3_2* (-pypy2_0) -python2_6 (-python3_3) (-pypy1_9%) (-python2_5%) (-python3_1%)" 12 kB [ebuild R ~] dev-python/simplegeneric-0.8.1-r1 PYTHON_TARGETS="python2_7 python3_2* -pypy2_0 -python2_6 -python3_3 (-pypy1_9%) (-python2_5%) (-python3_1%)" 13 kB [ebuild N ] dev-libs/mathjax-2.2 USE="-doc -examples" 8,764 kB [ebuild R ] virtual/python-argparse-1 PYTHON_TARGETS="python2_7 python3_2* (-pypy2_0) -python2_6 (-python3_3) (-pypy1_9%) (-python2_5%) (-python3_1%)" 0 kB [ebuild N ~] www-servers/tornado-3.1.1 USE="-curl" PYTHON_TARGETS="python2_7 python3_2 -pypy2_0 -python2_6 -python3_3" 366 kB [ebuild R ~] dev-python/decorator-3.4.0-r1 PYTHON_TARGETS="python2_7 python3_2* -python2_6 -python3_3 (-python2_5%) (-python3_1%)" 30 kB [ebuild R ] dev-python/PyQt4-4.10.2 USE="X dbus declarative opengl svg webkit -debug -doc -examples -help -kde -multimedia -phonon -script -scripttools -sql -xmlpatterns" PYTHON_TARGETS="python2_7 python3_2* -python2_6 (-python3_3)" 0 kB [ebuild R ] dev-python/sip-4.14.7:0/10 USE="-debug -doc" PYTHON_TARGETS="python2_7 python3_2* -python2_6 (-python3_3)" 0 kB [ebuild R ] dev-python/dbus-python-1.2.0 USE="-doc -examples {-test}" PYTHON_TARGETS="python2_7 python3_2* -python2_6 (-python3_3)" 589 kB [ebuild R ] dev-python/pygments-1.6 USE="-doc {-test}" PYTHON_TARGETS="python2_7 python3_2* (-pypy2_0) -python2_6 (-python3_3) (-pypy1_9%) (-python2_5%) (-python3_1%)" 1,390 kB [ebuild R ] dev-python/pyparsing-2.0.1 USE="-doc -examples" PYTHON_TARGETS="python2_7 python3_2* -pypy2_0 -python2_6 -python3_3" 0 kB [ebuild R ~] dev-python/pyzmq-13.1.0 USE="-examples -green {-test}" PYTHON_TARGETS="python2_7 python3_2* -python2_6 -python3_3 (-python3_1%)" 820 kB (In reply to Sebastian Luther (few) from comment #2) We modified the ebuild(s) which depend on jinja to split it into multiple dependency atoms. Personally, I do not think this is a valid portage bug. Yes, portage does exactly what it should do: dev-python/jinja[...] should resolve to the newest available jinja package. Then USE-deps can applied on top of it. Per the wording of PMS, 'py3.2(-)' dep means that PM is to assume 'off' when the flag ain't in IUSE. So portage correctly refuses the package. Similarly, it says that 'py3.2' dep on a package is invalid when the flag ain't in IUSE. So if we used plain 'py3.2', portage would be allowed to bail out without even trying other versions. There's no clear way of directly applying USE deps on multiple packages. If the case is uncommon, we just need to use proper || deps. if it is common, we should establish a virtual that does that. |