[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1016169: buster-pu: package debootstrap/1.0.114+deb10u1



Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-CC: dimitri.ledkov@canonical.com debian-boot@lists.debian.org debian-wb-team@lists.debian.org

Dear release team,

While preparing for the usrmerge transition as per [0], we have done
some work on debootstrap [1] to ensure that, as per CTTE decision,
buildd machines (and CI machines) can remain unmerged-usr.
The new version of debootstrap with these changes is in unstable,
testing and stable-backports.

While talking with the buildd team, it was noted that some buildd
machines are still running oldstable, and there is no hard deadline for
the upgrade to stable. This means stable-backports is not enough to
ensure we can begin the transition, and blocking it on the buildd full
upgrades (which is difficult and time consuming) would put unduly
pressure on the DSA team and risk long delays, as the Bookworm freeze
approaches.

A selected backport of the changes for stable-proposed-updates and
oldstable-proposed-updates seems like a safe approach that removes the
buildd team/DSA from the critical path, and the buildd team/DSA would
prefer to go down that route.

The backport was tested by creating a sid chroot with local packages
that pull in usrmerge|usr-is-merged, and veryfing that with --no-
merged-usr and/or --variant buildd the chroot is still unmerged-usr as
expected.

Debdiff attached.

[0] https://lists.debian.org/debian-ctte/2022/07/msg00019.html
[1] https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/71

-- 
Kind regards,
Luca Boccassi
diff -Nru debootstrap-1.0.114/debian/changelog debootstrap-1.0.114+deb10u1/debian/changelog
--- debootstrap-1.0.114/debian/changelog	2019-01-09 13:00:04.000000000 +0000
+++ debootstrap-1.0.114+deb10u1/debian/changelog	2022-07-28 12:18:59.000000000 +0100
@@ -1,3 +1,12 @@
+debootstrap (1.0.114+deb10u1) buster; urgency=medium
+
+  * Non-maintainer upload.
+  * setup_merged_usr: create skip flag when merged-usr is disabled on
+    bookworm+
+  * Add usr-is-merged to the required set on testing/unstable
+
+ -- Luca Boccassi <bluca@debian.org>  Thu, 28 Jul 2022 12:18:59 +0100
+
 debootstrap (1.0.114) unstable; urgency=medium
 
   * Revert changes from 1.0.113 (closes: #918722)
diff -Nru debootstrap-1.0.114/functions debootstrap-1.0.114+deb10u1/functions
--- debootstrap-1.0.114/functions	2019-01-09 12:59:11.000000000 +0000
+++ debootstrap-1.0.114+deb10u1/functions	2022-07-28 12:16:24.000000000 +0100
@@ -1323,7 +1323,23 @@
 		MERGED_USR="no"
 	fi
 
-	if [ "$MERGED_USR" = "no" ]; then return 0; fi
+	if [ "$MERGED_USR" = "no" ]; then
+	    # With the usrmerge becoming pseudo-essential we need to use this flag
+	    # to ensure that even if it gets installed the buildd is not converted
+	    # when debootstrap needs to create an unmerged-usr installation.
+	    case "$CODENAME" in
+		etch*|lenny|squeeze|wheezy|jessie*|stretch|buster|bullseye)
+		    ;;
+		*)
+		    mkdir -p "$TARGET/etc"
+		    echo "this system will not be supported in the future" > "$TARGET/etc/unsupported-skip-usrmerge-conversion"
+		    if ! doing_variant buildd; then
+			warning SANITYCHECK "Upgrading non-merged-/usr environments post-bookworm is unsupported. Only do this for CI/QA infrastructure that will be re-bootstrapped rather than upgraded."
+		    fi
+		    ;;
+	    esac
+	    return 0;
+	fi
 
 	local link_dir
 	case $ARCH in
diff -Nru debootstrap-1.0.114/scripts/debian-common debootstrap-1.0.114+deb10u1/scripts/debian-common
--- debootstrap-1.0.114/scripts/debian-common	2018-11-20 18:55:53.000000000 +0000
+++ debootstrap-1.0.114+deb10u1/scripts/debian-common	2022-07-28 12:16:24.000000000 +0100
@@ -32,6 +32,20 @@
 		base="$base apt-transport-https ca-certificates"
 		;;
 	esac
+
+	# On suites >= bookworm, either we set up a merged-/usr system
+	# via setup_merged_usr, or we deliberately avoided that migration
+	# by creating the flag file. This means there's no need for the
+	# live migration 'usrmerge' package and its extra dependencies:
+	# we can install the empty 'usr-is-merged' metapackage to indicate
+	# that the transition has been done.
+	case "$CODENAME" in
+		etch*|lenny|squeeze|wheezy|jessie*|stretch|buster|bullseye)
+			;;
+		*)
+			required="$required usr-is-merged"
+			;;
+	esac
 }
 
 first_stage_install () {

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: