On Tuesday, 26 March 2024 15:21:32 GMT Walter Dnes wrote:
> I'm AMD64 stable OpenRC. I got tired of dicking around resizing
> partitions years ago, so I have all data and binaries in one honking
> big partition. Also separate partitions for UEFI and swap. I assume
> my system is already "merged-usr". Current profile...
>
> [12] default/linux/amd64/17.1/no-multilib (exp) *
>
> I just ran "emerge --sync" and got the profile news item. So do I
> update world and then update profile?
No!
Please check the migration instructions for profile 23 as provided in the news
item. You must follow the steps suggested in the order they are written *and*
you must select the correct profile. The profile you show above is split-usr,
which was the default. This is the traditional split-usr linux fs which has /
bin, /sbin, /lib and /lib64 as discrete directories under /, e.g.:
~ # tree -L 1 /
/
??? bin
??? boot
??? dev
??? etc
??? home
??? lib
??? lib64
??? lost+found
??? media
??? mnt
??? opt
??? proc
??? root
??? run
??? sbin
??? sys
??? tmp
??? usr
??? var
20 directories, 0 files
The merged-usr fs structure has the aforementioned directories set as symlinks
under /usr, e.g.:
~ # tree -L 1 /
/
??? bin -> usr/bin
??? boot
??? dev
??? etc
??? home
??? lib -> usr/lib
??? lib64 -> usr/lib64
??? media
??? mnt
??? opt
??? proc
??? root
??? run
??? sbin -> usr/bin
??? sys
??? tmp
??? usr
??? var
??? BackUps
20 directories, 0 files
Consequently, in following the migration instructions methodically and
assuming you have a split-usr fs layout, you will need to change profile to:
[49] default/linux/amd64/23.0/split-usr/no-multilib (stable)
rebuild your toolchain in the order and in the way suggested in the news item,
then emerge @world with '--emptytree'.
If you want to convert the fs structure to a merged-usr layout after the
migration to your new profile follow the instructions here:
https://wiki.gentoo.org/wiki/Merge-usr
Assuming the --dryrun does not come up with any problems you then have to run
emerge -uaNDv world, which will spit out which packages are affected by it -
e.g. on one of my systems I see these candidates:
Dependency resolution took 35.09 s (backtrack: 0/20).
[ebuild R ] sys-apps/baselayout-2.14-r2::gentoo USE="-build (-split-
usr*)" 0 KiB
[ebuild R ] dev-libs/lzo-2.10:2::gentoo USE="-examples (-split-usr*) -
static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] app-alternatives/bzip2-1::gentoo USE="reference -lbzip2 -
pbzip2 (-split-usr*)" 0 KiB
[ebuild R ] app-alternatives/tar-0::gentoo USE="gnu -libarchive (-split-
usr*)" 0 KiB
[ebuild R ] app-alternatives/gzip-1::gentoo USE="reference -pigz (-
split-usr*)" 0 KiB
[ebuild R ] app-alternatives/cpio-0::gentoo USE="gnu -libarchive (-
split-usr*)" 0 KiB
[ebuild R ] app-alternatives/awk-4::gentoo USE="gawk -busybox -mawk -
nawk (-split-usr*)" 0 KiB
[ebuild R ] sys-apps/coreutils-9.4-r1::gentoo USE="acl nls openssl xattr
-caps -gmp -hostname -kill -multicall (-selinux) (-split-usr*) -static -test -
vanilla -verify-sig" 0 KiB
[ebuild R ] sys-libs/libxcrypt-4.4.36:0/1::gentoo USE="(compat) (system)
-headers-only (-split-usr*) -static-libs -test" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild R ] sys-apps/systemd-utils-254.8::gentoo USE="acl kmod tmpfiles
udev -boot -kernel-install -secureboot (-selinux) (-split-usr*) -sysusers -
test -ukify" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_11 -
python3_10 -python3_12" 0 KiB
[ebuild R ] sys-libs/ncurses-6.4_p20230401:0/6::gentoo USE="cxx gpm
stack-realign (tinfo) -ada -debug -doc -minimal -profile (-split-usr*) -
static-libs -test -trace -verify-sig" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] dev-libs/libusb-1.0.26:1::gentoo USE="udev -debug -doc -
examples (-split-usr*) -static-libs -test" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] sys-process/procps-3.3.17-r2:0/8::gentoo USE="elogind kill
ncurses nls (unicode) -modern-top (-selinux) (-split-usr*) -static-libs -
systemd -test" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] sys-apps/shadow-4.14.2:0/4::gentoo USE="acl nls pam xattr -
audit -cracklib (-selinux) -skey (-split-usr*) -su -systemd -verify-sig" 0 KiB
[ebuild R ] net-firewall/iptables-1.8.10:0/1.8.3::gentoo USE="-conntrack
-netlink -nftables -pcap (-split-usr*) -static-libs -test" 0 KiB
[ebuild R ] net-mail/mailutils-3.15::gentoo USE="clients gdbm ipv6 nls
pam ssl threads -berkdb -bidi -emacs -guile -kerberos -kyotocabinet -ldap -
mysql -postgres -python -sasl -servers (-split-usr*) -static-libs -tcpd -
tokyocabinet" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
Total: 16 packages (16 reinstalls), Size of downloads: 0 KiB
HTH.
> I'm AMD64 stable OpenRC. I got tired of dicking around resizing
> partitions years ago, so I have all data and binaries in one honking
> big partition. Also separate partitions for UEFI and swap. I assume
> my system is already "merged-usr". Current profile...
>
> [12] default/linux/amd64/17.1/no-multilib (exp) *
>
> I just ran "emerge --sync" and got the profile news item. So do I
> update world and then update profile?
No!
Please check the migration instructions for profile 23 as provided in the news
item. You must follow the steps suggested in the order they are written *and*
you must select the correct profile. The profile you show above is split-usr,
which was the default. This is the traditional split-usr linux fs which has /
bin, /sbin, /lib and /lib64 as discrete directories under /, e.g.:
~ # tree -L 1 /
/
??? bin
??? boot
??? dev
??? etc
??? home
??? lib
??? lib64
??? lost+found
??? media
??? mnt
??? opt
??? proc
??? root
??? run
??? sbin
??? sys
??? tmp
??? usr
??? var
20 directories, 0 files
The merged-usr fs structure has the aforementioned directories set as symlinks
under /usr, e.g.:
~ # tree -L 1 /
/
??? bin -> usr/bin
??? boot
??? dev
??? etc
??? home
??? lib -> usr/lib
??? lib64 -> usr/lib64
??? media
??? mnt
??? opt
??? proc
??? root
??? run
??? sbin -> usr/bin
??? sys
??? tmp
??? usr
??? var
??? BackUps
20 directories, 0 files
Consequently, in following the migration instructions methodically and
assuming you have a split-usr fs layout, you will need to change profile to:
[49] default/linux/amd64/23.0/split-usr/no-multilib (stable)
rebuild your toolchain in the order and in the way suggested in the news item,
then emerge @world with '--emptytree'.
If you want to convert the fs structure to a merged-usr layout after the
migration to your new profile follow the instructions here:
https://wiki.gentoo.org/wiki/Merge-usr
Assuming the --dryrun does not come up with any problems you then have to run
emerge -uaNDv world, which will spit out which packages are affected by it -
e.g. on one of my systems I see these candidates:
Dependency resolution took 35.09 s (backtrack: 0/20).
[ebuild R ] sys-apps/baselayout-2.14-r2::gentoo USE="-build (-split-
usr*)" 0 KiB
[ebuild R ] dev-libs/lzo-2.10:2::gentoo USE="-examples (-split-usr*) -
static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] app-alternatives/bzip2-1::gentoo USE="reference -lbzip2 -
pbzip2 (-split-usr*)" 0 KiB
[ebuild R ] app-alternatives/tar-0::gentoo USE="gnu -libarchive (-split-
usr*)" 0 KiB
[ebuild R ] app-alternatives/gzip-1::gentoo USE="reference -pigz (-
split-usr*)" 0 KiB
[ebuild R ] app-alternatives/cpio-0::gentoo USE="gnu -libarchive (-
split-usr*)" 0 KiB
[ebuild R ] app-alternatives/awk-4::gentoo USE="gawk -busybox -mawk -
nawk (-split-usr*)" 0 KiB
[ebuild R ] sys-apps/coreutils-9.4-r1::gentoo USE="acl nls openssl xattr
-caps -gmp -hostname -kill -multicall (-selinux) (-split-usr*) -static -test -
vanilla -verify-sig" 0 KiB
[ebuild R ] sys-libs/libxcrypt-4.4.36:0/1::gentoo USE="(compat) (system)
-headers-only (-split-usr*) -static-libs -test" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild R ] sys-apps/systemd-utils-254.8::gentoo USE="acl kmod tmpfiles
udev -boot -kernel-install -secureboot (-selinux) (-split-usr*) -sysusers -
test -ukify" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_11 -
python3_10 -python3_12" 0 KiB
[ebuild R ] sys-libs/ncurses-6.4_p20230401:0/6::gentoo USE="cxx gpm
stack-realign (tinfo) -ada -debug -doc -minimal -profile (-split-usr*) -
static-libs -test -trace -verify-sig" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] dev-libs/libusb-1.0.26:1::gentoo USE="udev -debug -doc -
examples (-split-usr*) -static-libs -test" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] sys-process/procps-3.3.17-r2:0/8::gentoo USE="elogind kill
ncurses nls (unicode) -modern-top (-selinux) (-split-usr*) -static-libs -
systemd -test" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild R ] sys-apps/shadow-4.14.2:0/4::gentoo USE="acl nls pam xattr -
audit -cracklib (-selinux) -skey (-split-usr*) -su -systemd -verify-sig" 0 KiB
[ebuild R ] net-firewall/iptables-1.8.10:0/1.8.3::gentoo USE="-conntrack
-netlink -nftables -pcap (-split-usr*) -static-libs -test" 0 KiB
[ebuild R ] net-mail/mailutils-3.15::gentoo USE="clients gdbm ipv6 nls
pam ssl threads -berkdb -bidi -emacs -guile -kerberos -kyotocabinet -ldap -
mysql -postgres -python -sasl -servers (-split-usr*) -static-libs -tcpd -
tokyocabinet" PYTHON_SINGLE_TARGET="python3_11 -python3_10" 0 KiB
Total: 16 packages (16 reinstalls), Size of downloads: 0 KiB
HTH.