X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=914897_merged_usr%2Fballot.md;h=089950d5a8b08227b47a04c7374c576d4c891c86;hb=0c0281a43ef2101267c1edca8966a1b8bc249064;hp=11d8da181a9d9bf452b8f3ad5c9c015a90f0c832;hpb=8bb088593fda5ca522c864fa268aebdce24f5019;p=debian-ctte.git diff --git a/914897_merged_usr/ballot.md b/914897_merged_usr/ballot.md index 11d8da1..089950d 100644 --- a/914897_merged_usr/ballot.md +++ b/914897_merged_usr/ballot.md @@ -26,13 +26,15 @@ The compatibility symbolic links `/lib` → `/usr/lib` and `/lib64` → `/usr/li ## "merged `/usr`" in Debian -In Debian buster, the current testing suite, "merged `/usr`" is only considered for implementation with symlinks (there are no proposals for simply dropping `/{bin,sbin,lib*}`) and is implemented in two distinct ways: +In Debian buster, the current testing suite, "merged `/usr`" is only considered for implementation with symlinks (there are no proposals for simply dropping `/{bin,sbin,lib*}`) and is implemented in two main ways: * existing hosts can be made to have a "merged `/usr`" by installing the [usrmerge][2] package; * new hosts get the `/{bin,sbin,lib*}/`→ `/usr/{bin,sbin,lib*}/` symlinks by default when using debootstrap >= 1.0.102. The usrmerge package contains a `/usr/lib/convert-usrmerge` perl executable that runs in `postinst`, that will move the contents of `/{bin,sbin,lib*}/` and replace these directories with symlinks when empty. +It is also possible to merge `/usr` in other ways, for example with `debootstrap --merged-usr` or by bootstrapping into a chroot that already contains the necessary symlinks. + [2]: https://tracker.debian.org/pkg/usrmerge ## Issues from "merged `/usr`" @@ -54,7 +56,7 @@ Two initiatives are worth mentioning at this point: Various valid long-term desireable situations coexist, and while discussing immediate countermeasures, it is useful to keep the long-term outcome that those are most likely to produce. -These are the six possible situations at the time of bullseye (buster + 1): +These are the five possible situations at the time of bullseye (buster + 1): * `none`: "merged `/usr`" has been reverted * `weak`: both directory schemes are allowed, packages only built on classical hosts @@ -80,7 +82,7 @@ It can be summarized by the following table: Given that hosts with different top-level directory schemes already exist; there are various ways forward that would allow for Debian to converge to a desireable situation: * Flag-day to get all hosts on "merged `/usr`", through a base-files version; probably in buster+1 (bullseye) -* Disallow "merged `/usr`", let users who ran `usrmerge` on their own +* Disallow "merged `/usr`", leave users who already have merged `/usr` in an unsupported situation * Let Debian converge to a situation where non-"merged `/usr`" Debian hosts are equivalent to symlinked "merged `/usr`" hosts; do this through upgrading all packages shipping files outside of /usr (but exceptions) to stop doing this. Could be achieved by setting policy for buster+1 (should) and buster+2 (must), or maybe even shorter. This would make the symlink "shortcut" migration redundant. * Support both "merged `/usr`" and non-"merged `/usr`" systems forever: this implies that our packaging tools need to either support countering effects of "merged `/usr`" (e.g. through manipulating PATH for builds to detect files only in their .deb paths) or identifying tainted packages, and letting installing users decide (warn or error out at install time).