Support --distribution-binary and --distribution-chroot
This makes it possible to build an image against a first distribution (--distribution-chroot) and have the resulting image point to another distribution (--distribution-binary). We can use this to build against a snapshot and have the result use the original distribution that was snapshotted. Closes: #888507
This commit is contained in:
parent
e7221c02f3
commit
44b9b0a650
|
@ -128,18 +128,19 @@ Set_defaults ()
|
|||
LB_DERIVATIVE="false"
|
||||
;;
|
||||
esac
|
||||
LB_DISTRIBUTION_CHROOT="${LB_DISTRIBUTION_CHROOT:-${LB_DISTRIBUTION}}"
|
||||
LB_DISTRIBUTION_BINARY="${LB_DISTRIBUTION_BINARY:-${LB_DISTRIBUTION_CHROOT}}"
|
||||
|
||||
|
||||
case "${LB_MODE}" in
|
||||
progress-linux)
|
||||
case "${LB_DISTRIBUTION}" in
|
||||
baureo|baureo-backports)
|
||||
LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-wheezy}"
|
||||
LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
|
||||
;;
|
||||
|
||||
cairon|cairon-backports)
|
||||
LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-sid}"
|
||||
LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -147,12 +148,17 @@ Set_defaults ()
|
|||
;;
|
||||
|
||||
*)
|
||||
LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION:-${LB_DISTRIBUTION}}"
|
||||
LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION}}"
|
||||
|
||||
LB_BACKPORTS="${LB_BACKPORTS:-false}"
|
||||
;;
|
||||
esac
|
||||
if [ -n "$LB_PARENT_DISTRIBUTION" ]; then
|
||||
LB_PARENT_DISTRIBUTION_CHROOT="${LB_PARENT_DISTRIBUTION_CHROOT:-${LB_PARENT_DISTRIBUTION}}"
|
||||
LB_PARENT_DISTRIBUTION_BINARY="${LB_PARENT_DISTRIBUTION_BINARY:-${LB_PARENT_DISTRIBUTION}}"
|
||||
else
|
||||
LB_PARENT_DISTRIBUTION_CHROOT="${LB_PARENT_DISTRIBUTION_CHROOT:-${LB_DISTRIBUTION_CHROOT}}"
|
||||
LB_PARENT_DISTRIBUTION_BINARY="${LB_PARENT_DISTRIBUTION_BINARY:-${LB_DISTRIBUTION_BINARY}}"
|
||||
fi
|
||||
LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION:-${LB_PARENT_DISTRIBUTION_CHROOT}}"
|
||||
|
||||
# Setting package manager
|
||||
LB_APT="${LB_APT:-apt}"
|
||||
|
@ -487,7 +493,7 @@ Set_defaults ()
|
|||
LB_LINUX_PACKAGES="${LB_LINUX_PACKAGES:-linux-image}"
|
||||
|
||||
# Setting security updates option
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_BINARY}" in
|
||||
sid)
|
||||
LB_SECURITY="${LB_SECURITY:-false}"
|
||||
;;
|
||||
|
@ -498,7 +504,7 @@ Set_defaults ()
|
|||
esac
|
||||
|
||||
# Setting updates updates option
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_BINARY}" in
|
||||
sid)
|
||||
LB_UPDATES="${LB_UPDATES:-false}"
|
||||
;;
|
||||
|
|
|
@ -193,7 +193,7 @@ Echo_file ()
|
|||
|
||||
Echo_breakage ()
|
||||
{
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_BINARY}" in
|
||||
sid)
|
||||
Echo_message "If the following stage fails, the most likely cause of the problem is with your mirror configuration, a caching proxy or the sid distribution."
|
||||
;;
|
||||
|
|
|
@ -97,6 +97,10 @@
|
|||
[\fB\-\-debug\fR]
|
||||
.br
|
||||
[\-d|\fB\-\-distribution\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-distribution\-chroot\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-distribution\-binary\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-dump\fR]
|
||||
.br
|
||||
|
@ -195,6 +199,10 @@
|
|||
[\fB\-\-parent\-debian\-installer\-distribution\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-parent\-distribution\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-parent\-distribution\-chroot\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-parent\-distribution\-binary\fR \fICODENAME\fR]
|
||||
.br
|
||||
[\fB\-\-parent\-mirror\-binary\fR \fIURL\fR]
|
||||
.br
|
||||
|
@ -335,6 +343,10 @@ tells debootstrap to use an alternate bootstrap script (last parameter to deboot
|
|||
turns on debugging informational messages.
|
||||
.IP "\-d|\fB\-\-distribution\fR \fICODENAME\fR" 4
|
||||
defines the distribution of the resulting live system.
|
||||
.IP "\fB\-\-distribution\-binary\fR \fICODENAME\fR" 4
|
||||
defines the distribution enabled in the resulting live system (defaults to the value set in \fB\-\-distribution\fR)
|
||||
.IP "\fB\-\-distribution\-chroot\fR \fICODENAME\fR" 4
|
||||
defines the distribution used to build the live system (defaults to the value set in \fB\-\-distribution\fR)
|
||||
.IP "\fB\-\-dump\fR" 4
|
||||
prepares a report of the currently present live system configuration and the version of live\-build used. This is useful to provide if you submit bug reports, we do get all information required for us to locate and replicate an error.
|
||||
.IP "\fB\-\-fdisk\fR fdisk|fdisk.dist" 4
|
||||
|
@ -440,6 +452,10 @@ defines the archive areas for derivatives of the resulting live system.
|
|||
defines the parent debian\-installer distribution for derivatives of the resulting live system.
|
||||
.IP "\fB\-\-parent\-distribution\fR \fICODENAME\fR" 4
|
||||
defines the parent distribution for derivatives of the resulting live system.
|
||||
.IP "\fB\-\-parent\-distribution\-binary\fR \fICODENAME\fR" 4
|
||||
defines the derivative's parent distribution enabled in the resulting live system.
|
||||
.IP "\fB\-\-parent\-distribution\-chroot\fR \fICODENAME\fR" 4
|
||||
defines the derivative's parent distribution used to build the live system.
|
||||
.IP "\fB\-\-parent\-mirror\-binary\fR \fIURL\fR" 4
|
||||
sets the location of the debian package mirror that should end up configured in the final image and which is the one a user would see and use. This has not necessarily to be the same that is used to build the image, e.g. if you use a local mirror but want to have an official mirror in the image. This defaults to the value of \-\-mirror\-binary.
|
||||
.IP "\fB\-\-parent\-mirror\-binary\-security\fR \fIURL\fR" 4
|
||||
|
|
|
@ -49,8 +49,8 @@ Create_lockfile .lock
|
|||
mkdir -p binary/.disk
|
||||
|
||||
ARCHITECTURE="$(echo ${LB_ARCHITECTURES} | sed -e 's| |/|g')"
|
||||
DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')"
|
||||
DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION} | cut -b 2-)"
|
||||
DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 1 | tr '[a-z]' '[A-Z]')"
|
||||
DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 2-)"
|
||||
|
||||
if [ -e chroot/etc/os-release ]
|
||||
then
|
||||
|
@ -111,7 +111,7 @@ case "${LB_DEBIAN_INSTALLER}" in
|
|||
do
|
||||
if [ -e "${LOCATION}" ]
|
||||
then
|
||||
cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_udeb_include" binary/.disk/udeb_include
|
||||
cp "${LOCATION}/${LB_PARENT_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES}_udeb_include" binary/.disk/udeb_include
|
||||
|
||||
continue
|
||||
fi
|
||||
|
@ -136,7 +136,7 @@ case "${LB_DEBIAN_INSTALLER}" in
|
|||
do
|
||||
if [ -e "${LOCATION}" ]
|
||||
then
|
||||
cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_netinst_udeb_include" binary/.disk/udeb_include
|
||||
cp "${LOCATION}/${LB_PARENT_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES}_netinst_udeb_include" binary/.disk/udeb_include
|
||||
|
||||
continue
|
||||
fi
|
||||
|
@ -159,7 +159,7 @@ case "${LB_DEBIAN_INSTALLER}" in
|
|||
do
|
||||
if [ -e "${LOCATION}" ]
|
||||
then
|
||||
cp "${LOCATION}/${LB_PARENT_DISTRIBUTION}/${LB_ARCHITECTURES}_businesscard_udeb_include" binary/.disk/udeb_include
|
||||
cp "${LOCATION}/${LB_PARENT_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES}_businesscard_udeb_include" binary/.disk/udeb_include
|
||||
|
||||
continue
|
||||
fi
|
||||
|
|
|
@ -157,8 +157,8 @@ do
|
|||
grub-efi)
|
||||
if [ -e binary/boot/grub/efi.img ]
|
||||
then
|
||||
XORRISO_OPTIONS="${XORRISO_OPTIONS} -e boot/grub/efi.img -no-emul-boot"
|
||||
XORRISO_OPTIONS="${XORRISO_OPTIONS} -isohybrid-gpt-basdat -isohybrid-apm-hfsplus"
|
||||
XORRISO_OPTIONS="${XORRISO_OPTIONS} --efi-boot boot/grub/efi.img"
|
||||
XORRISO_OPTIONS="${XORRISO_OPTIONS} -append_partition 2 0x01 binary/boot/grub/efi.img"
|
||||
else
|
||||
Echo "No EFI boot code to include in the ISO"
|
||||
fi
|
||||
|
|
|
@ -139,9 +139,9 @@ then
|
|||
|
||||
SECTION="$(basename ${SECTION})"
|
||||
|
||||
mkdir -p ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}
|
||||
apt-ftparchive packages ${POOL}/${SECTION} > ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages
|
||||
gzip -9 -c ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages > ${DISTS}/${LB_PARENT_DISTRIBUTION}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages.gz
|
||||
mkdir -p ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}
|
||||
apt-ftparchive packages ${POOL}/${SECTION} > ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages
|
||||
gzip -9 -c ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages > ${DISTS}/${LB_PARENT_DISTRIBUTION_BINARY}/${SECTION}/binary-${LB_ARCHITECTURES}/Packages.gz
|
||||
done
|
||||
|
||||
cd "${OLDPWD}"
|
||||
|
|
|
@ -204,7 +204,7 @@ fi
|
|||
|
||||
_VERSION="${_VERSION:-none}"
|
||||
|
||||
_DISTRIBUTION="${LB_DISTRIBUTION}"
|
||||
_DISTRIBUTION="${LB_DISTRIBUTION_BINARY}"
|
||||
_ARCHITECTURE="${LB_ARCHITECTURES}"
|
||||
|
||||
_DATE=$(date -R)
|
||||
|
@ -242,7 +242,7 @@ do
|
|||
-e "s#@APPEND_INSTALL_FAILSAFE@#${LB_BOOTAPPEND_INSTALL_FAILSAFE}#g" \
|
||||
-e "s|@PROJECT@|${_PROJECT}|g" \
|
||||
-e "s|@DISTRIBUTION@|${_DISTRIBUTION}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_BINARY}|g" \
|
||||
-e "s|@VERSION@|${_VERSION}|g" \
|
||||
-e "s|@ARCHITECTURE@|${_ARCHITECTURE}|g" \
|
||||
-e "s|@DATE@|${_DATE}|g" \
|
||||
|
|
|
@ -65,19 +65,19 @@ then
|
|||
fi
|
||||
|
||||
cat > chroot/etc/apt/${_PARENT_FILE} << EOF
|
||||
deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}
|
||||
deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS}
|
||||
EOF
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
|
||||
if [ "${LB_DERIVATIVE}" = "true" ]
|
||||
then
|
||||
rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list
|
||||
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')"
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION_CHROOT} | sed -e 's|-backports||')"
|
||||
|
||||
echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list
|
||||
|
||||
|
@ -91,17 +91,17 @@ if [ "${LB_SECURITY}" = "true" ]
|
|||
then
|
||||
case "${LB_MODE}" in
|
||||
debian|progress-linux)
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_CHROOT}" in
|
||||
sid)
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
@ -131,11 +131,11 @@ fi
|
|||
|
||||
if [ "${LB_UPDATES}" = "true" ]
|
||||
then
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
|
||||
if [ "${LB_DERIVATIVE}" = "true" ]
|
||||
|
@ -153,13 +153,13 @@ if [ "${LB_BACKPORTS}" = "true" ]
|
|||
then
|
||||
case "${LB_MODE}" in
|
||||
debian)
|
||||
if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ]
|
||||
if [ "${LB_PARENT_DISTRIBUTION_CHROOT}" != "sid" ]
|
||||
then
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
@ -181,8 +181,8 @@ for FILE in config/archives/*.list config/archives/*.list.chroot
|
|||
do
|
||||
if [ -e "${FILE}" ]
|
||||
then
|
||||
sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
|
||||
sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION_CHROOT}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_CHROOT}|g" \
|
||||
-e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \
|
||||
-e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
|
||||
"${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)"
|
||||
|
|
|
@ -62,6 +62,7 @@ if [ "${LB_ARCHIVE_AREAS}" != "main" ]
|
|||
then
|
||||
# Modify archive areas to remove leading/trailing whitespaces and replace other whitepspace with commas
|
||||
DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')"
|
||||
FOREIGN_DEBOOTSTRAP_OPTIONS="--components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')"
|
||||
fi
|
||||
|
||||
if [ "${_VERBOSE}" = "true" ]
|
||||
|
@ -87,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_SCRIPT}
|
||||
debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION_CHROOT}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT}
|
||||
|
||||
# Removing old cache
|
||||
rm -f cache/packages.bootstrap/*.deb
|
||||
|
@ -107,10 +108,14 @@ then
|
|||
DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_QEMU_EXCLUDE} | sed 's| *|,|g')"
|
||||
fi
|
||||
|
||||
Echo_message "Running debootstrap with qemu-debootstrap"
|
||||
qemu-debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT}
|
||||
Echo_message "Bootstrap will be foreign"
|
||||
debootstrap ${DEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION_CHROOT}" 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_SCRIPT}
|
||||
debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION_CHROOT}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}" ${DEBOOTSTRAP_SCRIPT}
|
||||
fi
|
||||
|
||||
# Deconfiguring debootstrap configurations
|
||||
|
|
|
@ -66,7 +66,7 @@ Set_defaults
|
|||
Check_defaults
|
||||
|
||||
Echo_message "live-build ${LIVE_BUILD_VERSION}"
|
||||
Echo_message "Building config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system"
|
||||
Echo_message "Building config tree for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system"
|
||||
|
||||
# Bootstrapping system
|
||||
lb bootstrap ${@}
|
||||
|
|
|
@ -152,7 +152,7 @@ case "${1}" in
|
|||
progress-linux)
|
||||
if [ ! -e chroot/etc/apt/preferences.d/progress-linux.pref ]
|
||||
then
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')"
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | sed -e 's|-backports||')"
|
||||
|
||||
_ENABLE_DISTRIBUTIONS="${_DISTRIBUTION}"
|
||||
_DISABLE_DISTRIBUTIONS=""
|
||||
|
@ -167,7 +167,7 @@ case "${1}" in
|
|||
_ENABLE_DISTRIBUTIONS="${_ENABLE_DISTRIBUTIONS} ${_DISTRIBUTION}-updates"
|
||||
fi
|
||||
|
||||
case "${LB_DISTRIBUTION}" in
|
||||
case "${LB_DISTRIBUTION_BINARY}" in
|
||||
*-backports)
|
||||
if [ "${LB_BACKPORTS}" = "true" ]
|
||||
then
|
||||
|
|
|
@ -64,19 +64,19 @@ then
|
|||
fi
|
||||
|
||||
cat > chroot/etc/apt/${_PARENT_FILE} << EOF
|
||||
deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}
|
||||
deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS}
|
||||
EOF
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
|
||||
if [ "${LB_DERIVATIVE}" = "true" ]
|
||||
then
|
||||
rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list
|
||||
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')"
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION_CHROOT} | sed -e 's|-backports||')"
|
||||
|
||||
echo "deb ${LB_MIRROR_CHROOT} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list
|
||||
|
||||
|
@ -90,17 +90,17 @@ EOF
|
|||
then
|
||||
case "${LB_MODE}" in
|
||||
debian|progress-linux)
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_CHROOT}" in
|
||||
sid)
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT_SECURITY} ${LB_PARENT_DISTRIBUTION_CHROOT}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
@ -130,11 +130,11 @@ EOF
|
|||
|
||||
if [ "${LB_UPDATES}" = "true" ]
|
||||
then
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
|
||||
if [ "${LB_DERIVATIVE}" = "true" ]
|
||||
|
@ -152,13 +152,13 @@ EOF
|
|||
then
|
||||
case "${LB_MODE}" in
|
||||
debian)
|
||||
if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ]
|
||||
if [ "${LB_PARENT_DISTRIBUTION_CHROOT}" != "sid" ]
|
||||
then
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_CHROOT} ${LB_PARENT_DISTRIBUTION_CHROOT}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
@ -180,8 +180,8 @@ EOF
|
|||
do
|
||||
if [ -e "${FILE}" ]
|
||||
then
|
||||
sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
|
||||
sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION_CHROOT}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_CHROOT}|g" \
|
||||
-e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \
|
||||
-e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
|
||||
"${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .chroot)"
|
||||
|
@ -460,19 +460,19 @@ EOF
|
|||
# Configure custom sources.list
|
||||
|
||||
cat > chroot/etc/apt/${_PARENT_FILE} << EOF
|
||||
deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}
|
||||
deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY} ${LB_PARENT_ARCHIVE_AREAS}
|
||||
EOF
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY} ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
|
||||
if [ "${LB_DERIVATIVE}" = "true" ]
|
||||
then
|
||||
rm -f chroot/etc/apt/sources.list.d/${LB_MODE}.list
|
||||
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | sed -e 's|-backports||')"
|
||||
_DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | sed -e 's|-backports||')"
|
||||
|
||||
echo "deb ${LB_MIRROR_BINARY} ${_DISTRIBUTION} ${LB_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list.d/${LB_MODE}.list
|
||||
|
||||
|
@ -486,17 +486,17 @@ EOF
|
|||
then
|
||||
case "${LB_MODE}" in
|
||||
debian|progress-linux)
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_BINARY}" in
|
||||
sid)
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "deb ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION_BINARY}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY_SECURITY} ${LB_PARENT_DISTRIBUTION_BINARY}/updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
@ -526,11 +526,11 @@ EOF
|
|||
|
||||
if [ "${LB_UPDATES}" = "true" ]
|
||||
then
|
||||
echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-updates ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
|
||||
if [ "${LB_DERIVATIVE}" = "true" ]
|
||||
|
@ -548,13 +548,13 @@ EOF
|
|||
then
|
||||
case "${LB_MODE}" in
|
||||
debian)
|
||||
if [ "${LB_PARENT_DISTRIBUTION}" != "sid" ]
|
||||
if [ "${LB_PARENT_DISTRIBUTION_BINARY}" != "sid" ]
|
||||
then
|
||||
echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
|
||||
if [ "${_PASS}" = "source" ] || [ "${LB_APT_SOURCE_ARCHIVES}" = "true" ]
|
||||
then
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
echo "deb-src ${LB_PARENT_MIRROR_BINARY} ${LB_PARENT_DISTRIBUTION_BINARY}-backports ${LB_PARENT_ARCHIVE_AREAS}" >> chroot/etc/apt/${_PARENT_FILE}
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
|
@ -603,8 +603,8 @@ EOF
|
|||
do
|
||||
if [ -e "${FILE}" ]
|
||||
then
|
||||
sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION}|g" \
|
||||
sed -e "s|@DISTRIBUTION@|${LB_DISTRIBUTION_BINARY}|g" \
|
||||
-e "s|@PARENT_DISTRIBUTION@|${LB_PARENT_DISTRIBUTION_BINARY}|g" \
|
||||
-e "s|@ARCHIVE_AREAS@|${LB_ARCHIVE_AREAS}|g" \
|
||||
-e "s|@PARENT_ARCHIVE_AREAS@|${LB_PARENT_ARCHIVE_AREAS}|g" \
|
||||
"${FILE}" > "chroot/etc/apt/sources.list.d/$(basename ${FILE} .binary)"
|
||||
|
|
|
@ -59,15 +59,15 @@ mkdir -p cache/contents.chroot
|
|||
|
||||
FIRMWARE_PACKAGES=""
|
||||
|
||||
_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION_CHROOT}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
|
||||
rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
for _CONTENT in ${_CONTENTS}
|
||||
do
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)"
|
||||
done
|
||||
|
||||
if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
|
||||
|
@ -91,15 +91,15 @@ if [ "${LB_DERIVATIVE}" = "true" ]
|
|||
then
|
||||
# FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents).
|
||||
|
||||
_CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
_CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION_CHROOT}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
|
||||
rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
for _CONTENT in ${_CONTENTS}
|
||||
do
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)"
|
||||
done
|
||||
fi
|
||||
|
||||
|
|
|
@ -61,6 +61,8 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
|
|||
\t [--debootstrap-script SCRIPT]\n\
|
||||
\t [--debug]\n\
|
||||
\t [-d|--distribution CODENAME]\n\
|
||||
\t [--distribution-binary CODENAME]\n\
|
||||
\t [--distribution-chroot CODENAME]\n\
|
||||
\t [--dump]\n\
|
||||
\t [--fdisk fdisk|fdisk.dist]\n\
|
||||
\t [--firmware-binary true|false]\n\
|
||||
|
@ -110,6 +112,8 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
|
|||
\t [--parent-archive-areas ARCHIVE_AREA|\"ARCHIVE_AREAS\"]\n\
|
||||
\t [--parent-debian-installer-distribution CODENAME]\n\
|
||||
\t [--parent-distribution CODENAME]\n\
|
||||
\t [--parent-distribution-binary CODENAME]\n\
|
||||
\t [--parent-distribution-chroot CODENAME]\n\
|
||||
\t [--parent-mirror-binary URL]\n\
|
||||
\t [--parent-mirror-binary-security URL]\n\
|
||||
\t [-m|--parent-mirror-bootstrap URL]\n\
|
||||
|
@ -138,7 +142,10 @@ Local_arguments ()
|
|||
cache-stages:,debconf-frontend:,debconf-priority:,dump,
|
||||
initramfs:,initramfs-compression:,initsystem:,fdisk:,losetup:,mode:,system:,tasksel:,
|
||||
architectures:,clean,
|
||||
distribution:,parent-distribution:,parent-debian-installer-distribution:,parent-mirror-bootstrap:,parent-mirror-chroot:,parent-mirror-chroot-security:,parent-mirror-binary:,
|
||||
distribution:,parent-distribution:,parent-debian-installer-distribution:,
|
||||
distribution-chroot:,parent-distribution-chroot:,
|
||||
distribution-binary:,parent-distribution-binary:,
|
||||
parent-mirror-bootstrap:,parent-mirror-chroot:,parent-mirror-chroot-security:,parent-mirror-binary:,
|
||||
parent-mirror-binary-security:,parent-mirror-debian-installer:,
|
||||
mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-binary:,
|
||||
mirror-binary-security:,mirror-debian-installer:,
|
||||
|
@ -358,6 +365,26 @@ Local_arguments ()
|
|||
shift 2
|
||||
;;
|
||||
|
||||
--distribution-chroot)
|
||||
LB_DISTRIBUTION_CHROOT="${2}"
|
||||
shift 2
|
||||
;;
|
||||
|
||||
--parent-distribution-chroot)
|
||||
LB_PARENT_DISTRIBUTION_CHROOT="${2}"
|
||||
shift 2
|
||||
;;
|
||||
|
||||
--distribution-binary)
|
||||
LB_DISTRIBUTION_BINARY="${2}"
|
||||
shift 2
|
||||
;;
|
||||
|
||||
--parent-distribution-binary)
|
||||
LB_PARENT_DISTRIBUTION_BINARY="${2}"
|
||||
shift 2
|
||||
;;
|
||||
|
||||
-m|--parent-mirror-bootstrap)
|
||||
LB_PARENT_MIRROR_BOOTSTRAP="${2}"
|
||||
shift 2
|
||||
|
@ -900,10 +927,10 @@ Check_defaults
|
|||
|
||||
if [ ! -e config ]
|
||||
then
|
||||
Echo_message "Creating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system"
|
||||
Echo_message "Creating config tree for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system"
|
||||
mkdir config
|
||||
else
|
||||
Echo_message "Updating config tree for a ${LB_MODE}/${LB_DISTRIBUTION}/${LB_ARCHITECTURES} system"
|
||||
Echo_message "Updating config tree for a ${LB_MODE}/${LB_DISTRIBUTION_BINARY}/${LB_ARCHITECTURES} system"
|
||||
fi
|
||||
|
||||
# Creating live-build configuration
|
||||
|
@ -1047,6 +1074,22 @@ LB_DISTRIBUTION="${LB_DISTRIBUTION}"
|
|||
# (Default: ${LB_PARENT_DISTRIBUTION})
|
||||
LB_PARENT_DISTRIBUTION="${LB_PARENT_DISTRIBUTION}"
|
||||
|
||||
# \$LB_DISTRIBUTION_CHROOT: select distribution to use in the chroot
|
||||
# (Default: ${LB_DISTRIBUTION_CHROOT})
|
||||
LB_DISTRIBUTION_CHROOT="${LB_DISTRIBUTION_CHROOT}"
|
||||
|
||||
# \$LB_PARENT_DISTRIBUTION_CHROOT: select parent distribution to use in the chroot
|
||||
# (Default: ${LB_PARENT_DISTRIBUTION_CHROOT})
|
||||
LB_PARENT_DISTRIBUTION_CHROOT="${LB_PARENT_DISTRIBUTION_CHROOT}"
|
||||
|
||||
# \$LB_DISTRIBUTION_BINARY: select distribution to use in the final image
|
||||
# (Default: ${LB_DISTRIBUTION_BINARY})
|
||||
LB_DISTRIBUTION_BINARY="${LB_DISTRIBUTION_BINARY}"
|
||||
|
||||
# \$LB_PARENT_DISTRIBUTION_BINARY: select parent distribution to use in the final image
|
||||
# (Default: ${LB_PARENT_DISTRIBUTION_BINARY})
|
||||
LB_PARENT_DISTRIBUTION_BINARY="${LB_PARENT_DISTRIBUTION_BINARY}"
|
||||
|
||||
# \$LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION: select parent distribution for debian-installer to use
|
||||
# (Default: ${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION})
|
||||
LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION="${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}"
|
||||
|
@ -1433,7 +1476,8 @@ cat > config/build << EOF
|
|||
[Image]
|
||||
Architecture: ${LB_ARCHITECTURES}
|
||||
Archive-Areas: ${LB_ARCHIVE_AREAS}
|
||||
Distribution: ${LB_DISTRIBUTION}
|
||||
Distribution-Chroot: ${LB_DISTRIBUTION_CHROOT}
|
||||
Distribution-Binary: ${LB_DISTRIBUTION_BINARY}
|
||||
Mirror-Bootstrap: ${LB_MIRROR_BOOTSTRAP}
|
||||
EOF
|
||||
|
||||
|
@ -1443,7 +1487,8 @@ then
|
|||
cat >> config/build << EOF
|
||||
|
||||
Parent-Archive-Areas: ${LB_ARCHIVE_AREAS}
|
||||
Parent-Distribution: ${LB_PARENT_DISTRIBUTION}
|
||||
Parent-Distribution-Chroot: ${LB_PARENT_DISTRIBUTION_CHROOT}
|
||||
Parent-Distribution-Binary: ${LB_PARENT_DISTRIBUTION_BINARY}
|
||||
Parent-Mirror-Bootstrap: ${LB_PARENT_MIRROR_BOOTSTRAP}
|
||||
EOF
|
||||
|
||||
|
|
|
@ -346,15 +346,15 @@ then
|
|||
|
||||
FIRMWARE_PACKAGES=""
|
||||
|
||||
_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION_CHROOT}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
|
||||
rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
for _CONTENT in ${_CONTENTS}
|
||||
do
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)"
|
||||
done
|
||||
|
||||
if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
|
||||
|
@ -378,15 +378,15 @@ then
|
|||
then
|
||||
# FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents).
|
||||
|
||||
_CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
_CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION_CHROOT}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
|
||||
|
||||
rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
for _CONTENT in ${_CONTENTS}
|
||||
do
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
|
||||
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES}
|
||||
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
|
||||
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION_CHROOT}.${LB_ARCHITECTURES} | sort -u)"
|
||||
done
|
||||
fi
|
||||
|
||||
|
@ -666,13 +666,13 @@ then
|
|||
_LB_APT_VERSION_OPT='-o APT::FTPArchive::Release::Version="'"${_VERSION}"'"'
|
||||
fi
|
||||
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
case "${LB_PARENT_DISTRIBUTION_BINARY}" in
|
||||
sid)
|
||||
_SUITE="unstable"
|
||||
;;
|
||||
|
||||
*)
|
||||
_SUITE="${LB_PARENT_DISTRIBUTION}"
|
||||
_SUITE="${LB_PARENT_DISTRIBUTION_BINARY}"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -682,7 +682,7 @@ cd /root/binary && apt-ftparchive \
|
|||
-o APT::FTPArchive::Release::Label="Debian" \
|
||||
-o APT::FTPArchive::Release::Suite="${_SUITE}" \
|
||||
${_LB_APT_VERSION_OPT} \
|
||||
-o APT::FTPArchive::Release::Codename="${LB_PARENT_DISTRIBUTION}" \
|
||||
-o APT::FTPArchive::Release::Codename="${LB_PARENT_DISTRIBUTION_BINARY}" \
|
||||
-o APT::FTPArchive::Release::Date="$(date -R)" \
|
||||
-o APT::FTPArchive::Release::Architectures="${LB_ARCHITECTURES}" \
|
||||
-o APT::FTPArchive::Release::Components="${LB_PARENT_ARCHIVE_AREAS}" \
|
||||
|
@ -694,19 +694,11 @@ EOF
|
|||
rm -f chroot/binary.sh
|
||||
mv chroot/root/binary ./
|
||||
|
||||
case "${LB_PARENT_DISTRIBUTION}" in
|
||||
jessie)
|
||||
DISTRIBUTIONS="stable"
|
||||
;;
|
||||
DISTRIBUTIONS="stable testing unstable"
|
||||
|
||||
*)
|
||||
DISTRIBUTIONS="stable testing unstable"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" != "${LB_PARENT_DISTRIBUTION}" ]
|
||||
if [ "${LB_PARENT_DEBIAN_INSTALLER_DISTRIBUTION}" != "${LB_PARENT_DISTRIBUTION_BINARY}" ]
|
||||
then
|
||||
DISTRIBUTIONS="${DISTRIBUTIONS} ${LB_PARENT_DISTRIBUTION}"
|
||||
DISTRIBUTIONS="${DISTRIBUTIONS} ${LB_PARENT_DISTRIBUTION_BINARY}"
|
||||
fi
|
||||
|
||||
case "${LIVE_IMAGE_TYPE}" in
|
||||
|
|
|
@ -117,19 +117,19 @@ fi
|
|||
# where available. workaround: disable backports
|
||||
case "${LB_MODE}" in
|
||||
progress-linux)
|
||||
case "${LB_DISTRIBUTION}" in
|
||||
case "${LB_DISTRIBUTION_BINARY}" in
|
||||
*-backports)
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
if grep -qs "${LB_DISTRIBUTION}-backports" chroot/etc/apt/sources.list.d/progress-linux.list
|
||||
if grep -qs "${LB_DISTRIBUTION_BINARY}-backports" chroot/etc/apt/sources.list.d/progress-linux.list
|
||||
then
|
||||
cp chroot/etc/apt/sources.list.d/progress-linux.list chroot/etc/apt/sources.list.d/progress-linux.list.orig
|
||||
|
||||
while read _LINE
|
||||
do
|
||||
if echo "${_LINE}" | grep -qs ${LB_DISTRIBUTION}-backports
|
||||
if echo "${_LINE}" | grep -qs ${LB_DISTRIBUTION_BINARY}-backports
|
||||
then
|
||||
sed -i -e "s|${_LINE}|#${_LINE}|" chroot/etc/apt/sources.list.d/progress-linux.list
|
||||
fi
|
||||
|
|
|
@ -49,8 +49,8 @@ Create_lockfile .lock
|
|||
|
||||
mkdir -p source/.disk
|
||||
|
||||
DISTRIBUTION="$(echo ${LB_DISTRIBUTION} | cut -b 1 | tr '[a-z]' '[A-Z]')"
|
||||
DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION} | cut -b 2-)"
|
||||
DISTRIBUTION="$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 1 | tr '[a-z]' '[A-Z]')"
|
||||
DISTRIBUTION="${DISTRIBUTION}$(echo ${LB_DISTRIBUTION_BINARY} | cut -b 2-)"
|
||||
|
||||
if [ -e chroot/etc/os-release ]
|
||||
then
|
||||
|
|
Loading…
Reference in New Issue