From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 314A0158041 for ; Tue, 20 Feb 2024 23:58:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E6E67E2AA2; Tue, 20 Feb 2024 23:58:34 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 86800E2A59 for ; Tue, 20 Feb 2024 23:58:34 +0000 (UTC) From: "Andreas K. Huettel" To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] Profile 23.0 news item (was: Re: Profile 23.0 testing with stages and binhost (part 1 of 2)) Date: Wed, 21 Feb 2024 00:58:27 +0100 Message-ID: <4326507.ejJDZkT8p0@pinacolada> Organization: Gentoo Linux In-Reply-To: <1880766.CQOukoFCf9@pinacolada> References: <1880766.CQOukoFCf9@pinacolada> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2180433.Mh6RI2rZIc"; micalg="pgp-sha512"; protocol="application/pgp-signature" X-Archives-Salt: c73fb283-773d-4fc8-bd04-d6bb6815a5ab X-Archives-Hash: 9dba0bb683386ae0ee9da3ddc1166fa7 --nextPart2180433.Mh6RI2rZIc Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1"; protected-headers="v1" From: "Andreas K. Huettel" To: gentoo-dev@lists.gentoo.org Date: Wed, 21 Feb 2024 00:58:27 +0100 Message-ID: <4326507.ejJDZkT8p0@pinacolada> Organization: Gentoo Linux In-Reply-To: <1880766.CQOukoFCf9@pinacolada> References: <1880766.CQOukoFCf9@pinacolada> MIME-Version: 1.0 News item / update instructions draft: Title: Profile upgrade to version 23.0 available Author: Andreas K. Huettel Posted: yyyy-mm-dd Revision: 1 News-Item-Format: 2.0 Display-If-Keyword: alpha Display-If-Keyword: arm Display-If-Keyword: ia64 Display-If-Keyword: loong Display-If-Keyword: m68k Display-If-Keyword: ppc Display-If-Keyword: ppc64 Display-If-Keyword: riscv Display-If-Keyword: s390 Display-If-Keyword: sparc Display-If-Keyword: x86 [*** Ignore this message for now if you are using musl.=20 musl profiles and stages are not ready yet. ***] A profile upgrade to version 23.0 is available for your architecture.=20 The new 23.0 profiles enable some toolchain hardening features and=20 performance enhancements by default, and standardize settings. You can find the list of changes on the wiki tracking page [1]. We strongly advise to precisely follow the upgrade instructions found below. The 17.0, 17.1, 20.0, and 22.0 profiles will be marked deprecated=20 in 2 months and removed a year later. The exact dates depend on the=20 architecture, see [2]. Upgrade instructions Note 1: The use of binary packages is completely optional, and also not=20 as much tested as the source-based upgrade path yet. If you prefer to=20 only use the traditional source-based installation, omit the "--getbinpkg"= =20 parameter in all emerge invocations. Note 2: If you have manually changed your CHOST to a value different from=20 what the stages and profiles set, you may have to do that in the future too= =2E=20 In that case you should know what you are doing, hopefully; please read the= =20 instructions with a critical eye then. 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=20 (other than x32 or musl), then first complete the migration to the=20 corresponding 17.1 profile. Instructions can be found at [3]. =20 3. If you are currently using systemd in a split-usr configuration, then fi= rst=20 complete the migration to the corresponding merged-usr profile of the=20 same profile version. Details on how to do this can be found in the news= =20 item [4]. 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 varia= ble, remove it. Also delete all lines defining CHOST_... variables. 6. Select the 23.0 profile corresponding to your current profile, either us= ing "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, i.e. example upgrades are default/linux/amd64/17.1 =3D=3D> default/linux/amd= 64/23.0/split-usr default/linux/amd64/17.1/systemd/merged-usr =3D=3D> default/linux/amd= 64/23.0/systemd A detailed table can be found at [5]. In rare cases (hppa, x86) the table will tell you to pick between two ch= oices.=20 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 binhos= t=20 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 --getbinpkg sys-devel/binutils (you may have to run binutils-config and re-select your binutils now) emerge --ask --oneshot --getbinpkg sys-devel/gcc (If this command fails because of mismatched "openmp" useflag requiremen= ts,=20 make sure you have FEATURES=3Dpreserved-libs enabled, ignore the advice= given by emerge, and try again with only --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 --getbinpkg sys-libs/glibc or for musl-based systems emerge --ask --oneshot --getbinpkg sys-libs/musl 10. Re-run "emerge --info" and check if CHOST has changed compared to step = 3. If the CHOST has NOT changed, skip to step 13 (env-update). Otherwise,=20 11. Recheck with binutils-config and gcc-config that valid installed versio= ns 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.=20 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 --getbinpkg libtool 15. Just for safety, delete the contents of your binary package cache at=20 ${PKGDIR} again: rm -r /var/cache/binpkgs/* 16. Rebuild world: emerge --ask --emptytree --getbinpkg @world [1] https://wiki.g.o/wiki/Project:Toolchain/23.0_profile_transition [2] https://wiki.g.o/wiki/Project:Toolchain/23.0_profile_timeline [3] https://www.gentoo.org/support/news-items/2019-06-05-amd64-17-1-profile= s-are-now-stable.html [4] https://www.gentoo.org/support/news-items/2022-12-01-systemd-usrmerge.h= tml [5] https://wiki.g.o/wiki/Project:Toolchain/23.0_update_table [6] https://wiki.g.o/wiki/Changing_the_CHOST_variable#Verifying_things_work =2D-=20 Andreas K. H=FCttel dilfridge@gentoo.org Gentoo Linux developer (council, toolchain, base-system, perl, libreoffice) --nextPart2180433.Mh6RI2rZIc Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQKTBAABCgB9FiEE/Rnm0xsZLuTcY+rT3CsWIV7VQSoFAmXVPKNfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEZE MTlFNkQzMUIxOTJFRTREQzYzRUFEM0RDMkIxNjIxNUVENTQxMkEACgkQ3CsWIV7V QSpS9Q//ejrR4cD3zyRFWfR0irJYFa/GRgbdzuSv34jeSW1nc696zsgxHLFhjRtq DltZkPblQk/BQHO4jy+Tv/syDc44wMNC6Fr374GG524QFE3pm35raSrL55RsGqKs dgijPNjOj7E6BRQMb/5/R5/16+0ZQSg6ZvBwdCp009wBPTNnYF3AFPsvY3E5UA1d 3gon/IP0WcK6SJASdKoFNOBACFFAYOkz0JacP9s5FLyzrSqCSaE2eG0YnzOeU+Gm IpYvAWs+P9WvKtsAadMIcOQU6zkrTJ40vo2s9G3TLXzzjdMjvNExnx57OBw1fpYU lJInWK4Q2zq0joiVtDEG2CP7ZndtHsDPGTLg2fxnyITj3ea6GbS0/Ike97SwIHag sbixTH2CHxpyDeLLGBplITqMOO9JGoU2CspGkKQayfQferRlCV+SgCDXuTREEe1Y waKQM6lH8kd+waQq48d7N/hXWFkb2zydHZKK2Vijp+UZgzq/iMptCUzEGVjmifNL JXC9QsQL28c8JOcXkYmLoAZpVDgKmQAx9km/2EUyMCIYUWCd+klw+Pg9Rgk3Qm0i jbDphZzCgS5Vjjt6QN17wHOFVcZTD1aXD4kTQJSIxqUXpISwm408qysNwtdJl7el 1/6iwAZAgPcNqwhmEy+tjHOlPLv0qdROOEHKMC3wxe8Bb6Cu6Zk= =eg8P -----END PGP SIGNATURE----- --nextPart2180433.Mh6RI2rZIc--