summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphaël Hertzog <hertzog@debian.org>2016-11-28 16:43:50 +0100
committerRaphaël Hertzog <hertzog@debian.org>2016-11-28 20:58:19 +0100
commit164f23368e8870857c1092d59d92b314d86a1260 (patch)
tree881c81e39ac1b5c8f7a20ac7cc6ae12ff6a65372
parent822459c7b25589f4065c25bcd8b3ab440ae0e4cd (diff)
downloadvyos-live-build-164f23368e8870857c1092d59d92b314d86a1260.tar.gz
vyos-live-build-164f23368e8870857c1092d59d92b314d86a1260.zip
Support “lb config --debootstrap-script <script>”
This option lets you use an alternate bootstrap script when running debootstrap. Thanks to Sjoerd Simons <sjoerd@debian.org> for the initial patch. Closes: #790033
-rw-r--r--debian/changelog3
-rw-r--r--manpages/en/lb_config.18
-rwxr-xr-xscripts/build/bootstrap_debootstrap6
-rwxr-xr-xscripts/build/config10
4 files changed, 23 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index d0adf37a6..1cd4d81fb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,9 @@ live-build (1:20160105) UNRELEASED; urgency=medium
Thanks to Chris Lamb <lamby@debian.org> for the patch.
* Set xorriso's "modification time" to SOURCE_DATE_EPOCH. Closes: #831379
Thanks to Chris Lamb <lamby@debian.org> for the patch.
+ * Support “lb config --debootstrap-script <script>” to use an alternate
+ bootstrap script when running debootstrap. Thanks to Sjoerd Simons
+ <sjoerd@debian.org> for the initial patch. Closes: #790033
[ Kristian Klausen ]
* Include ext{3,4} journal size when calculating image size. Closes: #801712
diff --git a/manpages/en/lb_config.1 b/manpages/en/lb_config.1
index 7e3c95621..b24045d7a 100644
--- a/manpages/en/lb_config.1
+++ b/manpages/en/lb_config.1
@@ -75,6 +75,10 @@
.br
[\fB\-\-debian\-installer\-gui\fR true|false]
.br
+ [\fB\-\-debootstrap\-options\fR \fIOPTIONS\fR]
+.br
+ [\fB\-\-debootstrap\-script\fR \fISCRIPT\fR]
+.br
[\fB\-\-debug\fR]
.br
[\-d|\fB\-\-distribution\fR \fICODENAME\fR]
@@ -299,6 +303,10 @@ defines the distribution where the debian\-installer files should be taken out f
sets the filename or URL for an optionally used and included preseeding file for debian\-installer. If config/binary_debian\-installer/preseed.cfg exists, it will be used by default.
.IP "\fB\-\-debian\-installer\-gui\fR true|false" 4
defines if the debian\-installer graphical GTK interface should be true or not. In Debian mode and for most versions of Ubuntu, this option is true, whereas otherwise false, by default.
+.IP "\fB\-\-debootstrap\-options\fR \fIOPTIONS\fR" 4
+passes the given options to debootstrap when setting up the base system.
+.IP "\fB\-\-debootstrap\-script\fR \fISCRIPT\fR" 4
+tells debootstrap to use an alternate bootstrap script (last parameter to debootstrap).
.IP "\fB\-\-debug\fR" 4
turn on debugging informational messages.
.IP "\-d|\fB\-\-distribution\fR \fICODENAME\fR" 4
diff --git a/scripts/build/bootstrap_debootstrap b/scripts/build/bootstrap_debootstrap
index 446cc6ca4..a89fc42a1 100755
--- a/scripts/build/bootstrap_debootstrap
+++ b/scripts/build/bootstrap_debootstrap
@@ -88,7 +88,7 @@ then
fi
Echo_breakage "Running debootstrap (download-only)... "
- debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}"
+ debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT}
# Removing old cache
rm -f cache/packages.bootstrap/*.deb
@@ -109,13 +109,13 @@ then
fi
Echo_message "Bootstrap will be foreign"
- debootstrap ${DEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}"
+ debootstrap ${DEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT}
Echo_message "Running debootstrap second stage under QEMU"
cp ${LB_BOOTSTRAP_QEMU_STATIC} chroot/usr/bin
Chroot chroot /bin/sh /debootstrap/debootstrap --second-stage ${FOREIGN_DEBOOTSTRAP_OPTIONS}
else
- debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}"
+ debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT}
fi
# Deconfiguring debootstrap configurations
diff --git a/scripts/build/config b/scripts/build/config
index e5810b45d..9c2d90444 100755
--- a/scripts/build/config
+++ b/scripts/build/config
@@ -51,6 +51,8 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
\t [--debian-installer-distribution daily|CODENAME]\n\
\t [--debian-installer-preseedfile FILE|URL]\n\
\t [--debian-installer-gui true|false]\n\
+\t [--debootstrap-options OPTIONS]\n\
+\t [--debootstrap-script SCRIPT]\n\
\t [--debug]\n\
\t [-d|--distribution CODENAME]\n\
\t [--parent-distribution CODENAME]\n\
@@ -126,7 +128,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
Local_arguments ()
{
- LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,aptitude-options:,debootstrap-options:,
+ LONG_OPTIONS="apt:,apt-ftp-proxy:,apt-http-proxy:,apt-options:,aptitude-options:,debootstrap-options:,debootstrap-script:,
apt-pipeline:,apt-recommends:,apt-secure:,apt-source-archives:,bootstrap:,cache:,cache-indices:,cache-packages:,
cache-stages:,debconf-frontend:,debconf-priority:,dump,
initramfs:,initramfs-compression:,initsystem:,fdisk:,losetup:,mode:,system:,tasksel:,
@@ -259,6 +261,11 @@ Local_arguments ()
shift 2
;;
+ --debootstrap-script)
+ DEBOOTSTRAP_SCRIPT="${2}"
+ shift 2
+ ;;
+
--cache)
LB_CACHE="${2}"
shift 2
@@ -996,6 +1003,7 @@ _QUIET="${_QUIET}"
APT_OPTIONS="${APT_OPTIONS}"
APTITUDE_OPTIONS="${APTITUDE_OPTIONS}"
DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS}"
+DEBOOTSTRAP_SCRIPT="${DEBOOTSTRAP_SCRIPT}"
GZIP_OPTIONS="${GZIP_OPTIONS}"
ISOHYBRID_OPTIONS="${ISOHYBRID_OPTIONS}"
EOF