On 2023-06-10 08:35 +0200, Sven Joachim wrote: > Am 10.06.2023 um 07:35 schrieb Helmut Grohne: > >> One of the approaches to making bootstrapping work was adding the >> symlinks to some data.tar. That has been category 2 from my earlier >> mail. We definitely cannot add /bin as a directory to one package and >> /bin as a symlink to another (unless using diversions), because the >> resulting behaviour is dependent on the unpack order when used with >> dpkg. Also any bootstrap tool that unpacks with tar -k (such as >> debootstrap) requires changes to support this. So this pretty much >> precludes completing the transition in a way that just unpacking all >> data.tar of essential packages gives you a working chroot. In effect, >> this requires a proposal to change the bootstrap protocol (category 4) >> in order to make sense. >> >> There is a loop hole that I ignored here. While /bin cannot be both a >> directory and a symlink at the same time, we can upgrade it. So if we >> somehow managed to get one and only one package to contain /bin as a >> directory, we could upgrade that to a symlink. > > I think the goal should be to get to this state eventually. > >> Unfortunately, any >> external package that still ships stuff in /bin breaks this. In effect, >> any addon repository or old package can break your system. > > You lost me. We have converted /bin to a symlink already, have many > packages that ship files there and yet our systems do not break. Could > you please elaborate?
Thinking about it once more, I understand that unpacking old or external packages during the bootstrap phase could break it if those are unpacked before the package shipping the /bin symlink, and this is what you meant. Cheers, Sven