Skip to content

Migrate sbuild to the executor API

Now that we have a standard API for executors (#219 (closed)) we should migrate sbuild to use it.

The task should be roughly:

  • Update the sbuild task definition to take an environment_id instead of a distribution name.
  • Initialize an executor and from the task, and download the environment.
  • Determine the distribution name from the executor's environment, where required.
  • Pass --chroot-mode=unshare --chroot=/home/debian/h/chroot/system.tar.xz to sbuild.
  • Pass -- unshare --tarball /home/debian/h/chroot/system.tar.xz to autopkgtest

On the IRC we've discussed if sbuild should use -chroot-mode=unshare or should use the autopkgtest backend for unshare. We've decided for using sbuild's -chroot-mode=unshare since the other way does not have much advantages, seems to need more packages installed inside the image, seems to be "suboptimal".

Previously version of the ticket mentioned:

  • Pass --autopkgtest-virt-server={backend} and --autopkgtest-virt-server-opts={executor.autopkgtest_virt_args()} to sbuild.
  • Use unshare in the autopgktest (it'll have to run after mmdebstrap).
Edited by Carles Pina i Estany
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information