Closed celticmagic closed 1 month ago
@silkeh How many of the checkboxes are done here?!
Some of the linked tasks contain steps for the epoch transition, and some checkboxes apply to that as well. Closing this in favour of #4119 as I consider the /usr merge to be completed with the release of the latest ISOs!
Now systemd [will drop support](https://lists.freedesktop.org/archives/systemd-devel/2022-September/048352.html) for *unmerged-usr* setups, it seems we have to switch to a merged `/usr` as well. Also see [the Case for the /usr Merge](https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/). Related issues and MRs: - [x] https://github.com/getsolus/clr-boot-manager/pull/6 - [x] https://github.com/getsolus/eopkg/issues/73 - [x] https://github.com/getsolus/packages/issues/3691 - [x] https://github.com/getsolus/eopkg/pull/79 --- Plan: There are two orders in which we can do this: 1. Move first: 1. Get all main package contents out of `/bin`, `/sbin`, `/lib32` and `/lib64`. Provide compatibility symlinks where needed (eg: `/bin/bash`). 2. Remove compatibility symlinks, and directly 3. Symlink `/{bin,sbin,lib32,lib64}` to their `/usr/` counterparts with a `usysconf` trigger. The trigger will be trivial as those directories //should// be empty. 2.
Move later(rejected): 1. Remove compatibility symlinks, and directly 2. Symlink `/{bin,sbin,lib32,lib64}` to their `/usr/` counterparts through a `usysconf` trigger. The trigger will be somewhat complicated as it would need to actually merge the directories. 3. Get all main package contents out of `/bin`, `/sbin`, `/lib32` and `/lib64` (leisurely). Support in software: - [x] CBM: https://github.com/getsolus/clr-boot-manager/pull/6 - [x] eopkg: https://github.com/getsolus/eopkg/issues/73 Packages with files in `/{bin,sbin,lib,lib32,lib64}` (where the file is not a symlink to `/usr/`): - Programs (`/bin` and `/sbin`): - [x] acl - [x] apcupsd - [x] attr - [x] audit (with compatiblity symlinks) - [x] bash - [x] busybox - [x] bzip2 (with compatiblity symlinks) - [x] cifs-utils (with compatiblity symlinks) - [x] coreutils - [x] cpio (with compatiblity symlinks) - [x] davfs2 (with compatiblity symlinks) - [x] e2fsprogs (with compatiblity symlinks) - [x] fuse2 (with compatiblity symlinks) - [x] iproute2 (with compatiblity symlinks) - [x] kmod - [x] lvm2 - [x] mdadm (with compatiblity symlinks) - [x] multipath-tools - [x] nfs-utils - [x] ntfs-3g (with compatiblity symlinks) - [x] ocamlbuild (with compatiblity symlinks) - [x] procps-ng (also see T9039) - [x] shadow - [x] systemd (with compatiblity symlinks) (note: broken symlink in `/lib/udev/udevd`) - [x] tar - [x] tcsh - [x] tlp - [x] util-linux - [x] wpa_supplicant - [x] xfsprogs - [x] zsh - Libraries: - [x] musl - [x] notmuch - Firmware (`/lib/firmware`): - [x] alsa-firmware (with compatiblity symlinks) - [x] intel-microcode (with compatiblity symlinks) - [x] linux-firmware (with compatiblity symlinks) - [x] sof-firmware (with compatiblity symlinks) - [x] wireless-regdb (with compatiblity symlinks) - Kernel modules (`/lib/modules`): - [x] bbswitch - [x] broadcom-sta - [x] linux-current - [x] linux-lts - [x] nvidia-470-glx-driver (also: `/sbin/create-uvm-dev-node`) - [x] nvidia-beta-driver (also: `/sbin/create-uvm-dev-node`) - [x] nvidia-developer-driver (also: `/sbin/create-uvm-dev-node`) - [x] nvidia-glx-driver (also: `/sbin/create-uvm-dev-node`) - [x] openrazer - [x] v4l2loopback - [x] vhba-module - [x] virtualbox (also: `/sbin/mount.vboxsf`) - [x] xone - PAM (`/lib*/security`): - [x] fprintd - [x] gdm - [x] gnome-keyring - [x] kwallet-pam - [x] libcap2 - [x] libpwquality - [x] pam-krb5 - [x] pam-u2f - [x] pam (also: `/sbin`) - [x] samba - [x] systemd - [x] virtualbox - [x] yubico-pam - Other/mixed: - [x] apparmor (with compatiblity symlinks) - [x] glibc (with compatiblity symlinks) - [x] iptables (with compatiblity symlinks) Packages with symlinks to `/usr` in `/{bin,sbin,lib,lib32,lib64}` or vice versa: - [ ] coreutils - [ ] dash - [ ] gcc (`/lib/cpp` -> `/usr/bin/cpp`) - [ ] glibc - [ ] grep - [ ] sed - [ ] systemd - [ ] util-linux - [ ] xfsdump Third party packages with files in `/{bin,sbin,lib,lib32,lib64}`: - [ ] google-earth (`/lib/ld-lsb-x86-64.so.3`) Usysconf-epoch remaining todos: - [x] Shellcheck script - [x] Finish orphan code - [x] Special-case depmod