summaryrefslogtreecommitdiff
path: root/profiles/default
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/default')
-rw-r--r--profiles/default/linux/alpha/17.0/deprecated104
-rw-r--r--profiles/default/linux/alpha/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/alpha/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/alpha/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/alpha/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/alpha/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.0/musl/clang/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.0/musl/hardened/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.0/musl/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.0/x32/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.0/x32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/clang/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/desktop/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/desktop/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/developer/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/hardened/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/no-multilib/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/no-multilib/hardened/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/no-multilib/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/no-multilib/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/deprecated (renamed from profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/deprecated)2
-rw-r--r--profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/selinux/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/systemd/clang/deprecated33
-rw-r--r--profiles/default/linux/amd64/17.1/systemd/clang/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/amd64/17.1/systemd/selinux/deprecated33
-rw-r--r--profiles/default/linux/amd64/17.1/systemd/selinux/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4/developer/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4t/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4t/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4t/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4t/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4t/developer/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv4t/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv5te/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv5te/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv5te/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv5te/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv5te/developer/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv5te/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/developer/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/hardened/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv6j/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/developer/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/hardened/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/armv7a/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/musl/armv6j/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/musl/armv6j/hardened/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/musl/armv6j/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/musl/armv7a/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/musl/armv7a/hardened/deprecated104
-rw-r--r--profiles/default/linux/arm/17.0/musl/armv7a/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm/23.0/armv6j_hf/musl/package.use.mask (renamed from profiles/default/linux/arm/23.0/armv6j_hf/musl/package.use.stable.mask)0
-rw-r--r--profiles/default/linux/arm/23.0/armv7a_hf/musl/package.use.mask (renamed from profiles/default/linux/arm/23.0/armv7a_hf/musl/package.use.stable.mask)0
-rw-r--r--profiles/default/linux/arm/23.0/musl/package.use.stable.mask5
-rw-r--r--profiles/default/linux/arm/23.0/split-usr/armv6j_hf/musl/package.use.mask (renamed from profiles/default/linux/arm/23.0/split-usr/armv6j_hf/musl/package.use.stable.mask)0
-rw-r--r--profiles/default/linux/arm/23.0/split-usr/armv7a_hf/musl/package.use.mask (renamed from profiles/default/linux/arm/23.0/split-usr/armv7a_hf/musl/package.use.stable.mask)0
-rw-r--r--profiles/default/linux/arm64/17.0/big-endian/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/big-endian/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/desktop/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/hardened/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/llvm/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/musl/hardened/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/musl/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/musl/llvm/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/systemd/llvm/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/arm64/17.0/systemd/selinux/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/hppa/17.0/deprecated104
-rw-r--r--profiles/default/linux/hppa/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/hppa/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/hppa/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ia64/17.0/deprecated104
-rw-r--r--profiles/default/linux/ia64/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/ia64/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/ia64/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ia64/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/ia64/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/developer/deprecated104
-rw-r--r--profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/m68k/17.0/deprecated104
-rw-r--r--profiles/default/linux/m68k/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/m68k/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/multilib/n32/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/multilib/n32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/multilib/n64/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/multilib/n64/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/multilib/o32/deprecated1
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/n32/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/n32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/n64/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/n64/musl/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/n64/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/o32/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/o32/musl/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/mipsel/o32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/multilib/n32/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/multilib/n32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/multilib/n64/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/multilib/o32/deprecated1
-rw-r--r--profiles/default/linux/mips/17.0/n32/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/n32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/n64/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/n64/musl/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/n64/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/o32/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/o32/musl/deprecated104
-rw-r--r--profiles/default/linux/mips/17.0/o32/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/parent2
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/eapi1
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/eapi1
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/parent2
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/parent2
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/parent2
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/eapi1
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/parent2
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/eapi1
-rw-r--r--profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/parent2
-rw-r--r--profiles/default/linux/ppc/17.0/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/musl/hardened/deprecated104
-rw-r--r--profiles/default/linux/ppc/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc/23.0/musl/package.use.mask7
-rw-r--r--profiles/default/linux/ppc64/17.0/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/musl/hardened/deprecated104
-rw-r--r--profiles/default/linux/ppc64/17.0/package.mask7
-rw-r--r--profiles/default/linux/ppc64/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/desktop/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/ieee-long-double/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/musl/hardened/deprecated104
-rw-r--r--profiles/default/linux/ppc64le/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/musl/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/musl/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/lp64d/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/multilib/deprecated104
-rw-r--r--profiles/default/linux/riscv/20.0/rv64gc/multilib/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/riscv/23.0/rv64/lp64d/musl/package.mask6
-rw-r--r--profiles/default/linux/riscv/23.0/rv64/split-usr/lp64d/musl/package.mask6
-rw-r--r--profiles/default/linux/s390/17.0/deprecated104
-rw-r--r--profiles/default/linux/s390/17.0/s390x/deprecated104
-rw-r--r--profiles/default/linux/s390/17.0/s390x/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/s390/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/64ul/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/64ul/desktop/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/64ul/developer/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/64ul/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/sparc/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/desktop/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/desktop/gnome/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/desktop/gnome/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/desktop/plasma/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/desktop/plasma/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/developer/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/hardened/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/hardened/selinux/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/musl/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/musl/selinux/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/selinux/deprecated104
-rw-r--r--profiles/default/linux/x86/17.0/systemd/merged-usr/deprecated104
-rw-r--r--profiles/default/linux/x86/23.0/i486/musl/package.use.mask11
-rw-r--r--profiles/default/linux/x86/23.0/i486/musl/package.use.stable.mask6
-rw-r--r--profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.mask6
-rw-r--r--profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.stable.mask6
-rw-r--r--profiles/default/linux/x86/23.0/i686/musl/package.use.mask11
-rw-r--r--profiles/default/linux/x86/23.0/i686/musl/package.use.stable.mask6
-rw-r--r--profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.mask6
-rw-r--r--profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.stable.mask6
-rw-r--r--profiles/default/linux/x86/23.0/i686/time64/eapi (renamed from profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/eapi)0
-rw-r--r--profiles/default/linux/x86/23.0/i686/time64/make.defaults5
-rw-r--r--profiles/default/linux/x86/23.0/i686/time64/parent2
-rw-r--r--profiles/default/linux/x86/23.0/i686/time64/systemd/eapi (renamed from profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/eapi)0
-rw-r--r--profiles/default/linux/x86/23.0/i686/time64/systemd/parent2
256 files changed, 22914 insertions, 46 deletions
diff --git a/profiles/default/linux/alpha/17.0/deprecated b/profiles/default/linux/alpha/17.0/deprecated
new file mode 100644
index 000000000000..3cee56363026
--- /dev/null
+++ b/profiles/default/linux/alpha/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/alpha/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/alpha/17.0/desktop/deprecated b/profiles/default/linux/alpha/17.0/desktop/deprecated
new file mode 100644
index 000000000000..5250cf03f640
--- /dev/null
+++ b/profiles/default/linux/alpha/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/alpha/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/alpha/17.0/desktop/gnome/deprecated b/profiles/default/linux/alpha/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..9a079e68bef3
--- /dev/null
+++ b/profiles/default/linux/alpha/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/alpha/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/alpha/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/alpha/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..eca25d7adc43
--- /dev/null
+++ b/profiles/default/linux/alpha/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/alpha/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/alpha/17.0/developer/deprecated b/profiles/default/linux/alpha/17.0/developer/deprecated
new file mode 100644
index 000000000000..3cee56363026
--- /dev/null
+++ b/profiles/default/linux/alpha/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/alpha/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/alpha/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/alpha/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..217bbccd2dac
--- /dev/null
+++ b/profiles/default/linux/alpha/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/alpha/23.0/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.0/musl/clang/deprecated b/profiles/default/linux/amd64/17.0/musl/clang/deprecated
new file mode 100644
index 000000000000..f4c5ed652f3e
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/clang/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/musl/llvm
+
+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
diff --git a/profiles/default/linux/amd64/17.0/musl/deprecated b/profiles/default/linux/amd64/17.0/musl/deprecated
new file mode 100644
index 000000000000..fb300c26f9ab
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/musl
+
+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
diff --git a/profiles/default/linux/amd64/17.0/musl/hardened/deprecated b/profiles/default/linux/amd64/17.0/musl/hardened/deprecated
new file mode 100644
index 000000000000..20c9fedaf0a9
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/musl/hardened
+
+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
diff --git a/profiles/default/linux/amd64/17.0/musl/hardened/selinux/deprecated b/profiles/default/linux/amd64/17.0/musl/hardened/selinux/deprecated
new file mode 100644
index 000000000000..d11cd2c3257f
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/musl/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/musl/hardened/selinux
+
+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
diff --git a/profiles/default/linux/amd64/17.0/x32/deprecated b/profiles/default/linux/amd64/17.0/x32/deprecated
new file mode 100644
index 000000000000..69d1807d0750
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/x32/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/x32
+
+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
diff --git a/profiles/default/linux/amd64/17.0/x32/systemd/merged-usr/deprecated b/profiles/default/linux/amd64/17.0/x32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..1b330827394f
--- /dev/null
+++ b/profiles/default/linux/amd64/17.0/x32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/x32/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/clang/deprecated b/profiles/default/linux/amd64/17.1/clang/deprecated
new file mode 100644
index 000000000000..1087d3e33977
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/clang/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/llvm
+
+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
diff --git a/profiles/default/linux/amd64/17.1/deprecated b/profiles/default/linux/amd64/17.1/deprecated
new file mode 100644
index 000000000000..1dfba2cdb1f0
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/amd64/17.1/desktop/deprecated b/profiles/default/linux/amd64/17.1/desktop/deprecated
new file mode 100644
index 000000000000..04b8c3bd66fd
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/amd64/17.1/desktop/gnome/deprecated b/profiles/default/linux/amd64/17.1/desktop/gnome/deprecated
new file mode 100644
index 000000000000..2b8cce7ee0eb
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..bb2fc8dfd7fa
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/desktop/plasma/deprecated b/profiles/default/linux/amd64/17.1/desktop/plasma/deprecated
new file mode 100644
index 000000000000..e0f4c8a25372
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/desktop/plasma
+
+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
diff --git a/profiles/default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..1a027e1ea361
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/desktop/systemd/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/desktop/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..f8443e5de5a9
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/desktop/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/desktop/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/developer/deprecated b/profiles/default/linux/amd64/17.1/developer/deprecated
new file mode 100644
index 000000000000..1dfba2cdb1f0
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/amd64/17.1/hardened/deprecated b/profiles/default/linux/amd64/17.1/hardened/deprecated
new file mode 100644
index 000000000000..f1d39a57a31e
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/hardened
+
+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
diff --git a/profiles/default/linux/amd64/17.1/hardened/selinux/deprecated b/profiles/default/linux/amd64/17.1/hardened/selinux/deprecated
new file mode 100644
index 000000000000..3996638f2a19
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/hardened/selinux
+
+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
diff --git a/profiles/default/linux/amd64/17.1/no-multilib/deprecated b/profiles/default/linux/amd64/17.1/no-multilib/deprecated
new file mode 100644
index 000000000000..33a1cf4ea272
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/no-multilib/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/no-multilib
+
+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
diff --git a/profiles/default/linux/amd64/17.1/no-multilib/hardened/deprecated b/profiles/default/linux/amd64/17.1/no-multilib/hardened/deprecated
new file mode 100644
index 000000000000..7f6226b8021b
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/no-multilib/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/no-multilib/hardened
+
+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
diff --git a/profiles/default/linux/amd64/17.1/no-multilib/hardened/selinux/deprecated b/profiles/default/linux/amd64/17.1/no-multilib/hardened/selinux/deprecated
new file mode 100644
index 000000000000..55b586baed3c
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/no-multilib/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/no-multilib/hardened/selinux
+
+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
diff --git a/profiles/default/linux/amd64/17.1/no-multilib/systemd/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/no-multilib/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..5dffabddd095
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/no-multilib/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/no-multilib/systemd
+
+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
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/deprecated b/profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/deprecated
index 36bae5bdb267..0a7d7473d192 100644
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/deprecated
+++ b/profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/deprecated
@@ -1,4 +1,4 @@
-default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr
+default/linux/amd64/17.1/no-multilib/systemd/selinux/merged-usr
As warned about previously in a news item, systemd-255 has dropped
support for split-usr systems. All Gentoo systems running systemd will
diff --git a/profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/merged-usr/deprecated
new file mode 100644
index 000000000000..ca932ac65f68
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/no-multilib/systemd/selinux/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/no-multilib/hardened/selinux/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/selinux/deprecated b/profiles/default/linux/amd64/17.1/selinux/deprecated
new file mode 100644
index 000000000000..3996638f2a19
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/split-usr/hardened/selinux
+
+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
diff --git a/profiles/default/linux/amd64/17.1/systemd/clang/deprecated b/profiles/default/linux/amd64/17.1/systemd/clang/deprecated
new file mode 100644
index 000000000000..e5a3dd1d758e
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/systemd/clang/deprecated
@@ -0,0 +1,33 @@
+default/linux/amd64/17.1/systemd/clang/merged-usr
+
+As warned about previously in a news item, systemd-255 has dropped
+support for split-usr systems. All Gentoo systems running systemd will
+need to be migrated to merged-usr.
+
+Migrating to merged-usr will move all data from /bin, /sbin, and /lib
+into the /usr/bin and /usr/lib directories. The directories in / are
+replaced with symlinks.
+
+To facilitate this, a new set of sub-profiles has been created, and a
+script is available to perform the actual migration.
+
+To migrate a system to merged-usr, follow this procedure:
+
+1. Ensure your system backups are up to date. Please also update
+ your system fully and depclean before proceeding.
+
+2. Install sys-apps/merge-usr.
+
+3. Run "merge-usr --dryrun" as root to check for conflicts. These will
+ appear with the word ERROR at the start of the line.
+
+4. Resolve any conflicts. This may involve deleting duplicate files. If
+ in doubt, seek support in a Gentoo support channel.
+
+5. Run the merge-usr script from a root shell. Avoid running it via sudo
+ directly to avoid locking yourself out if an unexpected error occurs.
+
+6. Switch to a merged-usr profile.
+
+7. Run emerge with the --newuse or --changed-use option to rebuild
+ any packages that have a "split-usr" USE flag.
diff --git a/profiles/default/linux/amd64/17.1/systemd/clang/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/systemd/clang/merged-usr/deprecated
new file mode 100644
index 000000000000..aa61cab28ddc
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/systemd/clang/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/llvm/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/systemd/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..0da73aecf99a
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/systemd
+
+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
diff --git a/profiles/default/linux/amd64/17.1/systemd/selinux/deprecated b/profiles/default/linux/amd64/17.1/systemd/selinux/deprecated
new file mode 100644
index 000000000000..736342a22121
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/systemd/selinux/deprecated
@@ -0,0 +1,33 @@
+default/linux/amd64/17.1/systemd/selinux/merged-usr
+
+As warned about previously in a news item, systemd-255 has dropped
+support for split-usr systems. All Gentoo systems running systemd will
+need to be migrated to merged-usr.
+
+Migrating to merged-usr will move all data from /bin, /sbin, and /lib
+into the /usr/bin and /usr/lib directories. The directories in / are
+replaced with symlinks.
+
+To facilitate this, a new set of sub-profiles has been created, and a
+script is available to perform the actual migration.
+
+To migrate a system to merged-usr, follow this procedure:
+
+1. Ensure your system backups are up to date. Please also update
+ your system fully and depclean before proceeding.
+
+2. Install sys-apps/merge-usr.
+
+3. Run "merge-usr --dryrun" as root to check for conflicts. These will
+ appear with the word ERROR at the start of the line.
+
+4. Resolve any conflicts. This may involve deleting duplicate files. If
+ in doubt, seek support in a Gentoo support channel.
+
+5. Run the merge-usr script from a root shell. Avoid running it via sudo
+ directly to avoid locking yourself out if an unexpected error occurs.
+
+6. Switch to a merged-usr profile.
+
+7. Run emerge with the --newuse or --changed-use option to rebuild
+ any packages that have a "split-usr" USE flag.
diff --git a/profiles/default/linux/amd64/17.1/systemd/selinux/merged-usr/deprecated b/profiles/default/linux/amd64/17.1/systemd/selinux/merged-usr/deprecated
new file mode 100644
index 000000000000..e0853bb8ea72
--- /dev/null
+++ b/profiles/default/linux/amd64/17.1/systemd/selinux/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/amd64/23.0/hardened/selinux/systemd
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4/deprecated b/profiles/default/linux/arm/17.0/armv4/deprecated
new file mode 100644
index 000000000000..45b5c52341c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4/desktop/deprecated b/profiles/default/linux/arm/17.0/armv4/desktop/deprecated
new file mode 100644
index 000000000000..45b5c52341c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4/desktop/gnome/deprecated b/profiles/default/linux/arm/17.0/armv4/desktop/gnome/deprecated
new file mode 100644
index 000000000000..45b5c52341c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4/desktop/plasma/deprecated b/profiles/default/linux/arm/17.0/armv4/desktop/plasma/deprecated
new file mode 100644
index 000000000000..45b5c52341c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4/developer/deprecated b/profiles/default/linux/arm/17.0/armv4/developer/deprecated
new file mode 100644
index 000000000000..45b5c52341c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4t/deprecated b/profiles/default/linux/arm/17.0/armv4t/deprecated
new file mode 100644
index 000000000000..97e893728d18
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4t/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4t
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4t/desktop/deprecated b/profiles/default/linux/arm/17.0/armv4t/desktop/deprecated
new file mode 100644
index 000000000000..97e893728d18
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4t/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4t
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4t/desktop/gnome/deprecated b/profiles/default/linux/arm/17.0/armv4t/desktop/gnome/deprecated
new file mode 100644
index 000000000000..97e893728d18
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4t/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4t
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4t/desktop/plasma/deprecated b/profiles/default/linux/arm/17.0/armv4t/desktop/plasma/deprecated
new file mode 100644
index 000000000000..97e893728d18
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4t/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4t
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4t/developer/deprecated b/profiles/default/linux/arm/17.0/armv4t/developer/deprecated
new file mode 100644
index 000000000000..97e893728d18
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4t/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv4t
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv4t/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/armv4t/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..39e9ddab5c5d
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv4t/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/armv4t/systemd
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv5te/deprecated b/profiles/default/linux/arm/17.0/armv5te/deprecated
new file mode 100644
index 000000000000..021c24a339ac
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv5te/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv5te
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv5te/desktop/deprecated b/profiles/default/linux/arm/17.0/armv5te/desktop/deprecated
new file mode 100644
index 000000000000..021c24a339ac
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv5te/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv5te
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv5te/desktop/gnome/deprecated b/profiles/default/linux/arm/17.0/armv5te/desktop/gnome/deprecated
new file mode 100644
index 000000000000..021c24a339ac
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv5te/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv5te
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv5te/desktop/plasma/deprecated b/profiles/default/linux/arm/17.0/armv5te/desktop/plasma/deprecated
new file mode 100644
index 000000000000..021c24a339ac
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv5te/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv5te
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv5te/developer/deprecated b/profiles/default/linux/arm/17.0/armv5te/developer/deprecated
new file mode 100644
index 000000000000..021c24a339ac
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv5te/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv5te
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv5te/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/armv5te/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..7721e0101edb
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv5te/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/armv5te/systemd
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/deprecated b/profiles/default/linux/arm/17.0/armv6j/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/desktop/deprecated b/profiles/default/linux/arm/17.0/armv6j/desktop/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/desktop/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/desktop/gnome/deprecated b/profiles/default/linux/arm/17.0/armv6j/desktop/gnome/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/desktop/plasma/deprecated b/profiles/default/linux/arm/17.0/armv6j/desktop/plasma/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/developer/deprecated b/profiles/default/linux/arm/17.0/armv6j/developer/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/developer/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/hardened/deprecated b/profiles/default/linux/arm/17.0/armv6j/hardened/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/hardened/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/hardened/selinux/deprecated b/profiles/default/linux/arm/17.0/armv6j/hardened/selinux/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/selinux/deprecated b/profiles/default/linux/arm/17.0/armv6j/selinux/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/selinux/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv6j/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/armv6j/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv6j/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/deprecated b/profiles/default/linux/arm/17.0/armv7a/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/desktop/deprecated b/profiles/default/linux/arm/17.0/armv7a/desktop/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/desktop/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/desktop/gnome/deprecated b/profiles/default/linux/arm/17.0/armv7a/desktop/gnome/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/armv7a/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/desktop/plasma/deprecated b/profiles/default/linux/arm/17.0/armv7a/desktop/plasma/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/armv7a/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/developer/deprecated b/profiles/default/linux/arm/17.0/armv7a/developer/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/developer/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/hardened/deprecated b/profiles/default/linux/arm/17.0/armv7a/hardened/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/hardened/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/hardened/selinux/deprecated b/profiles/default/linux/arm/17.0/armv7a/hardened/selinux/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/armv7a/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/armv7a/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/armv7a/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/arm/17.0/deprecated b/profiles/default/linux/arm/17.0/deprecated
new file mode 100644
index 000000000000..ebd06e20749f
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/arm/17.0/desktop/deprecated b/profiles/default/linux/arm/17.0/desktop/deprecated
new file mode 100644
index 000000000000..b65e6c8df8d5
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/arm/17.0/desktop/gnome/deprecated b/profiles/default/linux/arm/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..51ad785cb389
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/arm/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..e79024de0325
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/arm/17.0/desktop/plasma/deprecated b/profiles/default/linux/arm/17.0/desktop/plasma/deprecated
new file mode 100644
index 000000000000..4e44c2757acc
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/desktop/plasma
+
+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
diff --git a/profiles/default/linux/arm/17.0/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/arm/17.0/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..df5a51661dd0
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/arm/17.0/developer/deprecated b/profiles/default/linux/arm/17.0/developer/deprecated
new file mode 100644
index 000000000000..ebd06e20749f
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/arm/17.0/musl/armv6j/deprecated b/profiles/default/linux/arm/17.0/musl/armv6j/deprecated
new file mode 100644
index 000000000000..5d36c73cd850
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv6j/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv6j_hf/musl
+
+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
diff --git a/profiles/default/linux/arm/17.0/musl/armv6j/hardened/deprecated b/profiles/default/linux/arm/17.0/musl/armv6j/hardened/deprecated
new file mode 100644
index 000000000000..de12cbfb2272
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv6j/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv6j_hf/musl/hardened
+
+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
diff --git a/profiles/default/linux/arm/17.0/musl/armv6j/hardened/selinux/deprecated b/profiles/default/linux/arm/17.0/musl/armv6j/hardened/selinux/deprecated
new file mode 100644
index 000000000000..32c22267e806
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv6j/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv6j_hf/musl/hardened/selinux
+
+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
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/deprecated b/profiles/default/linux/arm/17.0/musl/armv7a/deprecated
new file mode 100644
index 000000000000..6fc6daceb3ca
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv7a_hf/musl
+
+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
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/hardened/deprecated b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/deprecated
new file mode 100644
index 000000000000..b06f94740d02
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv7a_hf/musl/hardened
+
+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
diff --git a/profiles/default/linux/arm/17.0/musl/armv7a/hardened/selinux/deprecated b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/selinux/deprecated
new file mode 100644
index 000000000000..05defdaa7231
--- /dev/null
+++ b/profiles/default/linux/arm/17.0/musl/armv7a/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm/23.0/split-usr/armv7a_hf/musl/hardened/selinux
+
+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
diff --git a/profiles/default/linux/arm/23.0/armv6j_hf/musl/package.use.stable.mask b/profiles/default/linux/arm/23.0/armv6j_hf/musl/package.use.mask
index c021f45d8508..c021f45d8508 100644
--- a/profiles/default/linux/arm/23.0/armv6j_hf/musl/package.use.stable.mask
+++ b/profiles/default/linux/arm/23.0/armv6j_hf/musl/package.use.mask
diff --git a/profiles/default/linux/arm/23.0/armv7a_hf/musl/package.use.stable.mask b/profiles/default/linux/arm/23.0/armv7a_hf/musl/package.use.mask
index c021f45d8508..c021f45d8508 100644
--- a/profiles/default/linux/arm/23.0/armv7a_hf/musl/package.use.stable.mask
+++ b/profiles/default/linux/arm/23.0/armv7a_hf/musl/package.use.mask
diff --git a/profiles/default/linux/arm/23.0/musl/package.use.stable.mask b/profiles/default/linux/arm/23.0/musl/package.use.stable.mask
index c021f45d8508..785b52ceb864 100644
--- a/profiles/default/linux/arm/23.0/musl/package.use.stable.mask
+++ b/profiles/default/linux/arm/23.0/musl/package.use.stable.mask
@@ -1,6 +1,11 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2
+# Sam James <sam@gentoo.org> (2024-06-16)
+# Avoid pulling in sys-libs/compiler-rt-sanitizers which fails to build
+# See bug #928936.
+sys-devel/clang-runtime sanitize
+
# Andreas K. Hüttel <dilfridge@gentoo.org> (2024-03-20)
# Does not compile with musl-1.2.4
sys-devel/gcc sanitize
diff --git a/profiles/default/linux/arm/23.0/split-usr/armv6j_hf/musl/package.use.stable.mask b/profiles/default/linux/arm/23.0/split-usr/armv6j_hf/musl/package.use.mask
index c021f45d8508..c021f45d8508 100644
--- a/profiles/default/linux/arm/23.0/split-usr/armv6j_hf/musl/package.use.stable.mask
+++ b/profiles/default/linux/arm/23.0/split-usr/armv6j_hf/musl/package.use.mask
diff --git a/profiles/default/linux/arm/23.0/split-usr/armv7a_hf/musl/package.use.stable.mask b/profiles/default/linux/arm/23.0/split-usr/armv7a_hf/musl/package.use.mask
index c021f45d8508..c021f45d8508 100644
--- a/profiles/default/linux/arm/23.0/split-usr/armv7a_hf/musl/package.use.stable.mask
+++ b/profiles/default/linux/arm/23.0/split-usr/armv7a_hf/musl/package.use.mask
diff --git a/profiles/default/linux/arm64/17.0/big-endian/deprecated b/profiles/default/linux/arm64/17.0/big-endian/deprecated
new file mode 100644
index 000000000000..680df0d1ab93
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/big-endian/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/big-endian
+
+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
diff --git a/profiles/default/linux/arm64/17.0/big-endian/systemd/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/big-endian/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..c59e6961886c
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/big-endian/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/big-endian/systemd
+
+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
diff --git a/profiles/default/linux/arm64/17.0/deprecated b/profiles/default/linux/arm64/17.0/deprecated
new file mode 100644
index 000000000000..486ba33d3d4b
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/arm64/17.0/desktop/deprecated b/profiles/default/linux/arm64/17.0/desktop/deprecated
new file mode 100644
index 000000000000..717b8575347c
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/arm64/17.0/desktop/gnome/deprecated b/profiles/default/linux/arm64/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..a97368ac1d79
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/arm64/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..668387f6a691
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/arm64/17.0/desktop/plasma/deprecated b/profiles/default/linux/arm64/17.0/desktop/plasma/deprecated
new file mode 100644
index 000000000000..ebb83e5535f5
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/desktop/plasma
+
+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
diff --git a/profiles/default/linux/arm64/17.0/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..ccd2417ba85c
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/arm64/17.0/desktop/systemd/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/desktop/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..7b6310b03feb
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/desktop/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/desktop/systemd
+
+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
diff --git a/profiles/default/linux/arm64/17.0/developer/deprecated b/profiles/default/linux/arm64/17.0/developer/deprecated
new file mode 100644
index 000000000000..486ba33d3d4b
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/arm64/17.0/hardened/deprecated b/profiles/default/linux/arm64/17.0/hardened/deprecated
new file mode 100644
index 000000000000..ae8d32507a5a
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/hardened
+
+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
diff --git a/profiles/default/linux/arm64/17.0/hardened/selinux/deprecated b/profiles/default/linux/arm64/17.0/hardened/selinux/deprecated
new file mode 100644
index 000000000000..04377eb07d4c
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/hardened/selinux
+
+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
diff --git a/profiles/default/linux/arm64/17.0/llvm/deprecated b/profiles/default/linux/arm64/17.0/llvm/deprecated
new file mode 100644
index 000000000000..50d9447edffb
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/llvm/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/llvm
+
+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
diff --git a/profiles/default/linux/arm64/17.0/musl/deprecated b/profiles/default/linux/arm64/17.0/musl/deprecated
new file mode 100644
index 000000000000..96ea042000bf
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/musl
+
+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
diff --git a/profiles/default/linux/arm64/17.0/musl/hardened/deprecated b/profiles/default/linux/arm64/17.0/musl/hardened/deprecated
new file mode 100644
index 000000000000..7a1a18659361
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/musl/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/musl/hardened
+
+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
diff --git a/profiles/default/linux/arm64/17.0/musl/hardened/selinux/deprecated b/profiles/default/linux/arm64/17.0/musl/hardened/selinux/deprecated
new file mode 100644
index 000000000000..da1bf7ef3770
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/musl/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/musl/hardened/selinux
+
+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
diff --git a/profiles/default/linux/arm64/17.0/musl/llvm/deprecated b/profiles/default/linux/arm64/17.0/musl/llvm/deprecated
new file mode 100644
index 000000000000..8e6ae643caf1
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/musl/llvm/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/split-usr/musl/llvm
+
+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
diff --git a/profiles/default/linux/arm64/17.0/systemd/llvm/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/systemd/llvm/merged-usr/deprecated
new file mode 100644
index 000000000000..a344c6d61e5b
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/systemd/llvm/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/llvm/systemd
+
+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
diff --git a/profiles/default/linux/arm64/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..d639e20f1867
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/systemd
+
+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
diff --git a/profiles/default/linux/arm64/17.0/systemd/selinux/merged-usr/deprecated b/profiles/default/linux/arm64/17.0/systemd/selinux/merged-usr/deprecated
new file mode 100644
index 000000000000..826f54d8a36a
--- /dev/null
+++ b/profiles/default/linux/arm64/17.0/systemd/selinux/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/arm64/23.0/hardened/selinux/systemd
+
+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
diff --git a/profiles/default/linux/hppa/17.0/deprecated b/profiles/default/linux/hppa/17.0/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/hppa/17.0/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/hppa/17.0/desktop/deprecated b/profiles/default/linux/hppa/17.0/desktop/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/hppa/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/hppa/17.0/developer/deprecated b/profiles/default/linux/hppa/17.0/developer/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/hppa/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/hppa/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/hppa/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/hppa/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/ia64/17.0/deprecated b/profiles/default/linux/ia64/17.0/deprecated
new file mode 100644
index 000000000000..db515b7e21ae
--- /dev/null
+++ b/profiles/default/linux/ia64/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/ia64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ia64/17.0/desktop/deprecated b/profiles/default/linux/ia64/17.0/desktop/deprecated
new file mode 100644
index 000000000000..79f71ff58857
--- /dev/null
+++ b/profiles/default/linux/ia64/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/ia64/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/ia64/17.0/desktop/gnome/deprecated b/profiles/default/linux/ia64/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..0eb67ae8064e
--- /dev/null
+++ b/profiles/default/linux/ia64/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/ia64/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/ia64/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/ia64/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..b367562fd18c
--- /dev/null
+++ b/profiles/default/linux/ia64/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ia64/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/ia64/17.0/developer/deprecated b/profiles/default/linux/ia64/17.0/developer/deprecated
new file mode 100644
index 000000000000..db515b7e21ae
--- /dev/null
+++ b/profiles/default/linux/ia64/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/ia64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ia64/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/ia64/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..be9bc4b25696
--- /dev/null
+++ b/profiles/default/linux/ia64/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ia64/23.0/systemd
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/deprecated
new file mode 100644
index 000000000000..e014056c3146
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/split-usr/lp64d
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/deprecated
new file mode 100644
index 000000000000..7dad124056fc
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/split-usr/lp64d/desktop
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/deprecated
new file mode 100644
index 000000000000..4f70ec5b094c
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/split-usr/lp64d/desktop/gnome
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..2739d57076a1
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/lp64d/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/deprecated
new file mode 100644
index 000000000000..fba6aacd507d
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/split-usr/lp64d/desktop/plasma
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..dd2de41c7c1b
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/lp64d/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/merged-usr/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..a6a9180fadca
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/lp64d/desktop/systemd
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/developer/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/developer/deprecated
new file mode 100644
index 000000000000..e014056c3146
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/split-usr/lp64d
+
+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
diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/merged-usr/deprecated b/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..3967f72298be
--- /dev/null
+++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/loong/23.0/la64v100/lp64d/systemd
+
+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
diff --git a/profiles/default/linux/m68k/17.0/deprecated b/profiles/default/linux/m68k/17.0/deprecated
new file mode 100644
index 000000000000..5b3bb8039bb2
--- /dev/null
+++ b/profiles/default/linux/m68k/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/m68k/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/m68k/17.0/musl/deprecated b/profiles/default/linux/m68k/17.0/musl/deprecated
new file mode 100644
index 000000000000..d9c8615f02bd
--- /dev/null
+++ b/profiles/default/linux/m68k/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/m68k/23.0/split-usr/musl
+
+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
diff --git a/profiles/default/linux/m68k/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/m68k/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..d5519859465c
--- /dev/null
+++ b/profiles/default/linux/m68k/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/m68k/23.0/systemd
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/multilib/n32/deprecated b/profiles/default/linux/mips/17.0/mipsel/multilib/n32/deprecated
new file mode 100644
index 000000000000..a88072d79600
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/multilib/n32/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/mipsel/multilib/n32
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/multilib/n32/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/mipsel/multilib/n32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..91dd79c36c49
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/multilib/n32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/mipsel/multilib/n32/systemd
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/multilib/n64/deprecated b/profiles/default/linux/mips/17.0/mipsel/multilib/n64/deprecated
new file mode 100644
index 000000000000..d30a7d94ed9e
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/multilib/n64/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/mipsel/multilib/n64
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/multilib/n64/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/mipsel/multilib/n64/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..546f2481518e
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/multilib/n64/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/mipsel/multilib/n64/systemd
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/multilib/o32/deprecated b/profiles/default/linux/mips/17.0/mipsel/multilib/o32/deprecated
new file mode 100644
index 000000000000..0b4da443b64e
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/multilib/o32/deprecated
@@ -0,0 +1 @@
+default/linux/mips/17.0/mipsel/o32
diff --git a/profiles/default/linux/mips/17.0/mipsel/n32/deprecated b/profiles/default/linux/mips/17.0/mipsel/n32/deprecated
new file mode 100644
index 000000000000..e8ef1fd920dd
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/n32/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/mipsel/n32
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/n32/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/mipsel/n32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..d98cd50d4944
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/n32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/mipsel/n32/systemd
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/n64/deprecated b/profiles/default/linux/mips/17.0/mipsel/n64/deprecated
new file mode 100644
index 000000000000..d27ee875a2ba
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/n64/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/mipsel/n64
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/n64/musl/deprecated b/profiles/default/linux/mips/17.0/mipsel/n64/musl/deprecated
new file mode 100644
index 000000000000..085b11b8d942
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/n64/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/mipsel/n64/musl
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/n64/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/mipsel/n64/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..0f1d3637239e
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/n64/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/mipsel/n64/systemd
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/o32/deprecated b/profiles/default/linux/mips/17.0/mipsel/o32/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/o32/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/o32/musl/deprecated b/profiles/default/linux/mips/17.0/mipsel/o32/musl/deprecated
new file mode 100644
index 000000000000..970442e531a0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/o32/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/mipsel/o32/musl
+
+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
diff --git a/profiles/default/linux/mips/17.0/mipsel/o32/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/mipsel/o32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/mipsel/o32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/multilib/n32/deprecated b/profiles/default/linux/mips/17.0/multilib/n32/deprecated
new file mode 100644
index 000000000000..a4a9ed800704
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/multilib/n32/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/multilib/n32
+
+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
diff --git a/profiles/default/linux/mips/17.0/multilib/n32/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/multilib/n32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..372276d3f1aa
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/multilib/n32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/multilib/n32/systemd
+
+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
diff --git a/profiles/default/linux/mips/17.0/multilib/n64/deprecated b/profiles/default/linux/mips/17.0/multilib/n64/deprecated
new file mode 100644
index 000000000000..a086d5b8f3f3
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/multilib/n64/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/multilib/n64
+
+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
diff --git a/profiles/default/linux/mips/17.0/multilib/o32/deprecated b/profiles/default/linux/mips/17.0/multilib/o32/deprecated
new file mode 100644
index 000000000000..98ce3606a057
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/multilib/o32/deprecated
@@ -0,0 +1 @@
+default/linux/mips/17.0/o32
diff --git a/profiles/default/linux/mips/17.0/n32/deprecated b/profiles/default/linux/mips/17.0/n32/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/n32/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/n32/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/n32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/n32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/n64/deprecated b/profiles/default/linux/mips/17.0/n64/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/n64/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/n64/musl/deprecated b/profiles/default/linux/mips/17.0/n64/musl/deprecated
new file mode 100644
index 000000000000..4f0f9630cede
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/n64/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/n64/musl
+
+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
diff --git a/profiles/default/linux/mips/17.0/n64/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/n64/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/n64/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/o32/deprecated b/profiles/default/linux/mips/17.0/o32/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/o32/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/mips/17.0/o32/musl/deprecated b/profiles/default/linux/mips/17.0/o32/musl/deprecated
new file mode 100644
index 000000000000..0eadddb9a36b
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/o32/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/mips/23.0/split-usr/o32/musl
+
+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
diff --git a/profiles/default/linux/mips/17.0/o32/systemd/merged-usr/deprecated b/profiles/default/linux/mips/17.0/o32/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/mips/17.0/o32/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/parent b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/parent
deleted file mode 100644
index d5a56a13f692..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../../../../../../targets/desktop/gnome
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/eapi b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/eapi b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/parent b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/parent
deleted file mode 100644
index 05b6f4918b26..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../../../../../../../../features/merged-usr
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/parent b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/parent
deleted file mode 100644
index 288aeccdce82..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../../../../../../../targets/desktop/gnome/systemd
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/parent b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/parent
deleted file mode 100644
index fae96e8d36b2..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../../../../../targets/desktop
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/eapi b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/parent b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/parent
deleted file mode 100644
index 4bb06e409236..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../../../../../targets/developer
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/eapi b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/eapi
deleted file mode 100644
index 7ed6ff82de6b..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/eapi
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/parent b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/parent
deleted file mode 100644
index 898d55cbcebd..000000000000
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/parent
+++ /dev/null
@@ -1,2 +0,0 @@
-..
-../../../../../../arch/powerpc/ppc64/32ul
diff --git a/profiles/default/linux/ppc/17.0/deprecated b/profiles/default/linux/ppc/17.0/deprecated
new file mode 100644
index 000000000000..4b91a95b3766
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc/17.0/desktop/deprecated b/profiles/default/linux/ppc/17.0/desktop/deprecated
new file mode 100644
index 000000000000..0159d2926b31
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/ppc/17.0/desktop/gnome/deprecated b/profiles/default/linux/ppc/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..0c3059bbec6b
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/ppc/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/ppc/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..4c39f7d0e8e4
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/ppc/17.0/developer/deprecated b/profiles/default/linux/ppc/17.0/developer/deprecated
new file mode 100644
index 000000000000..4b91a95b3766
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc/17.0/musl/deprecated b/profiles/default/linux/ppc/17.0/musl/deprecated
new file mode 100644
index 000000000000..e719c6300283
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/split-usr/musl
+
+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
diff --git a/profiles/default/linux/ppc/17.0/musl/hardened/deprecated b/profiles/default/linux/ppc/17.0/musl/hardened/deprecated
new file mode 100644
index 000000000000..4f477a5098aa
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/musl/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/split-usr/musl/hardened
+
+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
diff --git a/profiles/default/linux/ppc/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/ppc/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..030e189b867f
--- /dev/null
+++ b/profiles/default/linux/ppc/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/systemd
+
+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
diff --git a/profiles/default/linux/ppc/23.0/musl/package.use.mask b/profiles/default/linux/ppc/23.0/musl/package.use.mask
index 80fbaf3654a7..c7d54156ade0 100644
--- a/profiles/default/linux/ppc/23.0/musl/package.use.mask
+++ b/profiles/default/linux/ppc/23.0/musl/package.use.mask
@@ -1,6 +1,11 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# Sam James <sam@gentoo.org> (2024-06-16)
+# Avoid pulling in sys-libs/compiler-rt-sanitizers which fails to build
+# See bug #928936.
+sys-devel/clang-runtime sanitize
+
# Sam James <sam@gentoo.org> (2023-01-29)
# Fails to build on combination of ppc* + musl because of mcontext.
# libsanitizer needs adapting, bug #892079.
diff --git a/profiles/default/linux/ppc64/17.0/deprecated b/profiles/default/linux/ppc64/17.0/deprecated
new file mode 100644
index 000000000000..d41b17886ec4
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/desktop/deprecated b/profiles/default/linux/ppc64/17.0/desktop/deprecated
new file mode 100644
index 000000000000..d76d864e182e
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/desktop/gnome/deprecated b/profiles/default/linux/ppc64/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..5140905bc84b
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..8dd6e72c370d
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/developer/deprecated b/profiles/default/linux/ppc64/17.0/developer/deprecated
new file mode 100644
index 000000000000..d41b17886ec4
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/musl/deprecated b/profiles/default/linux/ppc64/17.0/musl/deprecated
new file mode 100644
index 000000000000..7b217795bc28
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/split-usr/musl
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/musl/hardened/deprecated b/profiles/default/linux/ppc64/17.0/musl/hardened/deprecated
new file mode 100644
index 000000000000..254125d4eb92
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/musl/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/split-usr/musl/hardened
+
+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
diff --git a/profiles/default/linux/ppc64/17.0/package.mask b/profiles/default/linux/ppc64/17.0/package.mask
new file mode 100644
index 000000000000..f59665ea744c
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/package.mask
@@ -0,0 +1,7 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# matoro <matoro_gentoo@matoro.tk>
+# Requires USE=ieee-long-double, so mask on 17.0, #892183
+dev-python/sympy
+dev-python/symengine
diff --git a/profiles/default/linux/ppc64/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/ppc64/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..dfa8e211fd84
--- /dev/null
+++ b/profiles/default/linux/ppc64/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64/23.0/systemd
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/deprecated b/profiles/default/linux/ppc64le/17.0/deprecated
new file mode 100644
index 000000000000..ee7320f6f7c6
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/desktop/deprecated b/profiles/default/linux/ppc64le/17.0/desktop/deprecated
new file mode 100644
index 000000000000..a4ec403f1ad0
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/desktop/gnome/deprecated b/profiles/default/linux/ppc64le/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..32232b7ffd72
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr/desktop/gnome
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/ppc64le/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..1b0374bba685
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/desktop/plasma/deprecated b/profiles/default/linux/ppc64le/17.0/desktop/plasma/deprecated
new file mode 100644
index 000000000000..7d25eb99fd37
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr/desktop/plasma
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/ppc64le/17.0/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..225eb9579cba
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/desktop/systemd/merged-usr/deprecated b/profiles/default/linux/ppc64le/17.0/desktop/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..31f5006e0ca7
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/desktop/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/desktop/systemd
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/developer/deprecated b/profiles/default/linux/ppc64le/17.0/developer/deprecated
new file mode 100644
index 000000000000..ee7320f6f7c6
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/ieee-long-double/deprecated b/profiles/default/linux/ppc64le/17.0/ieee-long-double/deprecated
new file mode 100644
index 000000000000..ee7320f6f7c6
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/ieee-long-double/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/musl/deprecated b/profiles/default/linux/ppc64le/17.0/musl/deprecated
new file mode 100644
index 000000000000..f439ee75b0df
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr/musl
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/musl/hardened/deprecated b/profiles/default/linux/ppc64le/17.0/musl/hardened/deprecated
new file mode 100644
index 000000000000..41718e4bc2b7
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/musl/hardened/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/split-usr/musl/hardened
+
+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
diff --git a/profiles/default/linux/ppc64le/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/ppc64le/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..e4eebc79b279
--- /dev/null
+++ b/profiles/default/linux/ppc64le/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc64le/23.0/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/deprecated
new file mode 100644
index 000000000000..e49def3f4967
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/deprecated
new file mode 100644
index 000000000000..6c2be8c5f679
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64/desktop
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/deprecated
new file mode 100644
index 000000000000..fb525dece1c2
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64/desktop/gnome
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..b9f28caee6ad
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/deprecated
new file mode 100644
index 000000000000..8d8c0756f87d
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64/desktop/plasma
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..beb2580f569e
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..338c8842c0f0
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/desktop/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64/desktop/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/musl/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/musl/deprecated
new file mode 100644
index 000000000000..892b778d212c
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64/musl
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..b7fc6f92311e
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/deprecated
new file mode 100644
index 000000000000..540d5a7a8b20
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64d
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/deprecated
new file mode 100644
index 000000000000..5e2131dd0c9b
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64d/desktop
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/deprecated
new file mode 100644
index 000000000000..2364215f9525
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64d/desktop/gnome
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..bb4966dda923
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64d/desktop/gnome/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/deprecated
new file mode 100644
index 000000000000..41bf9a8a889c
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64d/desktop/plasma
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..a6e661c9749b
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64d/desktop/plasma/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..b551ec79fb17
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/desktop/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64d/desktop/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/musl/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/musl/deprecated
new file mode 100644
index 000000000000..d7c4a35e16c3
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/musl/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/lp64d/musl
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/lp64d/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..cb41936251b2
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/lp64d/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/lp64d/systemd
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/multilib/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/multilib/deprecated
new file mode 100644
index 000000000000..a4771c0b41b7
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/multilib/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/split-usr/multilib
+
+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
diff --git a/profiles/default/linux/riscv/20.0/rv64gc/multilib/systemd/merged-usr/deprecated b/profiles/default/linux/riscv/20.0/rv64gc/multilib/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..80d5cdfc4ead
--- /dev/null
+++ b/profiles/default/linux/riscv/20.0/rv64gc/multilib/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/riscv/23.0/rv64/multilib/systemd
+
+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
diff --git a/profiles/default/linux/riscv/23.0/rv64/lp64d/musl/package.mask b/profiles/default/linux/riscv/23.0/rv64/lp64d/musl/package.mask
new file mode 100644
index 000000000000..36b75d044c99
--- /dev/null
+++ b/profiles/default/linux/riscv/23.0/rv64/lp64d/musl/package.mask
@@ -0,0 +1,6 @@
+# Copyright 2024 Gentoo Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+# Arthur Zamarin <arthurzam@gentoo.org> (2024-06-12)
+# rust-bin is available on riscv musl
+-dev-lang/rust-bin
diff --git a/profiles/default/linux/riscv/23.0/rv64/split-usr/lp64d/musl/package.mask b/profiles/default/linux/riscv/23.0/rv64/split-usr/lp64d/musl/package.mask
new file mode 100644
index 000000000000..36b75d044c99
--- /dev/null
+++ b/profiles/default/linux/riscv/23.0/rv64/split-usr/lp64d/musl/package.mask
@@ -0,0 +1,6 @@
+# Copyright 2024 Gentoo Authors.
+# Distributed under the terms of the GNU General Public License v2
+
+# Arthur Zamarin <arthurzam@gentoo.org> (2024-06-12)
+# rust-bin is available on riscv musl
+-dev-lang/rust-bin
diff --git a/profiles/default/linux/s390/17.0/deprecated b/profiles/default/linux/s390/17.0/deprecated
new file mode 100644
index 000000000000..61ac072431c1
--- /dev/null
+++ b/profiles/default/linux/s390/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/s390/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/s390/17.0/s390x/deprecated b/profiles/default/linux/s390/17.0/s390x/deprecated
new file mode 100644
index 000000000000..c11e580933f3
--- /dev/null
+++ b/profiles/default/linux/s390/17.0/s390x/deprecated
@@ -0,0 +1,104 @@
+default/linux/s390/23.0/split-usr/s390x
+
+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
diff --git a/profiles/default/linux/s390/17.0/s390x/systemd/merged-usr/deprecated b/profiles/default/linux/s390/17.0/s390x/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..c0dbaaa46ccf
--- /dev/null
+++ b/profiles/default/linux/s390/17.0/s390x/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/s390/23.0/s390x/systemd
+
+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
diff --git a/profiles/default/linux/s390/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/s390/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..7f3fc08d2879
--- /dev/null
+++ b/profiles/default/linux/s390/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/s390/23.0/systemd
+
+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
diff --git a/profiles/default/linux/sparc/17.0/64ul/deprecated b/profiles/default/linux/sparc/17.0/64ul/deprecated
new file mode 100644
index 000000000000..74bb6bf3aef0
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/64ul/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/split-usr/64ul
+
+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
diff --git a/profiles/default/linux/sparc/17.0/64ul/desktop/deprecated b/profiles/default/linux/sparc/17.0/64ul/desktop/deprecated
new file mode 100644
index 000000000000..18cc090c46ed
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/64ul/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/split-usr/64ul/desktop
+
+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
diff --git a/profiles/default/linux/sparc/17.0/64ul/developer/deprecated b/profiles/default/linux/sparc/17.0/64ul/developer/deprecated
new file mode 100644
index 000000000000..74bb6bf3aef0
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/64ul/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/split-usr/64ul
+
+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
diff --git a/profiles/default/linux/sparc/17.0/64ul/systemd/merged-usr/deprecated b/profiles/default/linux/sparc/17.0/64ul/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..a1b8be4d89d4
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/64ul/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/64ul/systemd
+
+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
diff --git a/profiles/default/linux/sparc/17.0/deprecated b/profiles/default/linux/sparc/17.0/deprecated
new file mode 100644
index 000000000000..60588d75d06b
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/sparc/17.0/desktop/deprecated b/profiles/default/linux/sparc/17.0/desktop/deprecated
new file mode 100644
index 000000000000..954e06165107
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/split-usr/desktop
+
+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
diff --git a/profiles/default/linux/sparc/17.0/developer/deprecated b/profiles/default/linux/sparc/17.0/developer/deprecated
new file mode 100644
index 000000000000..60588d75d06b
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/split-usr
+
+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
diff --git a/profiles/default/linux/sparc/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/sparc/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..f43dfd7a92d6
--- /dev/null
+++ b/profiles/default/linux/sparc/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/sparc/23.0/systemd
+
+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
diff --git a/profiles/default/linux/x86/17.0/deprecated b/profiles/default/linux/x86/17.0/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/desktop/deprecated b/profiles/default/linux/x86/17.0/desktop/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/desktop/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/desktop/gnome/deprecated b/profiles/default/linux/x86/17.0/desktop/gnome/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/desktop/gnome/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/x86/17.0/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/desktop/plasma/deprecated b/profiles/default/linux/x86/17.0/desktop/plasma/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/desktop/plasma/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/desktop/plasma/systemd/merged-usr/deprecated b/profiles/default/linux/x86/17.0/desktop/plasma/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/desktop/plasma/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/developer/deprecated b/profiles/default/linux/x86/17.0/developer/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/developer/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/hardened/deprecated b/profiles/default/linux/x86/17.0/hardened/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/hardened/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/hardened/selinux/deprecated b/profiles/default/linux/x86/17.0/hardened/selinux/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/hardened/selinux/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/musl/deprecated b/profiles/default/linux/x86/17.0/musl/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/musl/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/musl/selinux/deprecated b/profiles/default/linux/x86/17.0/musl/selinux/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/musl/selinux/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/selinux/deprecated b/profiles/default/linux/x86/17.0/selinux/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/selinux/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/17.0/systemd/merged-usr/deprecated b/profiles/default/linux/x86/17.0/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..063fe9af04c0
--- /dev/null
+++ b/profiles/default/linux/x86/17.0/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+
+
+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
diff --git a/profiles/default/linux/x86/23.0/i486/musl/package.use.mask b/profiles/default/linux/x86/23.0/i486/musl/package.use.mask
index b794980bdad7..0f0f54b0e2d2 100644
--- a/profiles/default/linux/x86/23.0/i486/musl/package.use.mask
+++ b/profiles/default/linux/x86/23.0/i486/musl/package.use.mask
@@ -1,6 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2
+# Sam James <sam@gentoo.org> (2024-06-16)
+# Avoid pulling in sys-libs/compiler-rt-sanitizers which fails to build
+# See bug #928936.
+sys-devel/clang-runtime sanitize
+
+# Ian Jordan <immoloism@gmail.com> (2024-05-20)
+# Does not compile with musl-1.2.4+
+sys-devel/gcc sanitize
+
# Anthony G. Basile <blueness@gentoo.org> (2020-09-06)
# The patch added for 5.39-r1 breaks on musl i686
# file-5.39-seccomp_sandbox.patch is okay
diff --git a/profiles/default/linux/x86/23.0/i486/musl/package.use.stable.mask b/profiles/default/linux/x86/23.0/i486/musl/package.use.stable.mask
deleted file mode 100644
index c021f45d8508..000000000000
--- a/profiles/default/linux/x86/23.0/i486/musl/package.use.stable.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License, v2
-
-# Andreas K. Hüttel <dilfridge@gentoo.org> (2024-03-20)
-# Does not compile with musl-1.2.4
-sys-devel/gcc sanitize
diff --git a/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.mask b/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.mask
index b794980bdad7..d3fa26567c1d 100644
--- a/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.mask
+++ b/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.mask
@@ -1,6 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2
+# Ian Jordan <immoloism@gmail.com> (2024-05-20)
+# Does not compile with musl-1.2.4+
+sys-devel/gcc sanitize
+
# Anthony G. Basile <blueness@gentoo.org> (2020-09-06)
# The patch added for 5.39-r1 breaks on musl i686
# file-5.39-seccomp_sandbox.patch is okay
diff --git a/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.stable.mask b/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.stable.mask
deleted file mode 100644
index c021f45d8508..000000000000
--- a/profiles/default/linux/x86/23.0/i486/split-usr/musl/package.use.stable.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License, v2
-
-# Andreas K. Hüttel <dilfridge@gentoo.org> (2024-03-20)
-# Does not compile with musl-1.2.4
-sys-devel/gcc sanitize
diff --git a/profiles/default/linux/x86/23.0/i686/musl/package.use.mask b/profiles/default/linux/x86/23.0/i686/musl/package.use.mask
index b794980bdad7..0f0f54b0e2d2 100644
--- a/profiles/default/linux/x86/23.0/i686/musl/package.use.mask
+++ b/profiles/default/linux/x86/23.0/i686/musl/package.use.mask
@@ -1,6 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2
+# Sam James <sam@gentoo.org> (2024-06-16)
+# Avoid pulling in sys-libs/compiler-rt-sanitizers which fails to build
+# See bug #928936.
+sys-devel/clang-runtime sanitize
+
+# Ian Jordan <immoloism@gmail.com> (2024-05-20)
+# Does not compile with musl-1.2.4+
+sys-devel/gcc sanitize
+
# Anthony G. Basile <blueness@gentoo.org> (2020-09-06)
# The patch added for 5.39-r1 breaks on musl i686
# file-5.39-seccomp_sandbox.patch is okay
diff --git a/profiles/default/linux/x86/23.0/i686/musl/package.use.stable.mask b/profiles/default/linux/x86/23.0/i686/musl/package.use.stable.mask
deleted file mode 100644
index c021f45d8508..000000000000
--- a/profiles/default/linux/x86/23.0/i686/musl/package.use.stable.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License, v2
-
-# Andreas K. Hüttel <dilfridge@gentoo.org> (2024-03-20)
-# Does not compile with musl-1.2.4
-sys-devel/gcc sanitize
diff --git a/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.mask b/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.mask
index b794980bdad7..d3fa26567c1d 100644
--- a/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.mask
+++ b/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.mask
@@ -1,6 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2
+# Ian Jordan <immoloism@gmail.com> (2024-05-20)
+# Does not compile with musl-1.2.4+
+sys-devel/gcc sanitize
+
# Anthony G. Basile <blueness@gentoo.org> (2020-09-06)
# The patch added for 5.39-r1 breaks on musl i686
# file-5.39-seccomp_sandbox.patch is okay
diff --git a/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.stable.mask b/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.stable.mask
deleted file mode 100644
index c021f45d8508..000000000000
--- a/profiles/default/linux/x86/23.0/i686/split-usr/musl/package.use.stable.mask
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License, v2
-
-# Andreas K. Hüttel <dilfridge@gentoo.org> (2024-03-20)
-# Does not compile with musl-1.2.4
-sys-devel/gcc sanitize
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/eapi b/profiles/default/linux/x86/23.0/i686/time64/eapi
index 7ed6ff82de6b..7ed6ff82de6b 100644
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/eapi
+++ b/profiles/default/linux/x86/23.0/i686/time64/eapi
diff --git a/profiles/default/linux/x86/23.0/i686/time64/make.defaults b/profiles/default/linux/x86/23.0/i686/time64/make.defaults
new file mode 100644
index 000000000000..e842848fb66c
--- /dev/null
+++ b/profiles/default/linux/x86/23.0/i686/time64/make.defaults
@@ -0,0 +1,5 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+CHOST="i686-pc-linux-gnut64"
+CHOST_x86="${CHOST}"
diff --git a/profiles/default/linux/x86/23.0/i686/time64/parent b/profiles/default/linux/x86/23.0/i686/time64/parent
new file mode 100644
index 000000000000..1072670e42f2
--- /dev/null
+++ b/profiles/default/linux/x86/23.0/i686/time64/parent
@@ -0,0 +1,2 @@
+..
+../../../../../../features/time64
diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/eapi b/profiles/default/linux/x86/23.0/i686/time64/systemd/eapi
index 7ed6ff82de6b..7ed6ff82de6b 100644
--- a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/eapi
+++ b/profiles/default/linux/x86/23.0/i686/time64/systemd/eapi
diff --git a/profiles/default/linux/x86/23.0/i686/time64/systemd/parent b/profiles/default/linux/x86/23.0/i686/time64/systemd/parent
new file mode 100644
index 000000000000..44f88d3e2df0
--- /dev/null
+++ b/profiles/default/linux/x86/23.0/i686/time64/systemd/parent
@@ -0,0 +1,2 @@
+..
+../../../../../../../targets/systemd