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

Bug#771687: marked as done (debootstrap: Please add support for the Tanglu derivative)



Your message dated Wed, 11 Nov 2015 18:04:13 +0000
with message-id <E1ZwZkj-0004Gh-1T@franck.debian.org>
and subject line Bug#771687: fixed in debootstrap 1.0.75
has caused the Debian Bug report #771687,
regarding debootstrap: Please add support for the Tanglu derivative
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
771687: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771687
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: debootstrap
Version: 1.0.66
Severity: wishlist
Tags: patch

Hi!
Could you please add support for the Tanglu[1] Debian derivative?
This includes three suites at time:
 * Aequorea
 * Bartholomea
 * Chromodoris
I have a patch attached which adds Tanglu support.
I also attched a second patch which we apply at Tanglu, which just adds a nicer
message if debootstrap is failing to create device nodes.
You might want to consider that one as well (if wanted, I could also file a
separate bug for it).
Thank you for your work on Debootstrap!
Cheers,
    Matthias

[1]: http://tanglu.org

-- System Information:
Debian Release: jessie/sid
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Versions of packages debootstrap depends on:
ii  wget  1.16-1b1

Versions of packages debootstrap recommends:
ii  gnupg           1.4.18-4
ii  tanglu-archive-keyring  2013.02

debootstrap suggests no packages.
Author: Matthias Klumpp <matthias@tenstral.net>

    Add Tanglu support

diff --git a/debian/rules b/debian/rules
index a7d5eee..d7274e1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,8 @@
 
 ifeq (0,$(shell dpkg-vendor --derives-from Ubuntu; echo $$?))
   KEYRING := ubuntu-keyring
+else ifeq (0,$(shell dpkg-vendor --derives-from Tanglu; echo $$?))
+  KEYRING := tanglu-archive-keyring
 else
   KEYRING := debian-archive-keyring
 endif
@@ -14,10 +16,10 @@ override_dh_auto_build:
 
 override_dh_auto_install:
 	dh_auto_build
-	
+
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/debootstrap
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/debootstrap-udeb
-	
+
 	# remove scripts not needed by d-i
 	-rm -f debian/debootstrap-udeb/usr/share/debootstrap/scripts/potato \
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/woody \
@@ -30,6 +32,7 @@ override_dh_auto_install:
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/feisty \
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/*.buildd \
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/*.fakechroot \
+		debian/debootstrap-udeb/usr/share/debootstrap/scripts/staging \
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/stable \
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/testing \
 		debian/debootstrap-udeb/usr/share/debootstrap/scripts/unstable
diff --git a/scripts/aequorea b/scripts/aequorea
new file mode 100644
index 0000000..fddd777
--- /dev/null
+++ b/scripts/aequorea
@@ -0,0 +1,202 @@
+mirror_style release
+download_style apt
+finddebs_style from-indices
+variants - buildd fakechroot minbase scratchbox
+keyring /usr/share/keyrings/tanglu-archive-keyring.gpg
+default_mirror http://archive.tanglu.org/tanglu
+
+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" ;;
+	kfreebsd-*) LIBC="libc0.1" ;;
+	hurd-*)     LIBC="libc0.3" ;;
+	*)          LIBC="libc6" ;;
+esac
+
+work_out_debs () {
+	required="$(get_debs Priority: required)"
+
+	if doing_variant - || doing_variant fakechroot; then
+		#required="$required $(get_debs Priority: important)"
+		#  ^^ should be getting debconf here somehow maybe
+		base="$(get_debs Priority: important)"
+
+		# we want the Tanglu minimal dependency set to be installed
+		base="$base tanglu-minimal"
+	elif doing_variant buildd || doing_variant scratchbox; then
+		base="apt build-essential"
+	elif doing_variant minbase; then
+		base="apt"
+	fi
+
+	if doing_variant fakechroot; then
+		# ldd.fake needs binutils
+		required="$required binutils"
+	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
+
+	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
+Maintainer: unknown
+Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"
+
+		touch "$TARGET/var/lib/dpkg/info/${pkg}.list"
+	}
+
+	x_feign_install dpkg
+}
+
+second_stage_install () {
+	setup_devices
+
+	x_core_install () {
+		smallyes '' | in_target dpkg --force-depends --install $(debfor "$@")
+	}
+
+	p () {
+		baseprog="$(($baseprog + ${1:-1}))"
+	}
+
+	if doing_variant fakechroot; then
+		setup_proc_fakechroot
+	elif doing_variant scratchbox; then
+		true
+	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/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..."
+
+	exec 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 || echo EXITCODE $?) |
+		dpkg_progress $baseprog $bases UNPACKREQ "Unpacking required packages" UNPACKING
+
+	info CONFREQ "Configuring required packages..."
+
+	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"
+
+	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 || echo EXITCODE $?) |
+		dpkg_progress $baseprog $bases CONFREQ "Configuring required packages" CONFIGURING
+
+	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 || echo EXITCODE $?) |
+		dpkg_progress $baseprog $bases UNPACKBASE "Unpacking base system" UNPACKING
+
+	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 || echo EXITCODE $?) |
+		dpkg_progress $baseprog $bases CONFBASE "Configuring base system" CONFIGURING
+
+	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."
+}
diff --git a/scripts/bartholomea b/scripts/bartholomea
new file mode 120000
index 0000000..aa62feb
--- /dev/null
+++ b/scripts/bartholomea
@@ -0,0 +1 @@
+aequorea
\ No newline at end of file
diff --git a/scripts/chromodoris b/scripts/chromodoris
new file mode 120000
index 0000000..aa62feb
--- /dev/null
+++ b/scripts/chromodoris
@@ -0,0 +1 @@
+aequorea
\ No newline at end of file
diff --git a/scripts/staging b/scripts/staging
new file mode 120000
index 0000000..aa62feb
--- /dev/null
+++ b/scripts/staging
@@ -0,0 +1 @@
+aequorea
\ No newline at end of file
Author: Matthias Klumpp <matthias@tenstral.net>

    Exit with friendly error message when failing to create device nodes

diff --git a/functions b/functions
index 674d649..a0556d8 100644
--- a/functions
+++ b/functions
@@ -80,7 +80,7 @@ wgetprogress () {
 		wget "$@" 2>&1 >/dev/null | $PKGDETAILS "WGET%" $PROGRESS_NOW $PROGRESS_NEXT $PROGRESS_END >&3
 		ret=$?
 	else
-		wget $QSWITCH "$@" 
+		wget $QSWITCH "$@"
 		ret=$?
 	fi
 	return $ret
@@ -1050,7 +1050,8 @@ setup_devices () {
 		setup_devices_hurd ;;
 	    *)
 		if [ -e "$DEVICES_TARGZ" ]; then
-			zcat "$DEVICES_TARGZ" | (cd "$TARGET"; tar -xf -)
+			zcat "$DEVICES_TARGZ" | (cd "$TARGET"; tar -xf -) || \
+					error 1 DEVCREATE "Failed to create devices using %s." "$DEVICES_TARGZ"
 		else
 			if [ -e /dev/.devfsd ] ; then
 				in_target mount -t devfs devfs /dev

--- End Message ---
--- Begin Message ---
Source: debootstrap
Source-Version: 1.0.75

We believe that the bug you reported is fixed in the latest version of
debootstrap, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 771687@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Cyril Brulebois <kibi@debian.org> (supplier of updated debootstrap package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 11 Nov 2015 18:49:28 +0100
Source: debootstrap
Binary: debootstrap debootstrap-udeb
Architecture: source
Version: 1.0.75
Distribution: unstable
Urgency: medium
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Cyril Brulebois <kibi@debian.org>
Description:
 debootstrap - Bootstrap a basic Debian system
 debootstrap-udeb - Bootstrap the Debian system (udeb)
Closes: 771687 804415
Changes:
 debootstrap (1.0.75) unstable; urgency=medium
 .
   * Stop cleaning KEEP_DEBOOTSTRAP_DIR twice, as spotted by Chris Lamb
     (Closes: #804415).
   * Add Tanglu support (Closes: #771687), thanks to Matthias Klumpp. At
     the moment, the following extra suites are recognized:
      - aequorea
      - bartholomea
      - chromodoris
      - dasyatis
Checksums-Sha1:
 45579229ad1161dec60420b9f14fb966bd18847f 1773 debootstrap_1.0.75.dsc
 3f4e5c8e2bcca2bbc7476335823c82cae9f0fbe7 61897 debootstrap_1.0.75.tar.gz
Checksums-Sha256:
 08dca39bc00ccfb0935594d36942af1ecb20abc4be63613569993f8bc8f8aec5 1773 debootstrap_1.0.75.dsc
 4fdc5daf7bce3816a7faa916e7cbd6d45357f241f0d845bec0015c06fd7c7cd6 61897 debootstrap_1.0.75.tar.gz
Files:
 aad05c095d197b2aeb4aa05c8d73c0cb 1773 admin extra debootstrap_1.0.75.dsc
 00ee8c0f34d41d8e08823b07c708349f 61897 admin extra debootstrap_1.0.75.tar.gz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJWQ4B2AAoJEP+RSvDCs1UgkcoQAIE7pRU6LqguqvYivepromdd
zQs6UEG2kEJlGNqVO/CZM3rVQZffLUPne3eD1GMByZ/CMOm/NzZwOeEVMyQSmGbk
6DOQQJr2D6A+iaCNyS2JYxyO2cRnLKOLd/rx7clq3ci2lLkuWR4gdkAHJ7H9reBJ
MYpbTTAFV21hiBW7zocBrVCZgfPJ7Dl9muH6gQP+xr9/d0KyFZ3Yqm/YxtnPAORn
4oze/z02uo5KvOTqVVXyJr+fZG0gg88m7ckBL3iFAj5VF0ZOTR2EFQ/rTJ4coE5H
QsrMzpEBjVbxpgnbA+Q0Rn7oaUzDmpS0Y0aEEfYOz+7uGR6aVWPmbCzZ9HMcW1H3
TH8oCFsxICVMnzKVYWluHpIEZgH33xMzQKB9P01A069J4psqdwjx/lOqp6EQp1o9
BPrlaRHCxXyNEj/gaAtv1EGdxaDdPW7Cn+QIt3Pf19k05+/2VAJdoqLPk1sFPSHo
cel1P2bLFUX5xlJwd8z6nUm9zMmItTHJBBT4TDK6wIEFWb+uwtLjfuv8rl3LkIG5
k17r6C3ggZvW/FjTwM6KG05NCgAv+1VD08rU/1IgXt5ep6bfedzgzQEcOrvPUA4O
VNRZlG50PFafXIPp5ovPq5U1NIGROVkh6Sa38CGgkfshFJQvhBBBxF2Lbr4EOVTO
iQRN9pLfzCC62LE/k1Iu
=UDcN
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: