Code: Select all
Calculating dependencies . ..... done!
[ebuild NS ] dev-lang/python-3.9.5_p2:3.9::gentoo [3.7.10_p1:3.7/3.7m::gentoo] USE="hardened ipv6 ncurses readline sqlite ssl xml -bluetooth -
build -examples -gdbm -test -tk -verify-sig -wininst (-libressl%)" 0 KiB
[ebuild R ] dev-python/certifi-10001-r1::gentoo USE="-test" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 K
iB
[ebuild U ] dev-python/setuptools-56.0.0::gentoo [54.1.1::gentoo] USE="-test" PYTHON_TARGETS="python3_9* (-pypy3) -python3_8 (-python3_7%*)"
0 KiB
[ebuild N ] dev-python/toml-0.10.2::gentoo USE="-test" PYTHON_TARGETS="python3_9 (-pypy3) (-python3_10) -python3_8" 0 KiB
[ebuild U ] dev-python/setuptools_scm-6.0.1-r1::gentoo [6.0.1::gentoo] USE="-test" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3
_8 (-python3_7%*)" 0 KiB
[ebuild R ] dev-python/PySocks-1.7.1-r1::gentoo PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
[ebuild R ] dev-python/chardet-4.0.0::gentoo USE="-test" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
[ebuild U ] dev-python/idna-3.1::gentoo [2.10-r1::gentoo] PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
[ebuild R ] dev-python/urllib3-1.26.4::gentoo USE="-brotli -test" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
[ebuild U ] dev-python/requests-2.25.1-r2::gentoo [2.25.1-r1::gentoo] USE="-socks5 -test" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
[ebuild R ] app-portage/gemato-16.2::gentoo USE="gpg -test -tools" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
[ebuild U ] sys-apps/portage-3.0.20-r6::gentoo [3.0.18::gentoo] USE="(ipc) native-extensions rsync-verify (xattr) -apidoc -build -doc -gentoo-dev (-selinux) -test" PYTHON_TARGETS="python3_9* (-pypy3) (-python3_10) -python3_8 (-python3_7%*)" 0 KiB
Total: 12 packages (5 upgrades, 1 new, 1 in new slot, 5 reinstalls), Size of downloads: 0 KiB
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-python/setuptools:0
(dev-python/setuptools-56.0.0:0/0::gentoo, ebuild scheduled for merge) USE="-test" PYTHON_TARGETS="python3_9 (-pypy3) -python3_8" pulled in by
>=dev-python/setuptools-42.0.2[python_targets_pypy3(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,-python_single_target_pypy3(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-),-python_single_target_python3_10(-)] required by (dev-python/toml-0.10.2:0/0::gentoo, ebuild scheduled for merge) USE="-test" PYTHON_TARGETS="python3_9 (-pypy3) (-python3_10) -python3_8"
>=dev-python/setuptools-42.0.2[python_targets_pypy3(-)?,python_targets_python3_8(-)?,python_targets_python3_9(-)?,python_targets_python3_10(-)?,-python_single_target_pypy3(-),-python_single_target_python3_8(-),-python_single_target_python3_9(-),-python_single_target_python3_10(-)] required by (dev-python/PySocks-1.7.1-r1:0/0::gentoo, ebuild scheduled for merge) USE="" PYTHON_TARGETS="python3_9 (-pypy3) (-python3_10) -python3_8"

Code: Select all
Safer upgrade procedure
=======================
A safer approach is to add Python 3.9 support to your system first,
and only then remove Python 3.8. However, note that involves two
rebuilds of all the affected packages, so it will take noticeably
longer.
First, enable both Python 3.8 and Python 3.9, and then run the upgrade
commands:
*/* PYTHON_TARGETS: -* python3_8 python3_9
*/* PYTHON_SINGLE_TARGET: -* python3_8
Then switch PYTHON_SINGLE_TARGET and run a second batch of upgrades:
*/* PYTHON_TARGETS: -* python3_8 python3_9
*/* PYTHON_SINGLE_TARGET: -* python3_9
Finally, switch to the final version and upgrade:
*/* PYTHON_TARGETS: -* python3_9
*/* PYTHON_SINGLE_TARGET: -* python3_9
Yes you right, maybe you can also add -u (--update) depending on the situation.cyberbat wrote:Am I right that I can't reemerge only portage to make it support python 3.9? Do I have only to run emerge -1vUDa @world after switching to python 3.9?


Code: Select all
PYTHON_TARGETS="python3_9"
PYTHON_SINGLE_TARGET="python3_9"Code: Select all
# emerge -1av sys-apps/portageCode: Select all
# emerge -DUuavt --with-bdeps=y @worldCode: Select all
#output with list of conflicts went to file
emerge -v1 --backtrack=99 =sys-apps/portage-3.0.20-r6 > /tmp/portage-out.txt 2>&1
#making list of that stuff that prevent portage from upgrading
cat /tmp/portage-out.txt | grep -Eo 'required by \([a-z]*-[a-z]*\/[a-z\-]*-[0-9]' | sed -e 's/required by (//' | sed -e 's/-[0-9]$//' | sort -u >> ~/temp-remove.txt
#HERE you must manually edit ~/temp-remove.txt to remove packages needed by portage itself. They were portage, toml and setuptools for me.
#remove packages from the list
/usr/lib/python-exec/python3.7/emerge -aC `cat ~/temp-remove.txt`
#install latest portage
emerge -va1 --backtrack=99 sys-apps/portage