For whatever spectacularly awesome reason, python:3.1 deps on python:2.6 or python:2.7 Best I can tell, this was done as a way to ensure that the user had (frankly) a usable python installed. Reiterating, in gentoo we do not do "suggested" deps. Jam it into the profiles if you want to mandate <py3k, not into the raw dependencies. CC'ing QA; this really shouldn't have slipped in, let alone been actively maintained (most recent change was requiring py2.6 have the same transitive deps as 3.1, which makes shit all sense and has zero freaking comments per the norm). Traced the rev down to: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/python/python-3.1.1-r1.ebuild?hideattic=0&revision=1.5&view=markup
Some packages actually support only Python 2, but depend on e.g. "dev-lang/python[xml]". The workaround in dependencies will be removed as soon as possible. The following command shows some dependencies, which need to be reviewed and potentially fixed: grep -E 'dev-lang/python.*\[' */*/*.ebuild
That command misses all eclasses... pquery --revdep-pkg '>=dev-lang/python-3.0' --raw --repo $PORTDIR is a bit more accurate to find what all deps on py3k (whether through unversioned or versioned). What in the tree is stabled, and requires py3k?
It's worth noting that the attempted transitive deps you've got there are whacked also... they're ?, not =. Meaning that a broken dep on dev-lang/python[-sqlite] doesn't translate down to py2k[-sqlite]. So... yeah, whacked. Frankly at this point I'd just break the pkgs rather than keep trying to hack shit up like this.
$ grep -E 'dev-lang/python.*\[[^]]*-[^]]*\]' eclass/*.eclass */*/*.ebuild app-portage/gentoolkit/gentoolkit-0.3.0_rc10.ebuild: !!>=dev-lang/python-2.6[-xml]" app-portage/gentoolkit/gentoolkit-0.3.0_rc10-r1.ebuild: !!>=dev-lang/python-2.6[-xml]" app-portage/gentoolkit/gentoolkit-9999.ebuild: !!>=dev-lang/python-2.6[-xml]" app-text/iso-codes/iso-codes-3.10.ebuild: >=dev-lang/python-2.3[-build,xml] ("build" USE flag isn't part of USE dependencies in PDEPEND of dev-lang/python:3.1.)
(In reply to comment #4) > $ grep -E 'dev-lang/python.*\[[^]]*-[^]]*\]' eclass/*.eclass */*/*.ebuild > app-portage/gentoolkit/gentoolkit-0.3.0_rc10.ebuild: > !!>=dev-lang/python-2.6[-xml]" > app-portage/gentoolkit/gentoolkit-0.3.0_rc10-r1.ebuild: > !!>=dev-lang/python-2.6[-xml]" > app-portage/gentoolkit/gentoolkit-9999.ebuild: !!>=dev-lang/python-2.6[-xml]" > app-text/iso-codes/iso-codes-3.10.ebuild: > >=dev-lang/python-2.3[-build,xml] > > ("build" USE flag isn't part of USE dependencies in PDEPEND of > dev-lang/python:3.1.) ... What is your point here. Stating facts, while useful, is less useful when you give zero indication where you're going with this...
3.1 is gone for some time, and new versions of Python don't have such deps AFAICT.