| Summary: | sys-apps/portage repoman should depend on dev-lang/python:2.6[xml] or maybe dev-lang/python:2.5[xml] | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Marcin Mirosław <bug> |
| Component: | Current packages | Assignee: | Portage team <dev-portage> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Marcin Mirosław
2010-02-09 22:18:27 UTC
Looks like you're using portage the wrong way. If you switched useflags by USE, not package.use, settings were not preserved and without '-N' portage doesn't check useflag changes. Well, anyway, all the versions in portage have python[xml] dep. (In reply to comment #1) > Looks like you're using portage the wrong way. > If you switched useflags by USE, not package.use, > settings were not preserved and without '-N' > portage doesn't check useflag changes. It was way to reproduce error. I've got USE "-xml" in make.conf > Well, anyway, all the versions in portage have python[xml] dep. I can see two problems: wrong dependency in gentoolkit [1] (it still use python:2.6 not 3.1) so DEPEND should look like this: dev-lang/python:2.6[xml]. And second, should portage check all slotted version of python for support of xml? [1] - i've got python 2.6 compiled without xml and python:3.1 with xml support. What's your active python version ? ...2.6, right ? *** Bug 304189 has been marked as a duplicate of this bug. *** Yes, my active version is python-2.6 . eselect is a system, not portage module. portage in deps calculation does not (and probably can't) take various eselect settings, it only verifies, that there's an installed version, that matches requirements. There is one: python-3.1.1-r1[xml]. I think CANTFIX is the resolution here. Rafał, currently gentoolkit partially suports python3. Repoman can work with python3 , equery probably has workarround to always run with python2 (even when eselect python is set to python3) . Glsa-check, revdep, epkginfo.. the same, they force to use python2. :
# eselect python list
Available Python interpreters:
[1] python2.6
[2] python3.1 *
# epkginfo -d gzip
Traceback (most recent call last):
File "/usr/bin/epkginfo-2.6", line 34, in <module>
main(args)
File "/usr/lib/python2.6/site-packages/gentoolkit/equery/meta.py", line 480, in main
matches = find_packages(query, include_masked=True)
File "/usr/lib/python2.6/site-packages/gentoolkit/helpers.py", line 535, in find_packages
from gentoolkit.package import Package
File "/usr/lib/python2.6/site-packages/gentoolkit/package.py", line 46, in <module>
from gentoolkit.metadata import MetaData
File "/usr/lib/python2.6/site-packages/gentoolkit/metadata.py", line 48, in <module>
import xml.etree.cElementTree as etree
File "/usr/lib/python2.6/xml/etree/cElementTree.py", line 3, in <module>
from _elementtree import *
ImportError: No module named _elementtree
And so on..
This is why i think that dependency dev-lang/python:2.6[xml] is correct resolution until gentoolkit will be able to works with python3.
I guess we could add a USE setting to require xml support. It should be conditional since repoman is only needed for committing ebuilds, qa checks or generating manifests. We can also add a runtime check for xml support, and give a friendly error message it it's not detected. Also, we can generate an ewarn message in pkg_preinst if the selected version of python has no xml support. Zac, is this bug a portage bug? The title indicates a gentoolkit one, but the content seems to point to repoman. Also is this still relevant? We've had this runtime check in repoman for some time now: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=14ffb5c29f748114dd529d0c20e3c5fe6d953b5f |