On Sun, 2022-07-17 at 14:21 +0100, Luca Boccassi wrote: > On Sun, 2022-07-17 at 11:34 +0100, Simon McVittie wrote: > > On Sun, 17 Jul 2022 at 00:56:14 +0100, Luca Boccassi wrote: > > > Piuparts has been enhanced with a new test case that covers the > > > moratorium on moving files manually between their location in the > > > root > > > directories and /usr. > > > > Thanks for doing this, it will help a lot. > > > > > A MR is pending for debootstrap [1] to make use of this new [...] > > > file flag when --variant=buildd is passed, so that buildds can > > > continue > > > to be unmerged-usr until the CTTE says otherwise, as per decision > > > above. > > > > I don't think we actually ever said that buildds must continue to be > > unmerged-/usr. In #914897 we resolved that for Debian 11, build > > systems > > can validly be either merged-/usr or unmerged-/usr, implicitly > > meaning > > that packages that are mis-built on either merged-/usr or unmerged- > > /usr > > buildds have a bug (#994388 recommended that this bug is treated as > > RC). > > In #994388 we confirmed that this continues to apply during the > > bookworm-is-testing cycle. > > > > In #914897 this narrowly defeated the alternative of mandating that > > build > > systems must be merged-/usr for Debian 11 (which, with hindsight, > > would > > have been too disruptive at that time, and I'm glad we didn't choose > > it). > > > > I personally agree that buildds should stay unmerged-/usr until the > > known > > bugs that would be triggered by merged-/usr buildds have been raised > > to > > RC severity, though. #992645 is a typical example. I'll try to have a > > look > > at those bugs today. > > > > The QA systems that I had in mind when I suggested that we need an > > opt-out were things like autopkgtest and piuparts, rather than > > buildds, > > to ensure that we can detect this scenario: > > > > * a package (let's say ncftp, #992645) is built on a merged-/usr > > buildd > > * it builds successfully, but the contents are incompatible with > > unmerged-/usr systems > > - for example in #992645 the binary gets /usr/bin/tar hard-coded > > into it, > > but that path only exists on merged-/usr > > * a QA test (autopkgtest, piuparts or similar) installs the package > > into > > an unmerged-/usr environment > > * the package fails to install, or installs but fails to work > > - I don't think ncftp has a test that exercises its tar > > integration, > > but please imagine it did... > > * as per #994388, the TC think this should be treated as a RC bug > > > > The opt-out is needed in order to allow autopkgtest and piuparts to > > create > > the necessary unmerged-/usr environment to be able to run that test. > > If > > they can only create merged-/usr bookworm environments, then that > > test > > would not be implementable. > > So the reasoning behind adding the override to debootstrap in -- > variant=buildd mode is twofold. > > From a very practical perspective, it means it's supereasy to allow all > those builds and tools you mentioned to run in unmerged-usr, there's no > extra config or code changes required anywhere else, it just works. > > From a strategic point of view, catching all those class of bugs you > mentioned is not trivial, as you said if there's no autopkgtest to > exercise the feature (which is the case for many many many packages) it > will be difficult. And essentially, it's all for naught, as they only > manifest when built on merged-usr and used on unmerged-usr. By keeping > the buildds in umerged-usr state for Bookworm, and switching them as > soon as it is released, it seems to me we can avoid caring about them > at all. > That's because we will do all builds on unmerged-usr, until we are sure > everything is switched over (and the autopkgtest/piuparts can also be > turned over) in Bookworm+1, then there's nowhere left that runs them in > unmerged-usr systems, and thus we can happily forget about it and spend > the time on other issues. > > Wouldn't this work? Am I missing something?
Ping - Simon, what is your thought on this? Depending on the answer, I might need to add a new flag to debootstrap to force the unmerged-usr setup. Right now in the current diff it is implied by --variant=buildd. -- Kind regards, Luca Boccassi
signature.asc
Description: This is a digitally signed message part