implement merged-/usr by post-merging
Compare changes
Files
4+ 1
− 1
The implementation of merged-/usr in debootstrap currently creates the aliasing symlinks prior to initial unpack. Since it also passes -k to tar, this method will fail once base-files ships the aliasing symlinks. To avoid this failure, we swap the initial unpack and the /usr-merge. Shipping these links in a package is a mitigation (DEP17-M4) to avoid accidentally deleting the aliasing links during a package upgrade (DEP17-P9).
This swap comes at a complexity. Earlier we only had to create a few directories and a few symlinks in an empty tree, but after unpack, we have to actually perform the same task as the usrmerge package without the atomicity requirement.
On the flip side, this swap allows us to determine the required multilib directories from the unpacked filesystem tree rather than hard coding them into debootstrap.
This post-merging implementation also comes with other limitations.