packages
packages copied to clipboard
Merge `/usr` (T10615)
Silke (@silkeh), 2023-08-06 13:14:54 UTC
Now systemd will drop support for unmerged-usr setups, it seems we have to switch to a merged /usr as well. Also see the Case for the /usr Merge.
Related issues and MRs:
- [x] https://github.com/getsolus/clr-boot-manager/pull/6
- [ ] https://github.com/getsolus/eopkg/issues/73
- [ ] 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:
-
Move first:
- Get all main package contents out of
/bin,/sbin,/lib32and/lib64. Provide compatibility symlinks where needed (eg:/bin/bash). - Remove compatibility symlinks, and directly
- Symlink
/{bin,sbin,lib32,lib64}to their/usr/counterparts with ausysconftrigger. The trigger will be trivial as those directories //should// be empty.
- Get all main package contents out of
-
Move later(rejected):- Remove compatibility symlinks, and directly
- Symlink
/{bin,sbin,lib32,lib64}to their/usr/counterparts through ausysconftrigger. The trigger will be somewhat complicated as it would need to actually merge the directories. - Get all main package contents out of
/bin,/sbin,/lib32and/lib64(leisurely).
Support in software:
- [x] CBM: https://github.com/getsolus/clr-boot-manager/pull/6
- [ ] 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 (
/binand/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):- [ ] bbswitch
- [ ] broadcom-sta
- [ ] linux-current
- [ ] linux-lts
- [ ] nvidia-470-glx-driver (also:
/sbin/create-uvm-dev-node) - [ ] nvidia-beta-driver (also:
/sbin/create-uvm-dev-node) - [ ] nvidia-developer-driver (also:
/sbin/create-uvm-dev-node) - [ ] nvidia-glx-driver (also:
/sbin/create-uvm-dev-node) - [ ] openrazer
- [ ] v4l2loopback
- [ ] vhba-module
- [ ] virtualbox (also:
/sbin/mount.vboxsf) - [ ] 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