[Bug 1948713] [NEW] focal: backport patch to allow mk-sbuild within Docker

Dan Watkins 1948713 at bugs.launchpad.net
Mon Oct 25 19:54:30 UTC 2021


Public bug reported:

Debian bug #968927 is present in the version of debootstrap in focal,
which means that mk-sbuild cannot execute successfully within a Docker
environment.

https://salsa.debian.org/installer-
team/debootstrap/-/commit/87cdebbcad6f4e16ba711227cbbbd70039f88752 is
the fix for this.  It's included in the version of debootstrap in
impish+, and we've been using a patched debootstrap (including only this
patch on top of focal's debootstrap) for a couple of months without
issue.

[Impact]

Without this patch, using debootstrap via mk-sbuild within a Docker
environment produces this error:

  ln: failed to create symbolic link '/dev/stdin': File exists
  E: 10mount: E: Failed to open mount file ‘/proc/mounts’: No such file or directory
  E: focal-amd64-6433640d-7654-4238-b872-e8f1acd4b717: Chroot setup failed: stage=setup-stop

This means that Ubuntu users either have to perform their mk-sbuild'ing
outside of Docker (which may not be possible in corporate settings), or
they have to maintain debootstrap downstream of Ubuntu (which either
requires superseding the versions in Ubuntu entirely, or rebasing this
patch onto the new version which appears in focal as each new release is
opened).

[Test Plan]

Launch a Docker container (privileged so mk-sbuild can perform overlay
mounting) with:

  docker run --privileged -it --rm ubuntu:focal

and then within the container:

  apt-get update
  apt-get install ubuntu-dev-tools sbuild

  # Convince mk-sbuild to run as root
  touch /root/.sbuildrc
  usermod -a -G sbuild root
  newgrp sbuild

  # Run mk-sbuild
  mk-sbuild focal

After much output, the above-described error will be output.  Using a
patched debootstrap causes the mk-sbuild to complete successfully.

Regression testing of regular use of debootstrap (outside of Docker, as
used in Ubuntu's image building) should be performed: the image content
should be unchanged.

[Where problems could occur]

debootstrap is a fundamental piece of the Debian/Ubuntu image building
infrastructure, and any change to it could have an impact on how Ubuntu
images are built.

** Affects: debootstrap (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  focal: backport patch to allow mk-sbuild within Docker

Status in debootstrap package in Ubuntu:
  New

Bug description:
  Debian bug #968927 is present in the version of debootstrap in focal,
  which means that mk-sbuild cannot execute successfully within a Docker
  environment.

  https://salsa.debian.org/installer-
  team/debootstrap/-/commit/87cdebbcad6f4e16ba711227cbbbd70039f88752 is
  the fix for this.  It's included in the version of debootstrap in
  impish+, and we've been using a patched debootstrap (including only
  this patch on top of focal's debootstrap) for a couple of months
  without issue.

  [Impact]

  Without this patch, using debootstrap via mk-sbuild within a Docker
  environment produces this error:

    ln: failed to create symbolic link '/dev/stdin': File exists
    E: 10mount: E: Failed to open mount file ‘/proc/mounts’: No such file or directory
    E: focal-amd64-6433640d-7654-4238-b872-e8f1acd4b717: Chroot setup failed: stage=setup-stop

  This means that Ubuntu users either have to perform their mk-
  sbuild'ing outside of Docker (which may not be possible in corporate
  settings), or they have to maintain debootstrap downstream of Ubuntu
  (which either requires superseding the versions in Ubuntu entirely, or
  rebasing this patch onto the new version which appears in focal as
  each new release is opened).

  [Test Plan]

  Launch a Docker container (privileged so mk-sbuild can perform overlay
  mounting) with:

    docker run --privileged -it --rm ubuntu:focal

  and then within the container:

    apt-get update
    apt-get install ubuntu-dev-tools sbuild

    # Convince mk-sbuild to run as root
    touch /root/.sbuildrc
    usermod -a -G sbuild root
    newgrp sbuild

    # Run mk-sbuild
    mk-sbuild focal

  After much output, the above-described error will be output.  Using a
  patched debootstrap causes the mk-sbuild to complete successfully.

  Regression testing of regular use of debootstrap (outside of Docker,
  as used in Ubuntu's image building) should be performed: the image
  content should be unchanged.

  [Where problems could occur]

  debootstrap is a fundamental piece of the Debian/Ubuntu image building
  infrastructure, and any change to it could have an impact on how
  Ubuntu images are built.

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




More information about the foundations-bugs mailing list