After enabling python_targets_python3_5" I'm encountering upgrade problems: * Error: circular dependencies: (dev-python/setuptools-19.2:0/0::gentoo, ebuild scheduled for merge) depends on (dev-python/packaging-16.0:0/0::gentoo, ebuild scheduled for merge) (buildtime) (dev-python/pyparsing-2.0.7:0/0::gentoo, ebuild scheduled for merge) (buildtime) (dev-python/setuptools-19.2:0/0::gentoo, ebuild scheduled for merge) (buildtime) Also: * Error: circular dependencies: (dev-python/setuptools-19.4:0/0::gentoo, ebuild scheduled for merge) depends on (dev-python/six-1.10.0:0/0::gentoo, ebuild scheduled for merge) (buildtime) (dev-python/setuptools-19.4:0/0::gentoo, ebuild scheduled for merge) (buildtime) These are particularly annoying circular dependencies, since they are not conditional to any USE flag. pyparsing-2.0.3 does not have the dependency on setuptools, so I managed to solve the first issue for now using “emerge --nodeps -1 =pyparsing-2.0.3” first. (The “--nodeps” was neccessary because I was, at the same time, disabling support for python3_3 so downgrading that single package would leave a lot of unsatisfied dependencies in packages still installed with python_targets_python3_3. I later decided to separate issues and do the 3.5 install before dropping 3.3, even if that meant re-building many packages. So it might not really be needed.) For the second, setuptools-19.2 doesn't depend on six, so temporarily downgrading that did help. But these kinds of temporary downgrades feel pretty weird, and shouldn't become the default for Python version upgrades. So I'm filing this bug, hoping you can think of some way to break these cycles.
Thanks for reporting, I will look into that.
commit 6a85df91d15b2a094ac027741e9fa5be271d6c36 Author: Justin Lecher <jlec@gentoo.org> Date: Tue Jan 26 17:29:41 2016 +0100 dev-python/packaging: Break circular dep on pyparsing Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=572792 Package-Manager: portage-2.2.27 Signed-off-by: Justin Lecher <jlec@gentoo.org> https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a85df91d15b2a094ac027741e9fa5be271d6c36
There's still the circular DEPEND between setuptools and six.
commit a15786aa5f40452b1270fa04d4ffdbc8e034b29c Author: Justin Lecher <jlec@gentoo.org> Date: Tue Jan 26 19:48:10 2016 +0100 dev-python/six: Drop forced dependency on setuptools Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=572792 Package-Manager: portage-2.2.27 Signed-off-by: Justin Lecher <jlec@gentoo.org> https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a15786aa5f40452b1270fa04d4ffdbc8e034b29c
Now there's an automagic dep on setuptools, which will cause egg-info file/directory conflicts.
I can look into fixing this later. commit 34a1ddd2aebdbd949c5caf22d7350a84b8267971 Author: Mike Gilbert <floppym@gentoo.org> Date: Tue Jan 26 15:07:48 2016 -0500 Revert "dev-python/six: Drop forced dependency on setuptools" This reverts commit a15786aa5f40452b1270fa04d4ffdbc8e034b29c. This change is bound to cause egg-info file/directory conflicts. Also, upstream requires setuptools unconditionally as of 2016-01-20. https://bitbucket.org/gutworth/six/commits/1c793cff Bug: https://bugs.gentoo.org/572792
Just an idea: can you provide a temporary install of six, not byte-compiled or anything, to make the setuptools build suceed? Then you can have a proper six package as a runtime dependency of setuptools, but don't need it at build time.
(In reply to Martin von Gagern from comment #7) I have two alternate ideas in mind: 1. Ignore upstream and force six to use distutils in setup.py. 2. Somehow utilize the bundled copy of six that setuptools ships with. #1 is probably the easier solution for now.
commit f520d401bb03a3186ec057ff2cd188077e656899 Author: Mike Gilbert <floppym@gentoo.org> Date: Tue Jan 26 23:16:18 2016 -0500 dev-python/six: Force usage of distutils over setuptools Avoids circular dependency. Bug: https://bugs.gentoo.org/572792 Package-Manager: portage-2.2.27_p49 dev-python/six/files/1.10.0-no-setuptools.patch | 22 ++++++++++++++++++++++ dev-python/six/six-1.10.0.ebuild | 6 +++--- dev-python/six/six-1.9.0-r1.ebuild | 6 +++--- 3 files changed, 28 insertions(+), 6 deletions(-)