Source: kernel-handbook
Version: 1.0.20
Severity: wishlist
Dear Maintainer,
idk if this is within the purview of the hand-book, but given that other
parts of chapter-initramfs.dbk are, it may well be.
If it isn't, I'd appreciate being directed to the proper mailing list.
On my Bullseye system,
-- >8 --
$ apt-cache dumpavail | awk '/^Package:/ {pkg=$2} /^Depends:.*[^-](dracut|initramfs-tools)/ {print pkg "\t" $0}' | grep -ve ^linux-image- -e ^dracut -e ^initramfs-tools | expand -t35 | grep -Ee '(initramfs-tools|dracut)-core' -v | sort | uniq -w35
bilibop-lockfs Depends: bilibop-common (= 0.6.3), initramfs-tools, udev (>= 242-6)
bootcd Depends: busybox | busybox-static | busybox-cvs | busybox-cvs-static, cpio, dosfstools, e2fsprogs, fdisk | util-linux (<< 2.29.2-3~), file, genisoimage, initramfs-tools, grub-efi-amd64-bin, isolinux, lsb-base (>= 3.0-6), rsync, shellia (>= 5.6.5), syslinux, syslinux-common, xorriso
clevis-dracut Depends: clevis-systemd (= 16-2), dracut, dracut-network
clevis-initramfs Depends: clevis-luks (= 16-2), initramfs-tools
cloud-initramfs-dyn-netconf Depends: initramfs-tools
cloud-initramfs-growroot Depends: cloud-utils (>= 0.26-2~), initramfs-tools, fdisk | util-linux (<< 2.29.2-3~)
cloud-initramfs-rescuevol Depends: initramfs-tools
crossgrader Depends: python3-appdirs, python3-apt (>= 1.0.0), python3:any, python3-pkg-resources, dpkg-dev, arch-test, initramfs-tools
cryptsetup-initramfs Depends: busybox | busybox-static, cryptsetup (>= 2:2.3.7-1+deb11u1), initramfs-tools (>= 0.137) | linux-initramfs-tool, debconf (>= 0.5) | debconf-2.0
dropbear-initramfs Depends: busybox | busybox-static, dropbear-bin (>= 2020.81-3), initramfs-tools (>= 0.94), udev
live-boot-initramfs-tools Depends: busybox | busybox-initramfs, initramfs-tools, udev
live-tools Depends: lsb-base, initramfs-tools
mandos-client Depends: libavahi-common3 (>= 0.6.16), libavahi-core7 (>= 0.6.24), libc6 (>= 2.28), libglib2.0-0 (>= 2.40), libgnutls30 (>= 3.7.0), libgpgme11 (>= 1.2.0), libnl-3-200 (>= 3.2.7), libnl-route-3-200 (>= 3.2.7), debconf (>= 1.5.5) | debconf-2.0, adduser, cryptsetup (<< 2:2.0.3-1) | cryptsetup-initramfs, initramfs-tools (>= 0.99) | dracut (>= 044+241-3), dpkg-dev (>= 1.16.0), gnutls-bin (>= 3.6.6) | libgnutls30 (<< 3.6.0)
multipath-tools-boot Depends: debconf (>= 0.5) | debconf-2.0, initramfs-tools | linux-initramfs-tool, lsb-base, multipath-tools (>= 0.8.5-2), multipath-tools (<< 0.8.5-2.1~)
open-infrastructure-system-boot Depends: busybox | busybox-initramfs, initramfs-tools, udev
openstack-debian-images Depends: debootstrap, dosfstools, e2fsprogs, extlinux, initramfs-tools, ipcalc, kpartx, mbr, parted, qemu-utils
plymouth Depends: init-system-helpers (>= 1.18), initramfs-tools | dracut, lsb-base (>= 3.0-6), systemd (>= 232-8~), udev (>= 232-8~), libc6 (>= 2.29), libdrm2 (>= 2.4.47), libplymouth5 (>= 0.9.5)
yubikey-luks Depends: cryptsetup-run, initramfs-tools, yubikey-personalization (>= 1.5)
zfs-dracut Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux (>= 2.1.5-1)
zfs-initramfs Depends: busybox-initramfs | busybox-static | busybox, initramfs-tools, zfs-modules | zfs-dkms, zfsutils-linux (>= 2.0.3-9)
-- >8 --
And conversely, without -v:
-- >8 --
acpi-override-initramfs Depends: initramfs-tools-core
sg3-utils-udev Depends: sg3-utils, initramfs-tools-core, initramfs-tools | linux-initramfs-tool
-- >8 --
This was spurred by me trying to install tzpfms-{dracut,initramfs},
which respectively depend on zfs-{dracut,initramfs},
which for some reason depend on dracut and initramfs-tools,
instead of the respective -core package
(for which I've opened #1023127 with patches for this).
This makes them non-co-installable, which for me means testing is way
more annoying than it should be, but I think it's a general problem of
hygiene.
Of the packages listed above, the packages of interest to this question
which I think do not get this right are:
* clevis-{dracut,initramfs}
* cloud-initramfs-{dyn-netconf,growroot,rescuevol}
* dropbear-initramfs
* live-boot-initramfs-tools
And those that don't differently are:
* cryptsetup-initramfs \ depends on l-i-t which is satisfied by
| dracut (and t-ir), but explicitly targets
* multipath-tools-boot / i-t, should just be i-t-c
* openstack-debian-images ‒ depends on i-t, but is just a program,
so should just be i-t-c
The only one that does get it right appears to be:
* acpi-override-initramfs
clevis-{dracut,initramfs} is another text-book example of this:
they aren't co-installable, even though there's no reason to,
and dracut-core/i-t-c /are/, and installing one or the other
shouldn't affect the way the system is booted.
The rest listed have no dracut counter-parts, but nevertheless
shouldn't (effectively) conflict with dracut.
Before I send out patches to the rest, I'd love to know if:
a) I'm not insane for thinking this, and
b) it'd perhaps make sense to encode this in the kernel handbook or
the like to have something to point to.
Best,
наб
As a post-scriptum, packages that aren't of interest here,
but get the hard-deps right are:
* bilibop-lockfs \ require integration with the initrd and only
* bootcd | provide it for i-t
* yubikey-luks /
* mandos-client \ hard dep on dracut|i-t, integrate with both
* plymouth /
-- System Information:
Debian Release: 11.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.10.0-17-amd64 (SMP w/24 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Attachment:
signature.asc
Description: PGP signature