[Bug 2020530] Re: The debootstrap SRU to end all debootstrap SRUs

Steve Langasek 2020530 at bugs.launchpad.net
Wed Jun 7 15:27:42 UTC 2023


** Description changed:

  [Impact]
  Today, debootstrap requires a sourceful change to know about every target name.  This means that every 6 months, we have to do an upload of debootstrap as part of the archive opening so that it can build chroots for the new release.
  
  We have done this 30 times.
  
  It causes development drag, because the upload of debootstrap to the
  devel series is not instantaneous, usually gets hung up on failing
  autopkgtests of reverse-dependencies related to other aspects of the
  archive opening, and is slow to get SRUed back to stable series.
  
  And the only code change required in debootstrap is a symlink to the
  'gutsy' script which has not changed in 15 years.
  
  In mantic, I have changed the code to detect when the target series is
  one known to distro-info, and if it is, to default to the common Ubuntu
  bootstrap script.  This removes the need for any further uploads of
  debootstrap to inform it of new Ubuntu release names (and lets us remove
  30 symlinks from the source package).
  
  [Test case]
  sudo apt install distro-info debootstrap
  series=$((distro-info --supported; distro-info --supported-esm)| sort -u)
  for s in $series; do
      if [ "$s" = mantic ]; then continue; fi
      sudo debootstrap $s ${s}-old
  done
  install debootstrap from -proposed
  for s in $series; do
      sudo debootstrap $s ${s}-new
  done
  for s in $series; do
      if [ "$s" = mantic ]; then continue; fi
      sudo diff -uNr ${s}-old ${s}-new
  done 2>&1 \
  | grep -vE 'No such file or directory|is a (character|block) special file|Binary files .*(\.pyc|/var/cache/.*) differ' \
  |filterdiff -x '*/etc/machine-id' -x '*/var/lib/dbus/machine-id' -x '*/var/log/**' -x '*/var/lib/dpkg/status*' -x '*/var/cache/**'
  (exclude from the diff: dangling (wide) symlinks; device files; compiled pyc files that will differ on each generation; and other text files that are randomly generated or contain timestamp or ordering differences)
  
+ sudo apt install ubuntu-dev-tools
+ sg sbuild -c 'mk-sbuild --skip-proposed mantic'
+ 
  [Where problems could occur]
  Because this adds a new dependency, there could be problems as a result of pulling it in.  However, distro-info is part of ubuntu-minimal, so is present on any supported Ubuntu system.
  
  [Original description]
  (on Jammy)
  # sg sbuild -c mk-sbuild --skip-proposed mantic
  Specified release (mantic) not known to debootstrap
  
  Without this update users cannot generate mantic chroots for
  development.

-- 
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/2020530

Title:
  The debootstrap SRU to end all debootstrap SRUs

Status in debootstrap package in Ubuntu:
  Fix Released
Status in ubuntu-dev-tools package in Ubuntu:
  Fix Released
Status in debootstrap source package in Bionic:
  Won't Fix
Status in ubuntu-dev-tools source package in Bionic:
  In Progress
Status in debootstrap source package in Focal:
  Fix Committed
Status in ubuntu-dev-tools source package in Focal:
  Fix Committed
Status in debootstrap source package in Jammy:
  Fix Committed
Status in ubuntu-dev-tools source package in Jammy:
  Fix Committed
Status in debootstrap source package in Kinetic:
  Fix Released
Status in ubuntu-dev-tools source package in Kinetic:
  Fix Committed
Status in debootstrap source package in Lunar:
  Fix Released
Status in ubuntu-dev-tools source package in Lunar:
  Fix Committed

Bug description:
  [Impact]
  Today, debootstrap requires a sourceful change to know about every target name.  This means that every 6 months, we have to do an upload of debootstrap as part of the archive opening so that it can build chroots for the new release.

  We have done this 30 times.

  It causes development drag, because the upload of debootstrap to the
  devel series is not instantaneous, usually gets hung up on failing
  autopkgtests of reverse-dependencies related to other aspects of the
  archive opening, and is slow to get SRUed back to stable series.

  And the only code change required in debootstrap is a symlink to the
  'gutsy' script which has not changed in 15 years.

  In mantic, I have changed the code to detect when the target series is
  one known to distro-info, and if it is, to default to the common
  Ubuntu bootstrap script.  This removes the need for any further
  uploads of debootstrap to inform it of new Ubuntu release names (and
  lets us remove 30 symlinks from the source package).

  [Test case]
  sudo apt install distro-info debootstrap
  series=$((distro-info --supported; distro-info --supported-esm)| sort -u)
  for s in $series; do
      if [ "$s" = mantic ]; then continue; fi
      sudo debootstrap $s ${s}-old
  done
  install debootstrap from -proposed
  for s in $series; do
      sudo debootstrap $s ${s}-new
  done
  for s in $series; do
      if [ "$s" = mantic ]; then continue; fi
      sudo diff -uNr ${s}-old ${s}-new
  done 2>&1 \
  | grep -vE 'No such file or directory|is a (character|block) special file|Binary files .*(\.pyc|/var/cache/.*) differ' \
  |filterdiff -x '*/etc/machine-id' -x '*/var/lib/dbus/machine-id' -x '*/var/log/**' -x '*/var/lib/dpkg/status*' -x '*/var/cache/**'
  (exclude from the diff: dangling (wide) symlinks; device files; compiled pyc files that will differ on each generation; and other text files that are randomly generated or contain timestamp or ordering differences)

  sudo apt install ubuntu-dev-tools
  sg sbuild -c 'mk-sbuild --skip-proposed mantic'

  [Where problems could occur]
  Because this adds a new dependency, there could be problems as a result of pulling it in.  However, distro-info is part of ubuntu-minimal, so is present on any supported Ubuntu system.

  [Original description]
  (on Jammy)
  # sg sbuild -c mk-sbuild --skip-proposed mantic
  Specified release (mantic) not known to debootstrap

  Without this update users cannot generate mantic chroots for
  development.

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




More information about the foundations-bugs mailing list