On Mon, Dec 14, 2020 at 02:57:22PM -0700, the...@sys-concept.com wrote: > [snip] > > emerge --update --oneshot portage > > !!! All ebuilds that could satisfy > ">=app-crypt/openpgp-keys-gentoo-release-20180706" have been masked. > !!! One of the following masked packages is required to complete your request: > - app-crypt/openpgp-keys-gentoo-release-20200704::gentoo (masked by: EAPI 7) > > The current version of portage supports EAPI '6'. You must upgrade to a > newer version of portage before EAPI masked packages can be installed. > (dependency required by > "sys-apps/portage-2.3.99-r2::gentoo[rsync-verify,-build]" [ebuild]) > (dependency required by "portage" [argument]) > > I don't even have "app-crypt/openpgp-keys-gentoo-release" installed why is it > complaining? >
I've done a similar update recently, it's definitely possible if you know what you're doing. A few things: First, you need to update portage. To do so, you'll need to manually downgrade the portage ebuild from EAPI 7 to EAPI 6 (simply change the number in the ebuild). First, emerge it without rsync-verify. Once you have portage up to date, it'll support EAPI 7 and life'll be easier. You can then reemerge it with rsync-verify, as the EAPI 7 dependencies will be installable this time. Then, I'd recommend upgrading the toolchain (binutils, gcc, glibc), otherwise you might run into compilation issues. After that, you can update packages. For big updates like this, I like to do it by chunks as it's easier (and it makes reading the emerge plan less painful). Like all the perl packages, then all the python packages, and so on. For that, the "emerge by path" feature is convenient; for example to update python packages: emerge -au /usr/lib/python3.7 In case force-unmerging python modules makes the update easier (resolving blocks), you can do so. That's actually safe to do, portage will still be able to emerge packages. Python itself (the interpreter) is the only hard dependency of portage. Hope this helps, and good luck with your update!