Hi Holger, Please Cc me in replies as I am not subscribed to d-boot.
On Thu, Dec 19, 2024 at 07:59:19PM +0100, Holger Wansing wrote: > I just noticed that many d-i packages currently get a lintian error > "aliased-location", complaining about binaries in locations, which are > now under the concept of usrmerge (aka /bin, /sbin and /lib). I introduced this lintian check and did not have udebs in mind at the time of writing it. The warning was not intentional and we should figure out whether it is better to keep or relax it. > Since udebs are sometimes a little bit different from "normal" Debian > packages, > I would like to ask, if this is an issue for these packages or not. It is much less of an issue that for the rest of Debian, because udebs are never upgraded. You only use them to install once. As a result, much of the problems that motivated the moving do not apply to udebs. > Should we change this, or is the lintian error a false-positive? > And do we want to change it *now*? I agree with the questions but provide no answers. > Pascal 'pham' already mentioned, that d-i under trixie has merged-usr > in initrd.gz, but I want to make sure, before pushing changes to several > d-i packages, thus this mail... > > See for example > https://salsa.debian.org/installer-team/grub-installer/-/merge_requests/23 > https://salsa.debian.org/installer-team/anna/-/merge_requests/5 > > Testing of images with such changes did not show any issues. I also implemented the /usr-merging of d-i. It technically works the same way as debootstrap now. That is all the udebs are extracted into the same location and then files are shuffled around if necessary. If your udeb contains /bin/foo, it'll be moved to /usr/bin/foo after all udebs are extracted. If you do the move before creating the .udeb little should change. Famous last words, right? There is a semantic change. The moving code is very picky about file conflicts. If one udeb installs /bin/foo and another installs /usr/bin/foo, that makes it fail hard. If you move /bin/foo, it stops failing and chooses an undefined one. If two udebs install /bin/foo and you move one, it starts failing. So all those file conflicts between udebs now pose to be a problem. I reported some of those when I implemented the merge, but they're not all fixed yet. I think busybox still conflicts with two other udebs. So in the interest of not breaking stuff, you should resolve those conflicts before moving the files. Resolving those conflicts would be very useful for independent of the /usr-move. At this time, which file happens to be used depends on the unpack order and that happens to be poorly defined (but likely stable). Assuming that there are no conflicts, my understanding is that moving is reasonably safe since d-i has been merged. On the flip side, I also do not see urgency in doing the move. Now let me turn your question back: Should I exempt udebs in lintian? Helmut