From 4429be000a778f363162554d59d903a725283d7d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 27 Dec 2022 14:10:06 +0000 Subject: gentoo auto-resync : 27:12:2022 - 14:10:05 --- .../2022-12-27-alternatives-introduction.en.txt | 94 +++++++++++++++++++++ metadata/news/Manifest | 30 +++---- metadata/news/Manifest.files.gz | Bin 14603 -> 14789 bytes metadata/news/timestamp.chk | 2 +- metadata/news/timestamp.commit | 2 +- 5 files changed, 111 insertions(+), 17 deletions(-) create mode 100644 metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.en.txt (limited to 'metadata/news') diff --git a/metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.en.txt b/metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.en.txt new file mode 100644 index 000000000000..601142ffde19 --- /dev/null +++ b/metadata/news/2022-12-27-alternatives-introduction/2022-12-27-alternatives-introduction.en.txt @@ -0,0 +1,94 @@ +Title: Introduction of app-alternatives ebuilds +Author: Sam James +Posted: 2022-12-24 +Revision: 1 +News-Item-Format: 2.0 + +Gentoo is introducing a new category of ebuilds called 'app-alternatives' +to handle cases where a symlink for a common binary may want to be switched +between different packages by a user. + +Traditionally, eselect was used for this, and while eselect still has its +place, it's unsuitable for cases like /bin/awk and /bin/sh because it +prevents immutable system directories and (more importantly +from a package management perspective) relies on orphaned symlinks which +means no package owns /bin/awk, /bin/sh, etc. This is not reliable and +can lead to dead symlinks (or no symlink at all) in some edge cases [0]. + +Systems will be more robust and desired system configuration +can be achieved using the package manager rather than manual steps outside of it. + +The initial list of packages which support alternatives is as follows: +- app-alternatives/awk +- app-alternatives/bzip2 +- app-alternatives/bc +- app-alternatives/cpio +- app-alternatives/gzip +- app-alternatives/lex +- app-alternatives/sh +- app-alternatives/tar +- app-alternatives/yacc + +The stabilization of these new ebuilds and packages depending +on them is ongoing in bug 886017 [1]. + +## Per-upgrade requirements + +The default configuration on Gentoo systems is FEATURES="protect-owned" +which works similarly to FEATURES="collision-protect" but it allows +collisions between orphaned files. In this case, a one-off collision +occurs as the app-alternatives/ ebuilds begin to claim once-orphaned +symlinks. + +A similar issue occurred during the libxcrypt migration where users +had upgrades interrupted by using the older, more aggressive +FEATURES="collision-protect". + +It is recommended that users alter their configuration to +remove references to 'collision-protect' in FEATURES and instead either +explicitly enable 'protect-owned' in FEATURES or rely on the default +(equivalent). It is also acceptable to simply disable collision-protect +temporarily for the purposes of this news item. + +WARNING: Users with collision-protect enabled must disable FEATURES="collision-protect" +in /etc/portage/make.conf by removing it or setting FEATURES="-collision-protect" +if they have enabled it. collision-protect detects collisions between files including +orphaned files where no package owns the file. + +## Migrating + +To migrate your system, a standard world upgrade will suffice after +deselecting eselect-awk and eselect-sh: +1. # emerge --deselect app-eselect/eselect-awk app-eselect/eselect-sh +2. # emerge --sync +3. # emerge -a -uvDU @world (or other similar standard world upgrade command) + +## Configuration + +Users who are not interested in using different implementations for +various tools listed above can ignore this section. + +No configuration should be required by default, but users may wish +to configure the new app-alternatives/ ebuilds to their tastes as they +used to do via e.g. eselect-sh and eselect-awk. + +Going forward, /etc/portage/package.use will be used for this purpose. + +Users should review the USE flags available for the various app-alternatives +ebuilds like app-alternatives/sh and adjust their configuration as desired. + +For example, to have /usr/bin/gzip be provided by app-arch/pigz for automatic +parallelization of 'gzip', one would have the following in /etc/portage/package.use: +``` +# https://wiki.gentoo.org/wiki/Gzip#Parallelization +# Make /usr/bin/gzip be a symlink to pigz for a speedup in compression +app-alternatives/gzip -reference pigz +``` + +## Further reading + +For more details, please see the technical documentation on the wiki [2]. + +[0] https://wiki.gentoo.org/wiki/Project:Base/Alternatives#Why.3F +[1] https://bugs.gentoo.org/886017 +[2] https://wiki.gentoo.org/wiki/Project:Base/Alternatives diff --git a/metadata/news/Manifest b/metadata/news/Manifest index 89df5cd794e7..46c8cf11ed58 100644 --- a/metadata/news/Manifest +++ b/metadata/news/Manifest @@ -1,23 +1,23 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 -MANIFEST Manifest.files.gz 14603 BLAKE2B e2577f15dd9e0d475df5b593952aec19dbd6bd1d98fe3cf3f0798f0d5c069ce285e42d594e3b05990923eecd40549b08f04abe17b02a4fc3856c0cce38640336 SHA512 af95e49316b05b0546f6bd6ea11a1d52c27280a7719f4e850d4b026ff56a8948fca0d992cbe3c778a8a17737da71c2aab3027a71ea2d1805575ee1cc97e3095b -TIMESTAMP 2022-12-27T07:09:56Z +MANIFEST Manifest.files.gz 14789 BLAKE2B c82e5089b2b7bcb1c3e70c60aac260050a3b1c0c44ffb0afb2f4000ca241c28bae1a24626daf7c3dd609b7aa19cdefaff073fa1bc340ed7420473a8ce1608766 SHA512 f45650e2e592df89c93a196920c0fb8a9b1e227c8581133399f8259f70e7ced475ab3d25c41b71230d7946b42f630036eb6b02ac98c6ee54d2850c7bfdf9a6d0 +TIMESTAMP 2022-12-27T13:10:01Z -----BEGIN PGP SIGNATURE----- -iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmOqmkRfFIAAAAAALgAo +iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmOq7qlfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY -klD4Mg//fJNeay4/Vwxj/4E+On6LVSAfDXbT9g2FvyRbaIhblAlF3KDEmgaQ9EaU -FuzOOF/gbAcLMEaEVLWBdRtFjoZueLSlEG6RSMbecAkumQm5xsjsW7nqWx82hcsP -OavOqdVTqvTyByClg8TN3lUhiawU/OR9m/femWGMfefQaxDXCYd1BCFi5hKOE54w -NfDlEw9YOU0mWLNY/3kqq6V7x33ArYUDhjDhNw0RMIZmwWkO7E43p6oF2kN/tZ6/ -I97B+T6jcwqaw9X1Tq8XuCrOIccuxByuvjHXVCQb/xuwJMuz25Q4UeC006PwFvq9 -FqP4VSBLYSOEA2llghUeEMhG2FDWbnRp76OjlAAPis14Q7N4WmRpNxGmFwiRCm1F -YD7JEJxNaDuTS0+UGPuGhTu8M8L+r+k53nbpPOIFLaxT6RNP7cNnFekNLk9X+ju9 -flnSSYBKWcuYhp5KMtnDVcJycw98ZoGIewjhSguF0K+twgPPcc5uoYabWRVAES0x -7BbL9M7fiiFrG3nUJAsrzJyHCXUj8NN9PjNk5hKcVKtZF9D6DHDuDxBV5MGagKVB -gSWkFfbj/Utt52FBFjEpYDrumNA7/fYw3f2BBV2aEW9jEhyBHLPHesll/jNB+0Xe -XqNy8CSUk7yWfI76K/POPeBCQ5QbFnrtwViH3prDKV2heOZMI3I= -=5WYV +klAQBBAAjfDCcwotC9Y/9qVPkx3goCzhGAbsbJhZpSFdoAZJStD+iGcgwphaaAWZ +B2TEFSaNpS8AqyEWKfRurMGgTBFTA2TVOOQGQBv/y/RsLBQEtrQbOaNxEdpumouJ +8oTJLAN4qLYZ9SMc3MzihfSelHZeZmtHtKPCh6kDVWrLo69rTjx3l7HBr6gbnYoS +3hWyrp914nJP4xBBvaOvsm0wcJlNDaQvVEhfWBt/Vlp9aGlaKI7q98g1Mvjl38lz +6YMmNnpuI/UNl19akgin3FoKkUFfZfA0gzHHJys3fQgWFuS8CBRN1R0VDG3JLdzf +7JiJtmaStkL9VqHLWspP/E7rMU1ctDcwH0xuJeMc8noyBlwPce0Z+Pp6RRJWZfuP +QHnh5EQsZbjNtsAO855TeHE/BIIGS0aq9Q4SkGdYW3LY/3XUs5P20eoLo8r0u7pH +9eiVWniqoJI638ZQzSNmlW/kxWE+FWzxgxW4kn4r9S2IWo2J2JdAdTgyr4EptEE5 +96H/oKiAlv5mI+nKI3SnMQi3y4EqS/dLqzyeWmFtrOdp6LrkCLXFiyxw+JlEMgT6 +qpxlkMLGXBjJW/xMEZ+uTnOhZRGJf2HqUDnBkp5gpdT1WCK72YuLxZriZc39MFKx +32pInhRL4t8gze+kic9CO6Il5j4UVad4Qbrq5h1kCsP6kVBaO54= +=nbrY -----END PGP SIGNATURE----- diff --git a/metadata/news/Manifest.files.gz b/metadata/news/Manifest.files.gz index 6fd2c554fa27..2074b63e2a59 100644 Binary files a/metadata/news/Manifest.files.gz and b/metadata/news/Manifest.files.gz differ diff --git a/metadata/news/timestamp.chk b/metadata/news/timestamp.chk index fafccd3c6805..ccde8d6875db 100644 --- a/metadata/news/timestamp.chk +++ b/metadata/news/timestamp.chk @@ -1 +1 @@ -Tue, 27 Dec 2022 07:09:53 +0000 +Tue, 27 Dec 2022 13:09:58 +0000 diff --git a/metadata/news/timestamp.commit b/metadata/news/timestamp.commit index a42d9c402468..5f868e07f902 100644 --- a/metadata/news/timestamp.commit +++ b/metadata/news/timestamp.commit @@ -1 +1 @@ -6ce13f51e67b46a941ecda627a2d53f999575ee0 1671568817 2022-12-20T20:40:17+00:00 +efcbc0f5a17ac5eb27f459b7634ad8794904e6c6 1672138089 2022-12-27T10:48:09+00:00 -- cgit v1.2.3