[Piuparts-devel] Bug#1054898: piuparts.d.o: overhaul merged-/usr configuration to match the majority of installed systems (was: piuparts: drop unmerged-usr sid configuration for debci)

Luca Boccassi bluca at debian.org
Sat Oct 28 16:33:22 BST 2023


On Sat, 28 Oct 2023 at 16:11, Nicolas Dandrimont <olasd at debian.org> wrote:
>
> Bcc:
> Reply-To:
> Control: retitle -1 piuparts.d.o: overhaul merged-/usr configuration to match the majority of installed systems
> Control: tags -1 - patch
>
> Cc'ing Helmut & the release team as a heads-up.
>
> Hi Luca,
>
> Thanks for submitting this bug and proposing a patch. To recap, piuparts tests
> in sid are currently broken because the usr-is-merged package fails to upgrade
> since it's removed support for the exemption flag (as piuparts uses
> unmerged-/usr chroots with the flag file, which is not supported anymore).
>
> Before rushing to fix this with one more hack, I'd like to have a look at what
> we want piuparts to be testing from first principles again.
>
> In short, I think we've made a mistake by having piuparts use unmerged-/usr
> chroots during the bookworm development cycle, and I'd like to fix that now.
>
> As far as I understand, this is our "support matrix"
>
> | distro     | build chroots | installed system support          | layout for new installs |
> | ---------- | ------------- | --------------------------------- | ----------------------- |
> | sid (&exp) | merged-/usr   | merged-/usr only                  | merged                  |
> | trixie     | merged-/usr   | merged-/usr only                  | merged                  |
> | bookworm   | unmerged-/usr | merged-/usr only                  | merged                  |
> | bullseye   | unmerged-/usr | merged or unmerged                | merged                  |
> | buster     | unmerged-/usr | merged or unmerged                | merged                  |
> | stretch    | unmerged-/usr | unmerged or merged (experimental) | unmerged                |
> | jessie     | unmerged-/usr | unmerged-/usr only                | unmerged                |
>
> In practice, as piuparts has been running almost exclusively on unmerged-/usr
> chroots, and only running a narrow set of sid tests on merged-/usr chroots, it
> has been running its (package install and upgrade) tests mostly against a
> non-default setup, catching issues that would have been most relevant for build
> chroots.
>
> I believe that we should be doing the following now:
>
>  - Update the piuparts config to default to generating and using merged-/usr
>    chroots for all suites. Upload piuparts to sid.
>  - Replace all base chroots from buster and up on piuparts.debian.org with
>    merged-/usr chroots
>  - (maybe) add unmerged variants of the bullseye-pu and bookworm-pu tests to make
>    sure we can still use these packages in buildd chroots
>
> There is the question of what to do for piuparts.d.o tests that involve
> upgrading the base chroot across the unmerged-/usr support boundary, but
> switching over to only using merged-/usr base chroots for buster and up will
> alleviate that (I don't think we have any archaeological tests starting from
> stretch running anymore).
>
> Alternatively, I've poked a little bit at running the usrmerge script in a
> pre_distupgrade piuparts hook, which is a bit awkward as these hooks are run
> after the sources.list is updated for the target suite. It's just a matter of
> adding a new class of hooks (pre_sourceslistupdate or something) and
> implementing usrmerge in that. I'm not sure it's worth the hassle compared to
> the efforts already put into dumat.
>
> As far as I can tell, to guard testing migration, the release team is
> comparing the results of piuparts running on the package in trixie, with
> the results of piuparts running on the package in sid. I'm not sure that
> upgrades (that is, testing2sid) are involved, so, as long as the chroots
> are consistent between the trixie tests and the sid tests, these exports
> should keep making sense for the release team.
>
> Does my reasoning make sense?

Your reasoning makes sense to me, thanks.

At this point we are already past the upgrade-across-boundary phase,
so I wouldn't spend extra time on that.



More information about the Piuparts-devel mailing list