| # emerge -pvO dev-python/semantic-version
|
|
|
| !!! Your current profile is deprecated and not supported anymore.
|
| !!! Use eselect profile to update your profile.
|
| !!! Please upgrade to the following profile if possible:
|
|
|
| default/linux/amd64/23.0/split-usr/desktop
|
|
|
| To upgrade do the following steps:
|
|
|
| A profile upgrade to version 23.0 is available for your architecture.
|
| The new 23.0 profiles enable some toolchain hardening features and
|
| performance enhancements by default, and standardize settings.
|
| You can find the list of changes on the wiki tracking page [1].
|
|
|
| Upgrade instructions
|
|
|
| Note 1: If you have manually changed your CHOST to a value different from
|
| what the stages and profiles set, you may have to do that in the future too.
|
| In that case you should know what you are doing, hopefully; please read the
|
| instructions with a critical eye then.
|
|
|
| Note 2: In case you are already familiar with binary packages, you should be
|
| able to add "--getbinpkg" to the emerge calls to speed things up.
|
| The use of binary packages is completely optional though, and also not
|
| as much tested as the source-based upgrade path yet.
|
|
|
| 1. Ensure your system backups are up to date. Please also update
|
| your system fully and depclean before proceeding.
|
| glibc older than 2.36 and musl older than 1.2.4 is not supported anymore.
|
|
|
| 2. If you are still using one of the long-deprecated amd64 17.0 profiles
|
| (other than x32 or musl), then first complete the migration to the
|
| corresponding 17.1 profile. Instructions can be found at [3].
|
|
|
| 3. If you are currently using systemd in a split-usr configuration, then first
|
| complete the migration to the corresponding merged-usr profile of the
|
| same profile version. Details on how to do this can be found in the news
|
| item [4].
|
| If you are currently using openrc, migrate to 23.0 first, keeping your disk
|
| layout. If you want to move from split-usr to merged-usr, do that afterwards.
|
|
|
| 4. Run "emerge --info" and note down the value of the CHOST variable.
|
|
|
| 5. Edit /etc/portage/make.conf; if there is a line defining the CHOST variable,
|
| remove it. Also delete all lines defining CHOST_... variables.
|
|
|
| 6. Select the 23.0 profile corresponding to your current profile, either using
|
| "eselect profile" or by manually setting the profile symlink.
|
| Note that old profiles are by default split-usr and the 23.0 profiles by
|
| default merged-usr. Do NOT change directory scheme now, since this will
|
| mess up your system!
|
| Instead, make sure that the new profile has the same property: for example,
|
| OLD default/linux/amd64/17.1
|
| ==> NEW default/linux/amd64/23.0/split-usr
|
| (added "split-usr")
|
| OLD default/linux/amd64/17.1/systemd/merged-usr
|
| ==> NEW default/linux/amd64/23.0/systemd
|
| (removed "merged-usr")
|
| A detailed table of the upgrade paths can be found at [5]. Please consult it.
|
| In some cases (hppa, x86) the table will tell you to pick between two choices.
|
| What you need should be obvious from your *old* CHOST value (from step 4).
|
|
|
| 7. Delete the contents of your binary package cache at ${PKGDIR}
|
| rm -r /var/cache/binpkgs/*
|
|
|
| 8. In the file or directory /etc/portage/binrepos.conf (if existing), update
|
| the URI in all configuration such that they point to 23.0 profile binhost
|
| directories. The exact paths can be found in the table at [5], too.
|
|
|
| 9. Rebuild or reinstall from binary (if available) the following packages in
|
| this order, with the same version as already active:
|
| emerge --ask --oneshot sys-devel/binutils
|
| (you may have to run binutils-config and re-select your binutils now)
|
| emerge --ask --oneshot sys-devel/gcc
|
| (IMPORTANT: If this command wants to rebuild glibc first, do *not* let it do
|
| that; instead, abort and try again with --nodeps added to the command line.)
|
| (you may have to run gcc-config and re-select your gcc now)
|
| and the C library, i.e. for glibc-based systems
|
| emerge --ask --oneshot sys-libs/glibc
|
| or for musl-based systems
|
| emerge --ask --oneshot sys-libs/musl
|
|
|
| 10. Re-run "emerge --info" and check if CHOST has changed compared to step 4.
|
|
|
| If the CHOST has NOT changed, skip to step 13 (env-update). Otherwise,
|
|
|
| 11. Recheck with binutils-config and gcc-config that valid installed versions
|
| of binutils and gcc are selected.
|
|
|
| 12. Check /etc/env.d, /etc/env.d/binutils, and /etc/env.d/gcc for files that
|
| refer to the *OLD* CHOST value, and remove them.
|
| Examples how to do this can be found in the similar procedure at [6].
|
|
|
| 13. Run env-update && source /etc/profile
|
|
|
| 14. Re-emerge libtool:
|
| emerge --ask --oneshot libtool
|
|
|
| 15. Just for safety, delete the contents of your binary package cache at
|
| ${PKGDIR} again:
|
| rm -r /var/cache/binpkgs/*
|
|
|
| 16. Rebuild world:
|
| emerge --ask --emptytree @world
|
|
|
| [1] https://wiki.gentoo.org/wiki/Project:Toolchain/23.0_profile_transition
|
| [2] https://wiki.gentoo.org/wiki/Project:Toolchain/23.0_profile_timeline
|
| [3] https://www.gentoo.org/support/news-items/2019-06-05-amd64-17-1-profiles-are-now-stable.html
|
| [4] https://www.gentoo.org/support/news-items/2022-12-01-systemd-usrmerge.html
|
| [5] https://wiki.gentoo.org/wiki/Project:Toolchain/23.0_update_table
|
| [6] https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable#Verifying_things_work
|
|
|
|
|
|
|
| These are the packages that would be merged, in order:
|
|
|
| [ebuild R ] dev-python/semantic-version-2.10.0::gentoo USE="-doc -test" PYTHON_TARGETS="python3_12 (-pypy3) (-pypy3_11) -python3_10 -python3_11 -python3_13" 0 KiB
|
|
|
| Total: 1 package (1 reinstall), Size of downloads: 0 KiB
|
|
|
| * IMPORTANT: 3 news items need reading for repository 'gentoo'.
|
| * Use eselect news read to view new items.
|