i'm trying to bring online an old machine. it seems to be hung on updates to python2.7. i think its saying that dev-lang/python-2.7.18_p13 is less than the installed (and currently unavailable) dev-lang/python-2.7.18-r3. so i get these blocks. emerge -a1 =python-2.7.18_p13 =dev-lang/python-exec-2.4.8 dev-lang/python-exec-conf ... [ebuild N ] dev-lang/python-exec-conf-2.4.6 PYTHON_TARGETS="python3_8 python3_9 (-pypy3) (-python3_10)" [ebuild U ] dev-lang/python-exec-2.4.8 [2.4.6-r1] USE="(native-symlinks%*) -test%" PYTHON_TARGETS="(python3_8%*) (python3_9%*) (-python3_10)" [ebuild U ] dev-lang/python-2.7.18_p13 [2.7.16] USE="-tk* -verify-sig%" [blocks b ] <=dev-lang/python-2.7.18-r3:2.7 ("<=dev-lang/python-2.7.18-r3:2.7" is blocking dev-lang/python-exec-2.4.8) [blocks B ] <dev-lang/python-exec-2.4.6-r4 ("<dev-lang/python-exec-2.4.6-r4" is blocking dev-lang/python-exec-conf-2.4.6) [blocks B ] <=dev-lang/python-exec-2.4.6-r1 ("<=dev-lang/python-exec-2.4.6-r1" is blocking dev-lang/python-2.7.18_p13) i'm working from https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage and running the portage out of the /tmp folder from these directions. Reproducible: Always
nevermind. circular dependency can be ignored with --nodeps: emerge -a1 --nodeps =python-2.7.18_p13 =dev-lang/python-exec-2.4.8 dev-lang/python-exec-conf works.
sorry for the story. emerge -a1 --nodeps =dev-lang/python-2.7.16_p13 did not complete due to file collisions. * dev-lang/python-exec-2.4.6-r1:2::gentoo * /usr/bin/python2 * /usr/bin/python2-config * * Package 'dev-lang/python-2.7.18_p13' NOT merged due to file so i tried the others first: emerge -a1 --nodeps =dev-lang/python-exec-2.4.8 dev-lang/python-exec-conf and it broke python-exec emerge -a1U --nodeps python:2.7 python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python2.7 python-exec: Invalid impl in /etc/python-exec/python-exec.conf: python3.6 emerge: no python-exec wrapped executable found in /usr/lib/python-exec. still working. don't want anyone to think this is a solution yet.
finally, emerge -a --nodeps portage put a usable portage in the latest version of python. unset PYTHONPATH and we are back to regular old dependency hell again.
sorry, forget to say i had to run emerge with the full path of the last unmunged version of portage: /usr/lib64/python-exec/python3.6/emerge -aNDu --nodeps portage to be on my way again.
Can we work through this with you on #gentoo? We've done quite a few of these and upgrading just Pythonw with that change isn't going to work very smoothly. The best approach is just hacking at a world upgrade and fixing any issues which come up (not unmerging).