- Package:
- kmod-udeb,busybox-udeb
- Source:
- kmod-udeb busybox-udeb
- Submitter:
- Helmut Grohne
- Date:
- 2024-05-17 12:24:12 UTC
- Severity:
- normal
- Tags:
Hi Cyril, Thank you for the report. In investigating it, I note that reproducing the failure was unexpectedly difficult. debian-installer fails to build from source in unstable for unrelated reasons. I request that you update the package more frequently and keep it in a buildable state to ease QA efforts of others. It turns out that /sbin/depmod points to /bin/busybox and /usr/sbin/depmod points to ../bin/kmod. As such, merge-usr does not have a good idea of what to do and rightly refuses to continue. These two files are to be considered a file conflict according to the Debian policy as they only differ in aliasing. I argue that this was a bug before merged-/usr and merged-/usr just makes it visible now. The underlying conflict has existed earlier and was resolved arbitrarily dependent on the order of unpacks. The real solution here is to agree on whether busybox-udeb or kmod-udeb is supposed to provide depmod and only ship it once. Since there is no other consumer of udebs, it does not make sense to install it in both. Cyril, please reassign the bug to the right package (i.e. the one that should not be providing depmod). I also recommend to establish QA for all udebs to automatically detect, report and address such conflicts as they evidently cause undefined behaviour otherwise. That can be as simple as collecting file lists of all udebs and comparing them. Helmut
This seems like a more generic problem. I downloaded all amd64 udebs and the following files (normalized to account for aliasing) pose a conflict: ./bin/netcfg ./bin/ptom ./bin/wget ./etc/console-setup/remap.inc ./lib/base-installer.d/40netcfg ./lib/finish-install.d/55netcfg-copy-config ./sbin/depmod ./sbin/insmod ./sbin/lsmod ./sbin/modinfo ./sbin/modprobe ./sbin/rmmod ./usr/share/console-setup/charmap_functions.sh ./usr/share/fonts/truetype/noto/NotoSansSinhala-Bold.ttf ./usr/share/fonts/truetype/noto/NotoSansSinhala-Regular.ttf ./usr/share/fonts/truetype/noto/NotoSerifGujarati-Bold.ttf ./usr/share/fonts/truetype/noto/NotoSerifGujarati-Regular.ttf ./usr/share/keymaps/i386/qwerty/it.kmap.gz ./usr/share/keymaps/i386/qwerty/jp106.kmap.gz ./usr/share/keymaps/i386/qwertz/mac-usb-de-latin1-nodeadkeys.kmap.gz ./usr/share/keymaps/i386/qwertz/mac-usb-de-latin1.kmap.gz ./usr/share/keymaps/i386/qwertz/mac-usb-de_CH.kmap.gz ./usr/share/keymaps/i386/qwertz/mac-usb-fr_CH-latin1.kmap.gz ./usr/share/keymaps/i386/qwertz/mac-usb-pt-latin1.kmap.gz ./usr/share/keymaps/include/compose.latin1.inc.gz So for busybox and kmod, it's not just depmod, but all the others as well. It's also busybox-udeb vs wget-udeb and a bunch of others though. All of the aliased ones will explode sooner or later. Helmut
06.01.2024 11:40, Helmut Grohne: From this list, only a few utilities are from busybox, namely wget and module utilities (depmod/insmod/lsmod/modinfo/modprobe/rmmod). My initial plan - with regular busybox package and with busybox udeb - is to provide most things in busybox, so that other packages don't need to ship udeb packages and the whole thing (be it d-i or initrd) is small. Yes, some utils in busybox aren't as good as regular implementations. For example, I just found out busybox's xz does not perform compression, only decompression (-d option is mandatory). Or #1003757 - missing functionality in busybox ip. Still, overall, it is enough for most things. BTW, it looks like with compressed kernel modules, busybox m-i-t needs some (albiet minor) tweaks (it works but kernel produces warnings when busybox tries to load a module). Unfortunately this didn't work out for one reason or another. One of the reasons is perhaps #921556, where original util does more than needed but busybox didn't implement the unnecessary functionality. This needs to be thought about at a more general level. Including initrd stuff (if we still need it, instead of relying on mkosi-initrd). I use my own initrd for a good reason, and this one does not include 2 or even 3 libc as debian does.. /mjt
Yes. Nowadays kmod has many more features related to compressed modules and verification of signatures. Can we agree that kmod should provide these programs for d-i? Or can the d-i maintainers just tell us what they want?
Hi, Marco d'Itri <md@Linux.IT> (2024-04-09): I meant to come back to this after experimenting, then things happened… I picked kmod at the time because it worked, and because busybox didn't work, which I summed up in: https://salsa.debian.org/installer-team/debian-installer/-/commit/450daf0bd24ee94d4f466ab65908c079ef795145 (plus follow-up commit, woopsie https://salsa.debian.org/installer-team/debian-installer/-/commit/69777be465c5d0210d16159a456ab88535513a07 ) I'm fine with sticking to kmod regarding module support in d-i. I'm not sure we should keep support in two different modules, so dropping it from busybox would work for me. Others might have different views on this, though. Cheers,
09.04.2024 16:48, Cyril Brulebois wrote: So, should I disable module utils in busybox-udeb now? Wanted to spare some time on busybox, this bug report come in. Is kmod udeb ready and used in d-i already, or does it need some prep first? Thanks, /mjt
I think so. AFAIK it works.
Ok, I'm removing whole modutils from busybox udeb (besides depmod, this is lsmod, insmod, rmmod, and modprobe). All these are provided by kmod-udeb as far as I can see (as symlinks to kod).
Marco d'Itri <md@linux.it> (2024-04-26): I haven't gotten any requests / seen any reasons to keep it; so, yes, please feel free to remove it whenever is convenient for you. Absolutely, that's been working since the small xz-utils tweak (the udeb addition, not the backdoor thing). Cheers,
We believe that the bug you reported is fixed in the latest version of
busybox, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1060134@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Michael Tokarev <mjt@tls.msk.ru> (supplier of updated busybox package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 16 May 2024 21:49:03 +0300
Source: busybox
Architecture: source
Version: 1:1.36.1-7
Distribution: unstable
Urgency: medium
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Michael Tokarev <mjt@tls.msk.ru>
Closes: 1060134 1069864
Changes:
busybox (1:1.36.1-7) unstable; urgency=medium
.
* udeb: remove all modutils (kmod-udeb provides better alternatives)
(Closes: #1060134)
* deb, static, udeb: provide install applet (Closes: #1069864)
* udhcpc/default.script: recognize $search dhcp parameter too,
in addition to $domain (and simplify these parts a bit)
Checksums-Sha1:
c4a67d14dbdad9698c915485270c6f6bc7f588a7 1954 busybox_1.36.1-7.dsc
9b37bb6b1ddfe41eac4a551751d37bb37de8d5eb 66708 busybox_1.36.1-7.debian.tar.xz
93c723b6fb881663e3bf80c73363da943b3d96d9 6352 busybox_1.36.1-7_source.buildinfo
Checksums-Sha256:
8d387dfc4159ea54832c878bc5602c8d9a9eebcba0d24a6f7091dcdbc51ec8a5 1954 busybox_1.36.1-7.dsc
602dd21460f6dff82fb23a3b71d40a4d402dbc3d8864704d7d89a8563dd9d62f 66708 busybox_1.36.1-7.debian.tar.xz
c689e977c5937caed55fe249812e0de57516fcaede5241e222f1610f49b6a24a 6352 busybox_1.36.1-7_source.buildinfo
Files:
4b46ee0b205392c42ba7fb1986eb8c98 1954 utils optional busybox_1.36.1-7.dsc
264e149c43c1250200801066b8f7ee8a 66708 utils optional busybox_1.36.1-7.debian.tar.xz
f0fdc456a88231b6006681560a91ab3e 6352 utils optional busybox_1.36.1-7_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQFDBAEBCgAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAmZGVVgPHG1qdEB0bHMu
bXNrLnJ1AAoJEHAbT2saaT5ZMLYH/RTawFiOHKvfhBhqibKZitgtXENDJ/AM1Cnk
DuJ6c3G31LBwyxYDePQq6m7RAVneRk2ADWZXNM9B7A32QhCgCKOtVY3N7vBaqlD1
jat7NUgFcUT2qdPP18ZVA2JxcoIXz5H9FnFUjB1Q8g34HIY7cHygaVtm19kyB79C
m6dXD/nfzXW1e0Z1EEk17mdzsMzxNXOTizQdFdJ5e+99v5dnhOng/1ELZtWkbGiy
e3jIWvSM9oKeTWeQg9ziMKeCkNlo3r40zEgPAY4NFuu7uFfz/2zc0po8surXB0As
+LFtBhu8UE605AN0IPPeDww9BPlCiyKMZATeEoPN1vC6j6V0t4c=
=A2Pk
-----END PGP SIGNATURE-----