public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/, ...
@ 2019-11-30  7:50 Joonas Niilola
  0 siblings, 0 replies; 2+ messages in thread
From: Joonas Niilola @ 2019-11-30  7:50 UTC (permalink / raw
  To: gentoo-commits

commit:     90d194bc8a80a478c91f5196da9eac770a755ca2
Author:     Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
AuthorDate: Mon Nov 18 09:45:56 2019 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Sat Nov 30 07:48:56 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90d194bc

net-libs/pjproject: Bump to 2.9.

Drop libressl patches (upstream).
Rebase configure for --enable-ssl.
Pull in asterisk config_site.h file.
Remove blocked on mediastreamer-bcg729 (bcg729 and mediastreamer-bcg729
are the actual blockers and marked as such already).
Use ${ED} instead of ${D} on install
Correctly rm static libs if USE=-static-libs
Set the PJMEDIA_HAS_VIDEO #define as per https://bugs.gentoo.org/652196
Update package.use.mask for ppc to mask g729 for pjproject since
net-libs/bcg729 isn't available (yet) on ppc.

Closes: https://bugs.gentoo.org/609702
Closes: https://bugs.gentoo.org/618352
Closes: https://bugs.gentoo.org/652196
Closes: https://bugs.gentoo.org/650312
Closes: https://bugs.gentoo.org/653482
Closes: https://bugs.gentoo.org/657014
Closes: https://bugs.gentoo.org/686796
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
Closes: https://github.com/gentoo/gentoo/pull/13712
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 net-libs/pjproject/Manifest                        |   1 +
 .../pjproject/files/pjproject-2.9-config_site.h    |  74 +++++++++++++
 .../pjproject/files/pjproject-2.9-ssl-enable.patch | 100 +++++++++++++++++
 net-libs/pjproject/metadata.xml                    |   3 +-
 net-libs/pjproject/pjproject-2.9.ebuild            | 120 +++++++++++++++++++++
 .../linux/powerpc/ppc32/17.0/package.use.mask      |   3 +
 .../ppc64/17.0/32bit-userland/package.use.mask     |   3 +
 7 files changed, 303 insertions(+), 1 deletion(-)

diff --git a/net-libs/pjproject/Manifest b/net-libs/pjproject/Manifest
index 12e01535ff4..3131fb359e1 100644
--- a/net-libs/pjproject/Manifest
+++ b/net-libs/pjproject/Manifest
@@ -1,2 +1,3 @@
 DIST pjproject-2.7.1.tar.bz2 4880007 BLAKE2B 33fca89f07abc0b9662b1070c96b903c236a60149734755286dad3111411dbeef5779077a77d21112be6db2957cb7e18c5c833b3c5fd32c26be44d4550fb215e SHA512 cd15afee2a02659668ff228b2652d2bd179393e3b5031afae1c326354fb9676babc08eb689e466165536abc360684299b4fdb41dbb1148aed89afe1ce7e5d979
 DIST pjproject-2.7.2.tar.bz2 4994233 BLAKE2B 44ecaf0997d5dd9b18e0b811cead7c9104e63894fa06fb1d64e79b60fa4210968fd90ef47e5f5be3629675363c8756ce3bc1834caa9700654ab4c53efe676ee7 SHA512 3d355ffcbbeed62cfc711e574a987dc06043ccf4f2625820adffa89167022b8306fcee3fada71d3d45e7b902fc9c65ac8221de101cbafed25362a3921f702afd
+DIST pjproject-2.9.tar.bz2 5009546 BLAKE2B 853f86e57c0f58943e977856bebc7dc20684ac4a6a16a55f3fe4ddf58ca58187bdc1011c5df2bc72de690f1695484012b582e56dd0e88a624ef319a5f3623772 SHA512 a65823a86ad0cd76890cf7dd2485f7547fd90aea2ef631c5420c009b35f39eda3b78551a42fc2816c2470de9eb728c26497774a8494824472ecaa1d2889cc20b

diff --git a/net-libs/pjproject/files/pjproject-2.9-config_site.h b/net-libs/pjproject/files/pjproject-2.9-config_site.h
new file mode 100644
index 00000000000..d41ac1d1947
--- /dev/null
+++ b/net-libs/pjproject/files/pjproject-2.9-config_site.h
@@ -0,0 +1,74 @@
+/*
+ * Based off of the Asterisk config_site.h file.
+ *
+ * In general it's the same with some removals due to being ebuild-managed.
+ */
+
+#include <sys/select.h>
+
+/* handled by ebuild, default to disabled here */
+#ifndef PJMEDIA_HAS_SRTP
+#define PJMEDIA_HAS_SRTP 0
+#endif
+
+#define PJ_MAX_HOSTNAME (256)
+#define PJSIP_MAX_URL_SIZE (512)
+#ifdef PJ_HAS_LINUX_EPOLL
+#define PJ_IOQUEUE_MAX_HANDLES	(5000)
+#else
+#define PJ_IOQUEUE_MAX_HANDLES	(FD_SETSIZE)
+#endif
+#define PJ_IOQUEUE_HAS_SAFE_UNREG 1
+#define PJ_IOQUEUE_MAX_EVENTS_IN_SINGLE_POLL (16)
+
+#define PJ_SCANNER_USE_BITWISE	0
+#define PJ_OS_HAS_CHECK_STACK	0
+
+#ifndef PJ_LOG_MAX_LEVEL
+#define PJ_LOG_MAX_LEVEL		6
+#endif
+
+#define PJ_ENABLE_EXTRA_CHECK	1
+#define PJSIP_MAX_TSX_COUNT		((64*1024)-1)
+#define PJSIP_MAX_DIALOG_COUNT	((64*1024)-1)
+#define PJSIP_UDP_SO_SNDBUF_SIZE	(512*1024)
+#define PJSIP_UDP_SO_RCVBUF_SIZE	(512*1024)
+#define PJSIP_SAFE_MODULE		0
+#define PJ_HAS_STRICMP_ALNUM		0
+
+/*
+ * Do not ever enable PJ_HASH_USE_OWN_TOLOWER because the algorithm is
+ * inconsistently used when calculating the hash value and doesn't
+ * convert the same characters as pj_tolower()/tolower().  Thus you
+ * can get different hash values if the string hashed has certain
+ * characters in it.  (ASCII '@', '[', '\\', ']', '^', and '_')
+ */
+#undef PJ_HASH_USE_OWN_TOLOWER
+
+/*
+  It is imperative that PJSIP_UNESCAPE_IN_PLACE remain 0 or undefined.
+  Enabling it will result in SEGFAULTS when URIs containing escape sequences are encountered.
+*/
+#undef PJSIP_UNESCAPE_IN_PLACE
+#define PJSIP_MAX_PKT_LEN			32000
+
+#undef PJ_TODO
+#define PJ_TODO(x)
+
+/* Defaults too low for WebRTC */
+#define PJ_ICE_MAX_CAND 32
+#define PJ_ICE_MAX_CHECKS (PJ_ICE_MAX_CAND * PJ_ICE_MAX_CAND)
+
+/* Increase limits to allow more formats */
+#define	PJMEDIA_MAX_SDP_FMT   64
+#define	PJMEDIA_MAX_SDP_BANDW   4
+#define	PJMEDIA_MAX_SDP_ATTR   (PJMEDIA_MAX_SDP_FMT*2 + 4)
+#define	PJMEDIA_MAX_SDP_MEDIA   16
+
+/*
+ * Turn off the periodic sending of CRLNCRLN.  Default is on (90 seconds),
+ * which conflicts with the global section's keep_alive_interval option in
+ * pjsip.conf.
+ */
+#define PJSIP_TCP_KEEP_ALIVE_INTERVAL	0
+#define PJSIP_TLS_KEEP_ALIVE_INTERVAL	0

diff --git a/net-libs/pjproject/files/pjproject-2.9-ssl-enable.patch b/net-libs/pjproject/files/pjproject-2.9-ssl-enable.patch
new file mode 100644
index 00000000000..bb8a11d7f45
--- /dev/null
+++ b/net-libs/pjproject/files/pjproject-2.9-ssl-enable.patch
@@ -0,0 +1,100 @@
+From 2942c73cd3b3389ec1a35258f22ac9d0f0742de1 Mon Sep 17 00:00:00 2001
+From: Jaco Kroon <jaco@iewc.co.za>
+Date: Thu, 24 May 2018 15:40:33 +0200
+Subject: [PATCH] Fix support for --enable-ssl.
+
+This change enables the explicit use of --enable-ssl in such a way that
+package managers such as portage (Gentoo) that explicitly does
+--enable-ssl or --disable-ssl will get the results that it's looking
+for.
+
+Without this specifying --enable-ssl would end up actually disabling it.
+
+Additionally, if --enable-ssl is specified but the script ends up being
+unable to enable ssl it will fail.
+---
+ aconfigure    | 16 ++++++++++++----
+ aconfigure.ac | 15 ++++++++++++---
+ 2 files changed, 24 insertions(+), 7 deletions(-)
+
+diff --git a/aconfigure b/aconfigure
+index 0cf17faae..57bdfba87 100755
+--- a/aconfigure
++++ b/aconfigure
+@@ -8001,8 +8001,9 @@ if test "${enable_ssl+set}" = set; then :
+ $as_echo "Checking if SSL support is disabled... yes" >&6; }
+ 	        fi
+ 
+-else
++fi
+ 
++if test "x$ac_no_ssl" != "x1"; then
+ 	        if test "x$with_ssl" != "xno" -a "x$with_ssl" != "x"; then
+                     CFLAGS="$CFLAGS -I$with_ssl/include"
+                     CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
+@@ -8317,16 +8318,23 @@ $as_echo "GnuTLS library found, SSL support enabled" >&6; }
+ 
+             		ac_ssl_backend="gnutls"
+         	    else
+-            		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ** No GnuTLS libraries found, disabling SSL support **" >&5
+-$as_echo "** No GnuTLS libraries found, disabling SSL support **" >&6; }
++			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ** No GnuTLS libraries found **" >&5
++$as_echo "** No GnuTLS libraries found **" >&6; }
+         	    fi
+ 
+         	fi
+ 
++		if test "x$ac_ssl_backend" = "x"; then
++		    if test "x$enable_ssl" = "xyes"; then
++			as_fn_error $? "SSL Support requested but neither OpenSSL nor GnuTLS operational" "$LINENO" 5
++		    else
++			{ $as_echo "$as_me:${as_lineno-$LINENO}: result: No SSL detected, disabling SSL support" >&5
++$as_echo "No SSL detected, disabling SSL support" >&6; }
++		    fi
++		fi
+ fi
+ 
+ 
+-
+ # Check whether --with-opencore-amrnb was given.
+ if test "${with_opencore_amrnb+set}" = set; then :
+   withval=$with_opencore_amrnb; as_fn_error $? "This option is obsolete and replaced by --with-opencore-amr=DIR" "$LINENO" 5
+diff --git a/aconfigure.ac b/aconfigure.ac
+index 8d7d944a1..45c42756b 100644
+--- a/aconfigure.ac
++++ b/aconfigure.ac
+@@ -1607,7 +1607,8 @@ AC_ARG_ENABLE(ssl,
+ 		 AC_MSG_RESULT([Checking if SSL support is disabled... yes])
+ 	        fi
+ 	      ],
+-	      [
++	      [])
++if test "x$ac_no_ssl" != "x1"; then
+ 	        if test "x$with_ssl" != "xno" -a "x$with_ssl" != "x"; then
+                     CFLAGS="$CFLAGS -I$with_ssl/include"
+                     CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
+@@ -1692,11 +1693,19 @@ AC_ARG_ENABLE(ssl,
+ 			AC_DEFINE(PJ_SSL_SOCK_IMP, PJ_SSL_SOCK_IMP_GNUTLS)
+             		ac_ssl_backend="gnutls"
+         	    else
+-            		AC_MSG_RESULT([** No GnuTLS libraries found, disabling SSL support **])
++			AC_MSG_RESULT([** No GnuTLS libraries found **])
+         	    fi
+         	
+         	fi
+-	      ])
++
++		if test "x$ac_ssl_backend" = "x"; then
++		    if test "x$enable_ssl" = "xyes"; then
++			AC_MSG_ERROR([SSL Support requested but neither OpenSSL nor GnuTLS operational])
++		    else
++			AC_MSG_RESULT([No SSL detected, disabling SSL support])
++		    fi
++		fi
++fi
+ 
+ dnl # Obsolete option --with-opencore-amrnb
+ AC_ARG_WITH(opencore-amrnb,
+-- 
+2.23.0
+

diff --git a/net-libs/pjproject/metadata.xml b/net-libs/pjproject/metadata.xml
index d5f49d1aa55..6d51c770dce 100644
--- a/net-libs/pjproject/metadata.xml
+++ b/net-libs/pjproject/metadata.xml
@@ -11,17 +11,18 @@
 	</maintainer>
 	<use>
 		<flag name="amr">Inlcude AMR codec in the build</flag>
-		<flag name="v4l2">Include Video4Linux v2 support in the build</flag>
 		<flag name="epoll">Use /dev/epoll ioqueue on Linux (experimental)</flag>
 		<flag name="g711">Include G.711 codecs in the build</flag>
 		<flag name="g722">Include G.722 codec in the build</flag>
 		<flag name="g7221">Include G.722.1 codec in the build</flag>
+		<flag name="g729">Include G.729 codec via net-libs/bcg729</flag>
 		<flag name="ilbc">Include iLBC codec in the build</flag>
 		<flag name="l16">Include Linear/L16 codec family in the build</flag>
 		<flag name="libyuv">Include libyuv in the build</flag>
 		<flag name="openh264">Include Open H.264 support in the build</flag>
 		<flag name="resample">Include resampling implementations in the build</flag>
 		<flag name="silk">Include SILK support in the build</flag>
+		<flag name="v4l2">Include Video4Linux v2 support in the build</flag>
 		<flag name="webrtc">Enable WebRTC support</flag>
 	</use>
 </pkgmetadata>

diff --git a/net-libs/pjproject/pjproject-2.9.ebuild b/net-libs/pjproject/pjproject-2.9.ebuild
new file mode 100644
index 00000000000..5a4d582b1e2
--- /dev/null
+++ b/net-libs/pjproject/pjproject-2.9.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Open source SIP, Media, and NAT Traversal Library"
+HOMEPAGE="https://www.pjsip.org/"
+SRC_URI="https://www.pjsip.org/release/${PV}/${P}.tar.bz2"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+# g729 not included due to special bcg729 handling.
+CODEC_FLAGS="g711 g722 g7221 gsm ilbc speex l16"
+VIDEO_FLAGS="sdl ffmpeg v4l2 openh264 libyuv"
+SOUND_FLAGS="alsa portaudio"
+IUSE="amr debug epoll examples ipv6 libressl opus resample silk ssl static-libs webrtc
+	${CODEC_FLAGS} g729
+	${VIDEO_FLAGS}
+	${SOUND_FLAGS}"
+
+PATCHES=(
+	"${FILESDIR}/pjproject-2.9-ssl-enable.patch"
+)
+
+RDEPEND="net-libs/libsrtp:=
+
+	alsa? ( media-libs/alsa-lib )
+	amr? ( media-libs/opencore-amr )
+	ffmpeg? ( virtual/ffmpeg:= )
+	g729? ( media-libs/bcg729 )
+	gsm? ( media-sound/gsm )
+	ilbc? ( dev-libs/ilbc-rfc3951 )
+	openh264? ( media-libs/openh264 )
+	opus? ( media-libs/opus )
+	portaudio? ( media-libs/portaudio )
+	resample? ( media-libs/libsamplerate )
+	sdl? ( media-libs/libsdl )
+	speex? ( media-libs/speexdsp )
+	ssl? (
+		!libressl? ( dev-libs/openssl:0= )
+		libressl? ( dev-libs/libressl:0= )
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+	default
+	rm configure || die "Unable to remove unwanted wrapper"
+	mv aconfigure.ac configure.ac || die "Unable to rename configure script source"
+	eautoreconf
+
+	cp "${FILESDIR}/pjproject-2.9-config_site.h" "${S}/pjlib/include/pj/config_site.h" || die "Unable to create config_site.h"
+}
+
+src_configure() {
+	local myconf=()
+	local videnable="--disable-video"
+	local t
+
+	use debug || append-cflags -DNDEBUG=1
+	use ipv6 && append-cflags -DPJ_HAS_IPV6=1
+	append-cflags -DPJMEDIA_HAS_SRTP=1
+
+	for t in ${CODEC_FLAGS}; do
+		myconf+=( $(use_enable ${t} ${t}-codec) )
+	done
+	myconf+=( $(use_enable g729 bcg729) )
+
+	for t in ${VIDEO_FLAGS}; do
+		myconf+=( $(use_enable ${t}) )
+		use "${t}" && videnable="--enable-video"
+	done
+
+	[ "${videnable}" = "--enable-video" ] && append-cflags -DPJMEDIA_HAS_VIDEO=1
+
+	econf \
+		--enable-shared \
+		--with-external-srtp \
+		${videnable} \
+		$(use_enable alsa sound) \
+		$(use_enable amr opencore-amr) \
+		$(use_enable epoll) \
+		$(use_enable opus) \
+		$(use_enable portaudio ext-sound) \
+		$(use_enable resample libsamplerate) \
+		$(use_enable resample resample-dll) \
+		$(use_enable resample) \
+		$(use_enable silk) \
+		$(use_enable speex speex-aec) \
+		$(use_enable ssl) \
+		$(use_with gsm external-gsm) \
+		$(use_with portaudio external-pa) \
+		$(use_with speex external-speex) \
+		$(usex webrtc '' --disable-libwebrtc) \
+		"${myconf[@]}"
+}
+
+src_compile() {
+	emake dep
+	emake
+}
+
+src_install() {
+	default
+
+	newbin pjsip-apps/bin/pjsua-${CHOST} pjsua
+	newbin pjsip-apps/bin/pjsystest-${CHOST} pjsystest
+
+	if use examples; then
+		insinto "/usr/share/doc/${PF}/examples"
+		doins -r pjsip-apps/src/samples
+	fi
+
+	use static-libs || rm "${ED}/usr/$(get_libdir)"/*.a || die "Error removing static archives"
+}

diff --git a/profiles/default/linux/powerpc/ppc32/17.0/package.use.mask b/profiles/default/linux/powerpc/ppc32/17.0/package.use.mask
new file mode 100644
index 00000000000..577ff05bc45
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc32/17.0/package.use.mask
@@ -0,0 +1,3 @@
+# Jaco Kroon <jaco@uls.co.za> (2019-11-28)
+# Unfortunately net-libs/bcg729 isn't available for ppc
+net-libs/pjproject g729

diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/package.use.mask b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/package.use.mask
new file mode 100644
index 00000000000..577ff05bc45
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/package.use.mask
@@ -0,0 +1,3 @@
+# Jaco Kroon <jaco@uls.co.za> (2019-11-28)
+# Unfortunately net-libs/bcg729 isn't available for ppc
+net-libs/pjproject g729


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/, ...
@ 2024-06-01 12:38 Andreas K. Hüttel
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas K. Hüttel @ 2024-06-01 12:38 UTC (permalink / raw
  To: gentoo-commits

commit:     ae1cfecfc5472ac81b5678d89c171e12b0045a5b
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  1 12:37:47 2024 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Jun  1 12:38:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae1cfecf

profiles: deprecate ppc 17.0 profiles

Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 .../powerpc/ppc64/17.0/32bit-userland/deprecated   | 104 +++++++++++++++++++++
 .../ppc64/17.0/32bit-userland/desktop/deprecated   | 104 +++++++++++++++++++++
 .../17.0/32bit-userland/desktop/gnome/deprecated   | 104 +++++++++++++++++++++
 .../desktop/gnome/systemd/merged-usr/deprecated    | 104 +++++++++++++++++++++
 .../ppc64/17.0/32bit-userland/developer/deprecated | 104 +++++++++++++++++++++
 profiles/default/linux/ppc/17.0/deprecated         | 104 +++++++++++++++++++++
 profiles/default/linux/ppc/17.0/desktop/deprecated | 104 +++++++++++++++++++++
 .../linux/ppc/17.0/desktop/gnome/deprecated        | 104 +++++++++++++++++++++
 .../desktop/gnome/systemd/merged-usr/deprecated    | 104 +++++++++++++++++++++
 .../default/linux/ppc/17.0/developer/deprecated    | 104 +++++++++++++++++++++
 .../linux/ppc/17.0/systemd/merged-usr/deprecated   | 104 +++++++++++++++++++++
 11 files changed, 1144 insertions(+)

diff --git a/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/deprecated b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/deprecated
new file mode 100644
index 000000000000..4b91a95b3766
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/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/powerpc/ppc64/17.0/32bit-userland/desktop/deprecated b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/deprecated
new file mode 100644
index 000000000000..0159d2926b31
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/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/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/deprecated b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/deprecated
new file mode 100644
index 000000000000..0c3059bbec6b
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/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/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/deprecated b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/deprecated
new file mode 100644
index 000000000000..78c077397232
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/desktop/gnome/systemd/merged-usr/deprecated
@@ -0,0 +1,104 @@
+default/linux/ppc/23.0/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/powerpc/ppc64/17.0/32bit-userland/developer/deprecated b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/developer/deprecated
new file mode 100644
index 000000000000..4b91a95b3766
--- /dev/null
+++ b/profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/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/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/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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-06-01 12:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-30  7:50 [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/powerpc/ppc64/17.0/32bit-userland/, Joonas Niilola
  -- strict thread matches above, loose matches on Subject: below --
2024-06-01 12:38 Andreas K. Hüttel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox