Re: tech-ctte: more on merged-/usr
On Sun, 17 Jul 2022 at 14:21:30 +0100, Luca Boccassi wrote:
> 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.
Shouldn't `debootstrap --no-merged-usr` also have this behaviour for
other variants? If a "larger" component like autopkgtest or piuparts
explicitly asks for non-merged /usr in some other variant (in practice
it would usually be minbase or default for those tools), it seems like
debootstrap should do as it says, even if that means going into the
--variant=buildd currently implies --no-merged-usr, so this would still
provide the behaviour you want for buildds.
For the older suites where absence of an explicit option is equivalent
to --no-merged-usr, this flag-file wouldn't be created anyway, because
it's an older suite that doesn't need it?
(I've commented as such on debootstrap!71.)
> From a strategic point of view, catching all those class of bugs you
> mentioned is not trivial
It'll be even less trivial if we remove the ability for autopkgtest and
piuparts to (create chroots that will) test this code path, which is
why I asked for an opt-out mechanism in the first place...
> 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
> [packages which are misbuilt on merged-/usr] at all.
So when do you plan to start operating bookworm and sid buildds as
merged-/usr? Toolchain freeze day? Transition freeze day? Full freeze
day? Release day?
I don't really like the idea of post-release bookworm security updates,
etc. being built in chroots that are explicitly unsupported.
> 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.
Isn't that flag just --no-merged-usr, which we've had since Marco added
it in 2016?