[Bug 2000015] [NEW] autopkgtest unshare-qemuwrapper doesn't build chroot with sbuild/lunar-proposed

Mauricio Faria de Oliveira 2000015 at bugs.launchpad.net
Sun Dec 18 19:32:08 UTC 2022


Public bug reported:

The autopkgtest `d/t/unshare` uses `sbuild`, which fails on lunar
(sbuild 0.83.1ubuntu1) as the chroot setup cannot find `adduser`
(not in the chroot as it's now an alternative dependency in `apt`).

This is fixed in lunar-proposed (sbuild 0.84.1ubuntu2; commit [1])
since it no longer depends on `adduser` in the chroot.

[1]
https://salsa.debian.org/debian/sbuild/-/commit/0d35fa019a5c6d51e0928987a87849766b0f35e6

However, `d/t/unshare-qemuwrapper` runs `d/t/unshare` in a qemu vm,
but its image still does _not_ ship `sbuild` from lunar-proposed, 
thus `unshare` fails anyway (and its parent `unshare-qemuwrapper`).

The reason is, even though the apt _sources_ are used to build the
vm disk image thus `lunar-proposed` is _available_, it is not used
because the apt _preferences_ (w/ `autopkgtest --apt-pocket` setup)
are not copied in.

This is now required as lunar has -proposed pocket w/ NotAutomatic.

Just checking for/copying the apt preferences file/dir address it:
+ mmdebstrap ... --setup-hook=sync-in /etc/apt/preferences.d/ ...


Tests:
=====

$ autopkgtest-buildvm-ubuntu-cloud -a amd64 -r lunar


Before: (sbuild from lunar-proposed)

$ autopkgtest sbuild \
  -B -U --apt-pocket=proposed=src:sbuild -- qemu autopkgtest-lunar-amd64.img
...
autopkgtest [15:24:09]: test unshare-qemuwrapper: [-----------------------
...
+ mmdebstrap --variant=apt --mode=root --verbose --setup-hook=/tmp/autopkgtest.NnTISR/autopkgtest_tmp/setup.sh --include=...
...
Setting up sbuild (0.83.1ubuntu1) ...
...


After: (sbuild from lunar-proposed + fix)

$ autopkgtest ./sbuild_0.84.1ubuntu3.dsc \
  -B -U --apt-pocket=proposed=src:sbuild -- qemu autopkgtest-lunar-amd64.img
...
autopkgtest [15:39:50]: test unshare-qemuwrapper: [-----------------------
...
+ [ -e /etc/apt/preferences.d/autopkgtest-lunar-proposed ]
+ cat /etc/apt/preferences.d/autopkgtest-lunar-proposed
Package: *
Pin: release a=lunar
Pin-Priority: 990

Package:  buildd libsbuild-perl sbuild sbuild-debian-developer-setup sbuild-qemu
Pin: release a=lunar-proposed
Pin-Priority: 995

Package: *
Pin: release a=lunar-updates
Pin-Priority: 990
...
+ mmdebstrap --variant=apt --mode=root --verbose --setup-hook=/tmp/autopkgtest.4gz0dQ/autopkgtest_tmp/setup.sh --setup-hook=sync-in /etc/apt/preferences.d/ /etc/apt/preferences.d/ --include=...
...
Setting up sbuild (0.84.1ubuntu2) ...
...

** Affects: sbuild (Ubuntu)
     Importance: Medium
     Assignee: Mauricio Faria de Oliveira (mfo)
         Status: In Progress

** Changed in: sbuild (Ubuntu)
       Status: New => In Progress

** Changed in: sbuild (Ubuntu)
   Importance: Undecided => Medium

** Changed in: sbuild (Ubuntu)
     Assignee: (unassigned) => Mauricio Faria de Oliveira (mfo)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sbuild in Ubuntu.
https://bugs.launchpad.net/bugs/2000015

Title:
  autopkgtest unshare-qemuwrapper doesn't build chroot with
  sbuild/lunar-proposed

Status in sbuild package in Ubuntu:
  In Progress

Bug description:
  The autopkgtest `d/t/unshare` uses `sbuild`, which fails on lunar
  (sbuild 0.83.1ubuntu1) as the chroot setup cannot find `adduser`
  (not in the chroot as it's now an alternative dependency in `apt`).

  This is fixed in lunar-proposed (sbuild 0.84.1ubuntu2; commit [1])
  since it no longer depends on `adduser` in the chroot.

  [1]
  https://salsa.debian.org/debian/sbuild/-/commit/0d35fa019a5c6d51e0928987a87849766b0f35e6

  However, `d/t/unshare-qemuwrapper` runs `d/t/unshare` in a qemu vm,
  but its image still does _not_ ship `sbuild` from lunar-proposed, 
  thus `unshare` fails anyway (and its parent `unshare-qemuwrapper`).

  The reason is, even though the apt _sources_ are used to build the
  vm disk image thus `lunar-proposed` is _available_, it is not used
  because the apt _preferences_ (w/ `autopkgtest --apt-pocket` setup)
  are not copied in.

  This is now required as lunar has -proposed pocket w/ NotAutomatic.

  Just checking for/copying the apt preferences file/dir address it:
  + mmdebstrap ... --setup-hook=sync-in /etc/apt/preferences.d/ ...

  
  Tests:
  =====

  $ autopkgtest-buildvm-ubuntu-cloud -a amd64 -r lunar

  
  Before: (sbuild from lunar-proposed)

  $ autopkgtest sbuild \
    -B -U --apt-pocket=proposed=src:sbuild -- qemu autopkgtest-lunar-amd64.img
  ...
  autopkgtest [15:24:09]: test unshare-qemuwrapper: [-----------------------
  ...
  + mmdebstrap --variant=apt --mode=root --verbose --setup-hook=/tmp/autopkgtest.NnTISR/autopkgtest_tmp/setup.sh --include=...
  ...
  Setting up sbuild (0.83.1ubuntu1) ...
  ...

  
  After: (sbuild from lunar-proposed + fix)

  $ autopkgtest ./sbuild_0.84.1ubuntu3.dsc \
    -B -U --apt-pocket=proposed=src:sbuild -- qemu autopkgtest-lunar-amd64.img
  ...
  autopkgtest [15:39:50]: test unshare-qemuwrapper: [-----------------------
  ...
  + [ -e /etc/apt/preferences.d/autopkgtest-lunar-proposed ]
  + cat /etc/apt/preferences.d/autopkgtest-lunar-proposed
  Package: *
  Pin: release a=lunar
  Pin-Priority: 990

  Package:  buildd libsbuild-perl sbuild sbuild-debian-developer-setup sbuild-qemu
  Pin: release a=lunar-proposed
  Pin-Priority: 995

  Package: *
  Pin: release a=lunar-updates
  Pin-Priority: 990
  ...
  + mmdebstrap --variant=apt --mode=root --verbose --setup-hook=/tmp/autopkgtest.4gz0dQ/autopkgtest_tmp/setup.sh --setup-hook=sync-in /etc/apt/preferences.d/ /etc/apt/preferences.d/ --include=...
  ...
  Setting up sbuild (0.84.1ubuntu2) ...
  ...

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sbuild/+bug/2000015/+subscriptions




More information about the foundations-bugs mailing list