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

base-installer: Pass "--extra-suites=unreleased" to debootstrap on ports arches



Package: base-installer
Severity: normal
Version: 1.194

Hi!

I've posted these patches to debian-boot@ last month,
but thought I'd try again.

Confer commit messages for detailed references, but the short of it is:
  the base-installer patch pulls in ports arch detexion logic from
  apt-setup and adds the unreleased suite in debootstrap, fixing Hurd
  installs from, i.a., mini ISOs, which require it for a working system,
and
  the apt-setup patch switches to the detection logic
  moved to base-installer.

Thread on debian-hurd@:
<https://lists.debian.org/debian-hurd/2020/06/msg00015.html>

These patches apply cleanly on top of the Salsa HEADs as of today
(e70510edbb6772e0eb98537c3a7175b977ce0423 for base-installer and
 30f36f7e8617f52cbc7fc9942cfbf326d2b773c2 for apt-setup).

Best,
наб
--- Begin Message ---
This fixes, e.g., hurd installs from mini ISOs,
which require libp11-kit0 from unreleased for a functioning apt.

is_ports_architecture() extracted from apt-setup's 50mirror:
https://salsa.debian.org/installer-team/apt-setup/-/blob/584e84b5a1d6e71ecb94e503a1a8e546048d215b/generators/50mirror#L28-45
which already included unreleased for new installs on ports arches.

Ref: thread of https://lists.debian.org/debian-hurd/2020/06/msg00015.html
---
 debian/bootstrap-base.postinst |  4 ++++
 debian/changelog               |  8 ++++++++
 library.sh                     | 11 +++++++++++
 3 files changed, 23 insertions(+)

diff --git a/debian/bootstrap-base.postinst b/debian/bootstrap-base.postinst
index f25fd167..7e872197 100755
--- a/debian/bootstrap-base.postinst
+++ b/debian/bootstrap-base.postinst
@@ -96,6 +96,9 @@ install_base_system () {
 	if [ "${EXCLUDES}" ]; then
 		exclude="--exclude=${EXCLUDES}"
 	fi
+	if is_ports_architecture "${ARCH}"; then
+		extra_suites="--extra-suites=unreleased"
+	fi
 	sigcheck="--no-check-gpg"
 	if [ "$PROTOCOL" = http ] || [ "$PROTOCOL" = ftp ]; then
 		if type gpgv >/dev/null; then
@@ -149,6 +152,7 @@ install_base_system () {
 			--debian-installer \
 			--resolve-deps \
 			${include} ${exclude} \
+			${extra_suites} \
 			${sigcheck} \
 			${DEBOOTSTRAP_VARIANT} \
 			${DISTRIBUTION} /target \
diff --git a/debian/changelog b/debian/changelog
index 43ce8dbb..38501c62 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+base-installer (1.195) UNRELEASED; urgency=medium
+
+  [ наб ]
+  * Pass "--extra-suites=unreleased" to debootstrap for ports architectures,
+    fixing, e.g., hurd installs from mini ISOs.
+
+ -- Holger Wansing <hwansing@mailbox.org>  Mon, 15 Jun 2020 22:17:27 +0200
+
 base-installer (1.194) unstable; urgency=medium
 
   * Team upload
diff --git a/library.sh b/library.sh
index d7f05024..e7fb8f60 100644
--- a/library.sh
+++ b/library.sh
@@ -887,3 +887,14 @@ EOT
 cleanup () {
 	rm -f "$KERNEL_LIST" "$KERNEL_LIST.unfiltered"
 }
+
+is_ports_architecture() {
+	case "$1" in
+		alpha|hppa|hurd-i386|ia64|kfreebsd-amd64|kfreebsd-i386|m68k|powerpc|ppc64|riscv64|sh4|sparc64|x32)
+			return 0
+			;;
+		*)
+			return 1
+			;;
+	esac
+}
-- 
2.20.1

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
The hard versioned dependency is required since that function will have
just moved in in 1.195 and we didn't depend on base-installer before

This shouldn't affect users, since apt-mirror-setup is likely pulled in
by apt-setup-udeb, which depends on installed-base,
provided by bootstrap-base and live-installer,
both of which depend on base-installer

Ref: https://lists.debian.org/msgid-search/3ff43fa102094f36688749bb866ad72d9580d47a.1592257217.git.nabijaczleweli@gmail.com
---
 debian/changelog    |  8 ++++++++
 debian/control      |  2 +-
 generators/50mirror | 16 +++-------------
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index b434904..61ad8de 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+apt-setup (1:0.158) unstable; urgency=medium
+
+  [ наб ]
+  * apt-mirror-setup: Depend on base-installer (>= 1.195)
+  * generators/50mirror: Use is_ports_architecture from base-installer
+
+ -- Holger Wansing <hwansing@mailbox.org>  Mon, 15 Jun 2020 23:42:43 +0200
+
 apt-setup (1:0.157) unstable; urgency=medium
 
   * Team upload.
diff --git a/debian/control b/debian/control
index 1707e06..4e46e44 100644
--- a/debian/control
+++ b/debian/control
@@ -18,7 +18,7 @@ Description: Configure apt
 Package: apt-mirror-setup
 Package-Type: udeb
 Architecture: all
-Depends: choose-mirror-bin, ${misc:Depends}
+Depends: choose-mirror-bin, base-installer (>= 1.195), ${misc:Depends}
 Description: set up a mirror in sources.list
 
 Package: apt-cdrom-setup
diff --git a/generators/50mirror b/generators/50mirror
index 42e62ac..e8c60a1 100755
--- a/generators/50mirror
+++ b/generators/50mirror
@@ -2,6 +2,7 @@
 set -e
 
 . /usr/share/debconf/confmodule
+. /usr/lib/base-installer/library.sh
 
 file="$1"
 
@@ -25,22 +26,11 @@ ask_no_mirror() {
 	fi
 }
 
-is_ports_architecture() {
-	case "$(chroot /target /usr/bin/dpkg --print-architecture)" in
-		alpha|hppa|hurd-i386|ia64|kfreebsd-amd64|kfreebsd-i386|m68k|powerpc|ppc64|riscv64|sh4|sparc64|x32)
-			log "Debian-Ports architecture detected"
-			return 0
-			;;
-		*)
-			return 1
-			;;
-	esac
-}
-
 # For architectures in the Debian-Ports archive, sources.list has to include
 # an additional entry for the "unreleased" suite.
 unset use_unreleased
-if is_ports_architecture; then
+if is_ports_architecture "$(chroot /target /usr/bin/dpkg --print-architecture)"; then
+	log "Debian-Ports architecture detected"
 	use_unreleased=yes
 fi
 
-- 
2.20.1

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Attachment: signature.asc
Description: PGP signature


Reply to: