From 98d79c33945c7617b6b7c51fc7c280b0d135b41d Mon Sep 17 00:00:00 2001
From: Jing Luo <jing@jing.rocks>
Date: Tue, 9 Jul 2024 20:52:22 +0900
Subject: [PATCH] debootstrap: fix buildd variant not installing apt

apt in trisquel aramo is neither `Build-Essential: yes` nor `Priority: required`,
causing it not being pulled when creating a buildd chroot. Since the
build-essential package includes all packages that are `Build-Essential: yes`,
use build-essential instead.

Also, the `trisquel-common` script is not referred to or run by any other
programs, so it's useless. Remove it.

Fixes: 76a9f47e0352a6f031733273632e5a0dbd4955b8
Fixes: a75b1ffc4f27b60674ce46f18d7551fe4a7ff8f2
Signed-off-by: Jing Luo <jing@jing.rocks>
---
 helpers/DATA/debootstrap/trisquel        |   2 +-
 helpers/DATA/debootstrap/trisquel-common | 212 -----------------------
 helpers/make-debootstrap                 |   2 +-
 3 files changed, 2 insertions(+), 214 deletions(-)
 delete mode 100644 helpers/DATA/debootstrap/trisquel-common

diff --git a/helpers/DATA/debootstrap/trisquel b/helpers/DATA/debootstrap/trisquel
index 8c1dea71..54a3fa31 100644
--- a/helpers/DATA/debootstrap/trisquel
+++ b/helpers/DATA/debootstrap/trisquel
@@ -23,7 +23,7 @@ work_out_debs () {
 		#  ^^ should be getting debconf here somehow maybe
 		base="$(get_debs Priority: important)"
 	elif doing_variant buildd; then
-		base="$(get_debs Build-Essential: yes)"
+		base="apt build-essential"
 	elif doing_variant fakechroot || doing_variant minbase; then
 		base="apt"
 	fi
diff --git a/helpers/DATA/debootstrap/trisquel-common b/helpers/DATA/debootstrap/trisquel-common
deleted file mode 100644
index 8c1dea71..00000000
--- a/helpers/DATA/debootstrap/trisquel-common
+++ /dev/null
@@ -1,212 +0,0 @@
-default_mirror http://archive.trisquel.org/trisquel
-
-mirror_style release
-download_style apt
-finddebs_style from-indices
-variants - buildd fakechroot minbase
-keyring /usr/share/keyrings/trisquel-archive-keyring.gpg
-
-if doing_variant fakechroot; then
-	test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started"
-fi
-
-case $ARCH in
-	alpha|ia64) LIBC="libc6.1" ;;
-	*)          LIBC="libc6" ;;
-esac
-
-work_out_debs () {
-	required="$(get_debs Priority: required)"
-
-	if doing_variant -; then
-		#required="$required $(get_debs Priority: important)"
-		#  ^^ should be getting debconf here somehow maybe
-		base="$(get_debs Priority: important)"
-	elif doing_variant buildd; then
-		base="$(get_debs Build-Essential: yes)"
-	elif doing_variant fakechroot || doing_variant minbase; then
-		base="apt"
-	fi
-
-	case $MIRRORS in
-	    https://*)
-		base="$base apt-transport-https ca-certificates"
-		;;
-	esac
-}
-
-first_stage_install () {
-	extract $required
-
-	mkdir -p "$TARGET/var/lib/dpkg"
-	: >"$TARGET/var/lib/dpkg/status"
-	: >"$TARGET/var/lib/dpkg/available"
-
-	setup_etc
-	if [ ! -e "$TARGET/etc/fstab" ]; then
-		echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab"
-		chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab"
-	fi
-
-	setup_devices
-
-	x_feign_install () {
-		local pkg="$1"
-		local deb="$(debfor $pkg)"
-		local ver="$(extract_deb_field "$TARGET/$deb" Version)"
-
-		mkdir -p "$TARGET/var/lib/dpkg/info"
-
-		echo \
-"Package: $pkg
-Version: $ver
-Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"
-
-		touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
-	}
-
-	x_feign_install dpkg
-}
-
-second_stage_install () {
-	x_core_install () {
-		smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
-	}
-
-	p () {
-		baseprog="$(($baseprog + ${1:-1}))"
-	}
-
-	if doing_variant fakechroot; then
-		setup_proc_fakechroot
-	else
-		setup_proc
-		in_target /sbin/ldconfig
-	fi
-
-	DEBIAN_FRONTEND=noninteractive
-	DEBCONF_NONINTERACTIVE_SEEN=true
-	export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
-
-	baseprog=0
-	bases=7
-
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #1
-	info INSTCORE "Installing core packages..."
-
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #2
-	ln -sf mawk "$TARGET/usr/bin/awk"
-	x_core_install base-passwd
-	x_core_install base-files
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #3
-	x_core_install dpkg
-
-	if [ ! -e "$TARGET/etc/localtime" ]; then
-		ln -sf /usr/share/zoneinfo/Etc/UTC "$TARGET/etc/localtime"
-	fi
-
-	if doing_variant fakechroot; then
-		install_fakechroot_tools
-	fi
-
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #4
-	x_core_install $LIBC
-
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #5
-	x_core_install perl-base
-
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #6
-	rm "$TARGET/usr/bin/awk"
-	x_core_install mawk
-
-	p; progress $baseprog $bases INSTCORE "Installing core packages" #7
-	if doing_variant -; then
-		x_core_install debconf
-	fi
-
-	baseprog=0
-	bases=$(set -- $required; echo $#)
-
-	info UNPACKREQ "Unpacking required packages..."
-
-	smallyes '' |
-		(repeatn 5 in_target_failmsg UNPACK_REQ_FAIL_FIVE "Failure while unpacking required packages.  This will be attempted up to five times." "" \
-		dpkg --status-fd 8 --force-depends --unpack $(debfor $required) 8>&1 1>&7 |
-		dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING) 7>&1
-
-	info CONFREQ "Configuring required packages..."
-
-	if doing_variant fakechroot; then
-	# fix initscripts postinst (no mounting possible, and wrong if condition)
-	sed -i '/dpkg.*--compare-versions/ s/\<lt\>/lt-nl/' "$TARGET/var/lib/dpkg/info/initscripts.postinst"
-	fi
-
-	echo \
-"#!/bin/sh
-exit 101" > "$TARGET/usr/sbin/policy-rc.d"
-	chmod 755 "$TARGET/usr/sbin/policy-rc.d"
-
-	mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL"
-	echo \
-"#!/bin/sh
-echo
-echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon"
-	chmod 755 "$TARGET/sbin/start-stop-daemon"
-
-	if [ -x "$TARGET/sbin/initctl" ]; then
-	  mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL"
-	  echo \
-"#!/bin/sh
-if [ \"\$1\" = version ]; then exec /sbin/initctl.REAL \"\$@\"; fi
-echo
-echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl"
-	  chmod 755 "$TARGET/sbin/initctl"
-	fi
-
-	setup_dselect_method apt
-
-	smallyes '' |
-		(in_target_failmsg CONF_REQ_FAIL "Failure while configuring required packages." "" \
-		dpkg --status-fd 8 --configure --pending --force-configure-any --force-depends 8>&1 1>&7 |
-		dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING) 7>&1
-
-	baseprog=0
-	bases="$(set -- $base; echo $#)"
-
-	info UNPACKBASE "Unpacking the base system..."
-
-	setup_available $required $base
-	done_predeps=
-	while predep=$(get_next_predep); do
-		# We have to resolve dependencies of pre-dependencies manually because
-		# dpkg --predep-package doesn't handle this.
-		predep=$(without "$(without "$(resolve_deps $predep)" "$required")" "$done_predeps")
-		# XXX: progress is tricky due to how dpkg_progress works
-		# -- cjwatson 2009-07-29
-		p; smallyes '' |
-		in_target dpkg --force-overwrite --force-confold --skip-same-version --install $(debfor $predep)
-		base=$(without "$base" "$predep")
-		done_predeps="$done_predeps $predep"
-	done
-
-	smallyes '' |
-		(repeatn 5 in_target_failmsg INST_BASE_FAIL_FIVE "Failure while installing base packages.  This will be re-attempted up to five times." "" \
-		dpkg --status-fd 8 --force-overwrite --force-confold --skip-same-version --unpack $(debfor $base) 8>&1 1>&7 |
-		dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING) 7>&1
-
-	info CONFBASE "Configuring the base system..."
-
-	smallyes '' |
-		(repeatn 5 in_target_failmsg CONF_BASE_FAIL_FIVE "Failure while configuring base packages.  This will be re-attempted up to five times." "" \
-		dpkg --status-fd 8 --force-confold --skip-same-version --configure -a 8>&1 1>&7 |
-		dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING) 7>&1
-
-	if [ -x "$TARGET/sbin/initctl.REAL" ]; then
-		mv "$TARGET/sbin/initctl.REAL" "$TARGET/sbin/initctl"
-	fi
-	mv "$TARGET/sbin/start-stop-daemon.REAL" "$TARGET/sbin/start-stop-daemon"
-	rm -f "$TARGET/usr/sbin/policy-rc.d"
-
-	progress $bases $bases CONFBASE "Configuring base system"
-	info BASESUCCESS "Base system installed successfully."
-}
diff --git a/helpers/make-debootstrap b/helpers/make-debootstrap
index 24aecf4e..561a5af0 100644
--- a/helpers/make-debootstrap
+++ b/helpers/make-debootstrap
@@ -17,7 +17,7 @@
 #    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 #
 
-VERSION=6
+VERSION=7
 EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble main universe'
 NETINST=true
 
-- 
GitLab