Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 488004 - portage cannot resolve USE-deps correctly if they are fullfiled by different SLOTs
Summary: portage cannot resolve USE-deps correctly if they are fullfiled by different ...
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-14 11:36 UTC by Justin Lecher (RETIRED)
Modified: 2013-11-26 22:37 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Lecher (RETIRED) gentoo-dev 2013-10-14 11:36:07 UTC
jinja-2.7:0 has support for py 2.6/2.7/3.3
jinja:compat for py 3.2

if both are installed the following shouldn't happen:

[blocks b      ] <dev-python/jinja-2.7:0 ("<dev-python/jinja-2.7:0" is blocking dev-python/jinja-2.6-r100)
[uninstall     ]  dev-python/jinja-2.6-r100:compat  USE="-doc -examples" PYTHON_TARGETS="python3_2" 
[ebuild     UD ]  dev-python/jinja-2.6-r2 [2.7.1] USE="-doc -examples" PYTHON_TARGETS="python2_7 python3_2%* -pypy2_0 -python2_6 -python3_3" 0 kB
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2013-10-14 11:42:56 UTC
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
Comment 2 Sebastian Luther (few) 2013-11-26 21:23:24 UTC
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
Comment 3 Mike Gilbert gentoo-dev 2013-11-26 21:38:59 UTC
(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.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-11-26 22:37:10 UTC
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.