]> git.donarmstrong.com Git - debian-ctte.git/blobdiff - 914897_merged_usr/ballot.md
Uniform "merged `/usr`" formatting
[debian-ctte.git] / 914897_merged_usr / ballot.md
index 089950d5a8b08227b47a04c7374c576d4c891c86..4e31022d39ba5c3accdc6cd75a56091cbbbd263d 100644 (file)
@@ -1,7 +1,5 @@
 # #914897: tech-ctte: Should debootstrap disable merged `/usr` by default?
 
-=== DRAFT Resolution ===
-
 ## What is "merged `/usr`"
 
 "Merged `/usr`" describes a possible future standard directories scheme in which the `/{bin,sbin,lib*}/` directories have been made superfluous through replacing them by symlinks to their `/usr` equivalents (/usr/{bin,sbin,lib*}).
@@ -67,42 +65,40 @@ These are the five possible situations at the time of bullseye (buster + 1):
 It can be summarized by the following table:
 
 ```
-|          |     Host types that are allowed     | Are merged-/usr  |    Official packages are built on   | Packages built on … can break on the other |
-| Codename | classical hosts | merged-/usr hosts | symlinks allowed | classical hosts | merged-/usr hosts |   classical hosts   |   merged-/usr hosts  |
-|----------|-----------------|-------------------|------------------|—----------------|-------------------|---------------------|----------------------|
-|     none |       yes       |         no        |         no       |       yes       |         no        |         yes         |          yes         |
-|     weak |       yes       |        yes        |        yes       |       yes       |         no        |          no         |          yes         |
-|   middle |       yes       |        yes        |        yes       |       yes       |        yes        |          no         |           no         |
-|     hard |       yes       |        yes        |        yes       |        no       |        yes        |          no         |           no         |
-|      all |       no        |        yes        |        yes       |        no       |        yes        |         yes         |           no         |
+|          |     Host types that are allowed       | Are merged `/usr` |     Official packages are built on    | Packages built on … can break on the other |
+| Codename | classical hosts | merged `/usr` hosts | symlinks allowed  | classical hosts | merged `/usr` hosts |   classical hosts   |  merged `/usr` hosts |
+|----------|-----------------|---------------------|-------------------|—----------------|---------------------|---------------------|----------------------|
+|     none |       yes       |          no         |         no        |       yes       |          no         |         yes         |          yes         |
+|     weak |       yes       |         yes         |        yes        |       yes       |          no         |          no         |          yes         |
+|   middle |       yes       |         yes         |        yes        |       yes       |         yes         |          no         |           no         |
+|     hard |       yes       |         yes         |        yes        |        no       |         yes         |          no         |           no         |
+|      all |       no        |         yes         |        yes        |        no       |         yes         |         yes         |           no         |
 ```
 
-## Immediate actions
-
-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:
+The current state of buster is `weak`.
 
-* Flag-day to get all hosts on "merged `/usr`", through a base-files version; probably in buster+1 (bullseye)
-* 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).
-
-Given the tests from the reproducible builds' initiative, it does not seem impossible to enforce that official Debian packages support being built on either "merged `/usr`" or non-"merged `/usr`" systems; however, due to Debian being upstream to many other distributions, and due to `.deb` packages (which often don't go through the same level of checking and policing as official Debian's) being built by Independent Software Vendors (ISVs), our users will probably face similar problems to what we have described.
+=== DRAFT Resolution ===
 
-It's bizarre to have official buildds be non-"merged `/usr`" while user hosts will converge to be more and more "merged `/usr`".
+The Technical Committee resolves to:
 
-## For buster
+* Option A: Ask the debootstrap maintainers to disable "merged `/usr`" by default
+  (Using its §6.1.4 "Overrule a Developer" power; requires a 3:1 majority)
 
-Anyway:
-    Recommend tainting binary packages built on "merged-`/usr`" hosts, and warning at install time.
-    Recommend tackling "merged-`/usr`" properly over bullseye (buster+1)
+  Given that:
+  * hosts with both directory schemes already exist,
+  * the "merged `/usr`" directory scheme ought to be reserved for special use-cases,
+  * official packages ought to only be built on classical directory schemes,
 
-Option A:
-    Override debootstrap maintainers; let new hosts be identical to buildds, non-"merged-`/usr`".
+  … the Technical Committee considers that the desireable solution at the time of bullseye is `weak`; and asks the debootstrap maintainers to disable "merged `/usr`" by default.
 
-Option B:
-    Do not override debootstrap maintainers
-    Encourage finding ways quickly to reconcile buildds' setups with user setups.
+* Option B: Decline to override the debootstrap maintainers; offer advice
+  (Using its §6.1.5 "Offering advice" power)
 
+  Given that:
+  * hosts with both directory schemes already exist,
+  * it seems unpractical to allow official packages to be built on either directory schemes,
+  * there's inherent value in the simplicity of "merged `/usr`" directory schemes,
+  
+  … the Technical Committee considers that the desireable solution at the time of bullseye is `hard`; and declines to override the debootstrap maintainers.
 
 === End DRAFT Resolution ===
-