From 76a9f47e0352a6f031733273632e5a0dbd4955b8 Mon Sep 17 00:00:00 2001
From: Ruben Rodriguez <ruben@trisquel.info>
Date: Sun, 28 Feb 2016 14:47:23 -0600
Subject: [PATCH] debootstrap helper updated for flidas

---
 helpers/DATA/debootstrap/flidas   |   1 +
 helpers/DATA/debootstrap/trisquel | 303 ++++++++++++++++--------------
 2 files changed, 162 insertions(+), 142 deletions(-)
 create mode 120000 helpers/DATA/debootstrap/flidas

diff --git a/helpers/DATA/debootstrap/flidas b/helpers/DATA/debootstrap/flidas
new file mode 120000
index 00000000..fe1d5212
--- /dev/null
+++ b/helpers/DATA/debootstrap/flidas
@@ -0,0 +1 @@
+trisquel
\ No newline at end of file
diff --git a/helpers/DATA/debootstrap/trisquel b/helpers/DATA/debootstrap/trisquel
index 7efa062f..b3d9bdcc 100644
--- a/helpers/DATA/debootstrap/trisquel
+++ b/helpers/DATA/debootstrap/trisquel
@@ -1,199 +1,218 @@
-default_mirror http://archive.trisquel.info/trisquel
+case $ARCH in
+  amd64|i386)
+	default_mirror http://archive.trisquel.info/trisquel
+	;;
+  *)
+	default_mirror http://ports.trisquel.info/trisquel
+	;;
+esac
 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"
+	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" ;;
+	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
+	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
+	extract $required
 
-    mkdir -p "$TARGET/var/lib/dpkg"
-    : >"$TARGET/var/lib/dpkg/status"
-    : >"$TARGET/var/lib/dpkg/available"
+	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_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
 
-    if doing_variant fakechroot; then
-        setup_devices_fakechroot
-    else
-        setup_devices
-    fi
+	setup_devices
 
-    x_feign_install () {
-        local pkg="$1"
-        local deb="$(debfor $pkg)"
-        local ver="$(extract_deb_field "$TARGET/$deb" Version)"
+	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"
+		mkdir -p "$TARGET/var/lib/dpkg/info"
 
-        echo \
+		echo \
 "Package: $pkg
 Version: $ver
 Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"
 
-        touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
-    }
+		touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
+	}
 
-    x_feign_install dpkg
+	x_feign_install dpkg
 }
 
 second_stage_install () {
-    x_core_install () {
-	smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
-    }
+	x_core_install () {
+		smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
+	}
 
-    p () {
-	baseprog="$(($baseprog + ${1:-1}))"
-    }
+	p () {
+		baseprog="$(($baseprog + ${1:-1}))"
+	}
 
-    if doing_variant fakechroot; then
-	setup_proc_fakechroot
-    else
-	setup_proc
-	in_target /sbin/ldconfig
-    fi
+	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
+	DEBIAN_FRONTEND=noninteractive
+	DEBCONF_NONINTERACTIVE_SEEN=true
+	export DEBIAN_FRONTEND DEBCONF_NONINTERACTIVE_SEEN
 
-    baseprog=0
-    bases=7
+	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" #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-files base-passwd
-    p; progress $baseprog $bases INSTCORE "Installing core packages" #3
-    x_core_install dpkg
+	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 [ ! -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
+	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" #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" #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" #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
+	p; progress $baseprog $bases INSTCORE "Installing core packages" #7
+	if doing_variant -; then
+		x_core_install debconf
+	fi
 
-    baseprog=0
-    bases=$(set -- $required; echo $#)
+	baseprog=0
+	bases=$(set -- $required; echo $#)
 
-    info UNPACKREQ "Unpacking required packages..."
+	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
+	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..."
+	info CONFREQ "Configuring required packages..."
 
-    if doing_variant fakechroot; then
+	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
+	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 \
+	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"
+	chmod 755 "$TARGET/sbin/start-stop-daemon"
 
-    if [ -x "$TARGET/sbin/initctl" ]; then
-      mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL"
-      echo \
+	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 attempted 5 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"
-
-    progress $bases $bases CONFBASE "Configuring base system"
-    info BASESUCCESS "Base system installed successfully."
+	  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."
 }
-- 
GitLab