diff options
Diffstat (limited to 'helpers/binary_debian-installer')
| -rwxr-xr-x | helpers/binary_debian-installer | 680 | 
1 files changed, 680 insertions, 0 deletions
diff --git a/helpers/binary_debian-installer b/helpers/binary_debian-installer new file mode 100755 index 000000000..cb1af389c --- /dev/null +++ b/helpers/binary_debian-installer @@ -0,0 +1,680 @@ +#!/bin/sh + +# lh_binary_debian-installer(1) - install debian-installer into binary +# Copyright (C) 2006-2009 Daniel Baumann <daniel@debian.org> +# +# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +# This is free software, and you are welcome to redistribute it +# under certain conditions; see COPYING for details. + +set -e + +# Including common functions +. "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh + +# Setting static variables +DESCRIPTION="$(Echo 'install debian-installer into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source +Set_defaults + +if [ "${LH_BINARY_IMAGES}" = "virtual-hdd" ] +then +	exit 0 +fi + +if [ "${_DEBUG}" = "true" ] +then +	WGET_OPTIONS="${WGET_OPTIONS} --verbose" +elif [ "${_QUIET}" = "true" ] +then +	WGET_OPTIONS="${WGET_OPTIONS} --quiet" +else +	WGET_OPTIONS="${WGET_OPTIONS} --no-verbose" +fi + +# Check d-i configuration +case "${LH_DEBIAN_INSTALLER}" in +	true|cdrom|netinst|netboot|businesscard|live) +		;; + +	false) +		exit 0 +		;; + +	*) +		Echo_error "debian-installer flavour %s not supported." "${LH_DEBIAN_INSTALLER}" +		exit 1 +		;; +esac + +Echo_message "Begin installing debian-installer..." + +# Requiring stage file +Require_stagefile .stage/config .stage/bootstrap + +# Checking stage file +Check_stagefile .stage/binary_debian-installer + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package chroot/usr/bin/wget wget +Check_package chroot/usr/bin/apt-ftparchive apt-utils + +# Restoring cache +Restore_cache cache/packages_binary + +# Installing depends +Install_package + +# Setting destination directory +case "${LH_BINARY_IMAGES}" in +	net) +		DESTDIR="tftpboot/debian-install/${LH_ARCHITECTURE}" +		;; + +	tar|usb-hdd) +		DESTDIR="binary/install" +		;; + +	*) +		DESTDIR="binary/install" +		;; +esac + +# Set d-i image type +case "${LH_DEBIAN_INSTALLER}" in +	businesscard|netboot|netinst) +		DI_IMAGE_TYPE="netboot" +		;; +	*) +		case "${LH_BINARY_IMAGES}" in +			net) +				DI_IMAGE_TYPE="netboot" +				;; + +			*) +				DI_IMAGE_TYPE="cdrom" +				;; +		esac +		;; +esac + +# Set architecture-specific variables +case "${LH_ARCHITECTURE}" in +	powerpc) +		case "${DI_IMAGE_TYPE}" in +			cdrom) +				DI_REMOTE_BASE="${LH_ARCHITECTURE}/cdrom" +			;; + +			netboot) +				DI_REMOTE_BASE="${LH_ARCHITECTURE}/netboot" +				;; +		esac + +		DI_REMOTE_KERNEL="vmlinux" +		DI_REMOTE_BASE_GTK="${DI_REMOTE_BASE}/gtk" +		;; + +	sparc) +		DEFAULT_FLAVOUR="$(echo ${LH_LINUX_FLAVOURS} | awk '{ print $1 }')" +		DI_REMOTE_KERNEL="$(basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR})" +		DI_REMOTE_BASE_GTK="none" + +		DI_REMOTE_BASE="cdrom" +		;; +	*) +		case "${DI_IMAGE_TYPE}" in +			netboot) +				DI_REMOTE_BASE="netboot/debian-installer/${LH_ARCHITECTURE}" +				DI_REMOTE_BASE_GTK="netboot/gtk/debian-installer/${LH_ARCHITECTURE}" +				DI_REMOTE_KERNEL="linux" +				;; + +			cdrom) +				DI_REMOTE_BASE="cdrom" +				DI_REMOTE_BASE_GTK="cdrom/gtk" +				DI_REMOTE_KERNEL="vmlinuz" +				;; +		esac +		;; +esac + +Check_multiarchitecture + +Install_file() { +	local FILE +	FILE="${1}" + +	local TARGET +	TARGET="${2}" + +	SOURCE="$(dpkg -f ${FILE} Source | awk '{ print $1 }')" + +	if [ -z "${SOURCE}" ] +	then +		SOURCE="$(basename ${FILE} | awk -F_ '{ print $1 }')" +	fi + +	case "${SOURCE}" in +		lib?*) +			LETTER="$(echo ${SOURCE} | sed 's|\(....\).*|\1|')" +			;; + +		*) +			LETTER="$(echo ${SOURCE} | sed 's|\(.\).*|\1|')" +			;; +	esac + +	# Install directory +	mkdir -p "${TARGET}"/"${LETTER}"/"${SOURCE}" + +	# Move files +	cp "${FILE}" "${TARGET}"/"${LETTER}"/"${SOURCE}" +} + +# Set absolute directory for caching; we require it when we call Download_file +# from a non-standard cwd. +_LH_CACHE_DIR="$(pwd)/cache/binary_debian-installer" + +Download_file () { +	local _LH_TARGET +	_LH_TARGET="${1}" + +	local _LH_URL +	_LH_URL="${2}" + +	_LH_CACHE_FILE="${_LH_CACHE_DIR}/$(echo "${_LH_URL}" | sed 's|/|_|g')" + +	if [ ! -f "${_LH_CACHE_FILE}" ] +	then +		mkdir -p ${_LH_CACHE_DIR} +		if ! wget ${WGET_OPTIONS} -O "${_LH_CACHE_FILE}" "${_LH_URL}" +		then +			rm -f "${_LH_CACHE_FILE}" + +			Echo_error "Could not download file: %s" "${_LH_URL}" +			exit 1 +		fi +	fi + +	if [ "$(stat --printf %d "${_LH_CACHE_DIR}")" = "$(stat --printf %d ./)" ] +	then +		CP_OPTIONS="-l" +	fi + +	cp -f ${CP_OPTIONS} -- "${_LH_CACHE_FILE}" "${_LH_TARGET}" +} + +VMLINUZ_DI="vmlinuz" +INITRD_DI="initrd.gz" +DESTDIR_DI="${DESTDIR}" + +VMLINUZ_GI="gtk/vmlinuz" +INITRD_GI="gtk/initrd.gz" +DESTDIR_GI="${DESTDIR}/gtk" + +if [ "${LH_DEBIAN_INSTALLER_DISTRIBUTION}" = "daily" ] +then +	LH_DEBIAN_INSTALLER_DISTRIBUTION="sid" + +	# Debian Installer daily builds +	case "${LH_ARCHITECTURE}" in +		alpha|amd64|hppa|ia64|mips|mipsel|powerpc) +			URL="http://d-i.debian.org/daily-images/${LH_ARCHITECTURE}/daily/" +			;; + +		arm|armel) +			URL="http://people.debian.org/~kmuto/d-i/images/daily/" +			;; + +		i386) +			URL="http://people.debian.org/~joeyh/d-i/images/daily/" +			;; + +		m68k) +			URL="http://people.debian.org/~smarenka/d-i/images-m68k/daily/" +			;; + +		s390) +			URL="http://lophos.multibuild.org/d-i/images/daily/" +			;; + +		sparc) +			URL="http://people.debian.org/~stappers/d-i/images/daily/" +			;; + +		*) +			Echo_error "No daily-builds found for your architecture." +			exit 1 +			;; +	esac +else +	URL="${LH_MIRROR_CHROOT}/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LH_ARCHITECTURE}/current/images/" +fi + +mkdir -p "${DESTDIR_DI}" + +if [ "${LH_ARCHITECTURE}" = "sparc" ] && [ "${DI_IMAGE_TYPE}" = "netboot" ] +then +	# There are no prepared kernel/initrd pairs for sparc netboot so we +	# must unpack them from a mini.iso +	Download_file mini.iso ${URL}/mini.iso + +	mkdir mini.tmp +	${LH_ROOT_COMMAND} mount -o loop -t iso9660 mini.iso mini.tmp + +	cp mini.tmp/boot/vmlinuz-${DEFAULT_FLAVOUR} "${DESTDIR}"/"${VMLINUZ_DI}" +	cp mini.tmp/boot/initrd.gz "${DESTDIR}"/"${INITRD_DI}" + +	${LH_ROOT_COMMAND} umount mini.tmp +	rm -rf mini.tmp mini.iso +else +	# Downloading debian-installer +	Download_file "${DESTDIR}"/"${VMLINUZ_DI}" ${URL}/${DI_REMOTE_BASE}/${DI_REMOTE_KERNEL} +	Download_file "${DESTDIR}"/"${INITRD_DI}" ${URL}/${DI_REMOTE_BASE}/initrd.gz + +	# Downloading graphical-installer +	DOWNLOAD_GTK_INSTALLER=0 +	if [ "${LH_DEBIAN_INSTALLER_GUI}" = "true" ] +	then +		case "${LH_ARCHITECTURE}" in +			amd64|i386) +				DOWNLOAD_GTK_INSTALLER=1 +				;; + +			powerpc) +				if [ "${LH_DEBIAN_INSTALLER}" = "netboot" ] +				then +					DOWNLOAD_GTK_INSTALLER=1 +				fi +				;; +		esac +	fi + +	if [ ${DOWNLOAD_GTK_INSTALLER} -eq 1 ] +	then +		mkdir -p "${DESTDIR_GI}" +		Download_file "${DESTDIR}"/"${VMLINUZ_GI}" ${URL}/${DI_REMOTE_BASE_GTK}/${DI_REMOTE_KERNEL} +		Download_file "${DESTDIR}"/"${INITRD_GI}" ${URL}/${DI_REMOTE_BASE_GTK}/initrd.gz +	fi +fi + +# Only download additional packages if appropriate +if [ "${DI_IMAGE_TYPE}" != "netboot" ] +then +	# Downloading additional packages +	mkdir -p chroot/binary.deb/archives/partial +	mkdir -p binary/pool/main +	mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp +	touch chroot/var/lib/dpkg/status + +	case "${LH_ARCHITECTURE}" in +		amd64) +			DI_REQ_PACKAGES="lilo grub" + +			case "${LH_MODE}" in +				ubuntu) +					DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-2.6-generic" +					;; + +				*) +					DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-2.6-amd64" +					;; +			esac +			;; + +		i386) +			DI_REQ_PACKAGES="elilo lilo grub" + +			case "${LH_MODE}" in +				ubuntu) +					DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-2.6-generic" +					;; + +				*) +					DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-2.6-486 linux-image-2.6-686" +					;; +			esac +			;; + +		sparc) +			DI_REQ_PACKAGES="silo" +			DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-2.6-sparc64 linux-image-2.6-sparc64-smp" +			;; + +		powerpc) +			DI_REQ_PACKAGES="yaboot" +			DI_PACKAGES="${DI_REQ_PACKAGES} linux-image-2.6-powerpc linux-image-2.6-powerpc64 linux-image-2.6-powerpc-smp" +			;; +	esac + +	DI_PACKAGES="${DI_PACKAGES} busybox cryptsetup lvm2" + +	# Set apt command prefix +	_LH_APT_COMMAND="apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb -o APT::Install-Recommends=false --download-only" + +	if [ "${LH_DEBIAN_INSTALLER}" = "live" ] +	then +		# We don't want to duplicate .debs of packages in binary/pool that are already +		# installed to target/ via live-installer. +		# +		# However, we need to force various packages' inclusion in binary/pool/main as +		# d-i does not support (for example) re-installing grub from target/ - the grub +		# .debs must actually exist. + +		# Modify dpkg status to show the required packages are not installed. +		cp chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status +		for PACKAGE in ${DI_REQ_PACKAGES} +		do +			awk -v f=0 ' +				f == 1 { print "Status: purge ok not-installed"; f=0; next } +				/Package: '"${PACKAGE}"'/ { f=1; } +				{ print } +				' chroot/var/lib/dpkg/status > chroot/var/lib/dpkg/status.awk +			mv chroot/var/lib/dpkg/status.awk chroot/var/lib/dpkg/status +		done + +		# Download .deb's that we just marked as "purged" which caused broken dependencies +		Chroot chroot ${_LH_APT_COMMAND} -f dist-upgrade + +		# Revert dpkg status file +		mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status + +		# Download .debs of the required packages +		Chroot chroot ${_LH_APT_COMMAND} install ${DI_REQ_PACKAGES} +	else +		# Download .debs of the required packages +		Chroot chroot ${_LH_APT_COMMAND} install ${DI_PACKAGES} + +		# Revert dpkg status file +		mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status +	fi + +	mv chroot/binary.deb ./ + +	if Find_files binary.deb/archives/*.deb +	then +		for FILE in binary.deb/archives/*.deb +		do +			Install_file "${FILE}" "binary/pool/main" +		done +	fi + +	if [ "${LH_DEBIAN_INSTALLER}" != "live" ] +	then +		# Including base debian packages +		if [ -d cache/packages_bootstrap ] +		then +			for FILE in cache/packages_bootstrap/*.deb +			do +				Install_file "${FILE}" "binary/pool/main" +			done +		else +			Echo_error "Could not find cache/packages_bootstrap." +			Echo_error "You selected values of LH_CACHE, LH_CACHE_PACKAGES, LH_CACHE_STAGES and LH_DEBIAN_INSTALLER which will result in 'bootstrap' packages not being cached - these are required when integrating the Debian Installer." +			exit 1 +		fi +	fi + +	# Including local debs +	if Find_files config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb +	then +		for FILE in config/binary_local-debs/*_"${LH_ARCHITECTURE}".deb +		do +			Install_file "${FILE}" "binary/pool/main" +		done +	fi + +	if Find_files config/binary_local-debs/*_all.deb +	then +		for FILE in config/binary_local-debs/*_all.deb +		do +			Install_file "${FILE}" "binary/pool/main" +		done +	fi + +	# Generating deb indices +	mkdir -p binary/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE} + +	mv binary chroot/root +	echo "cd /root/binary && apt-ftparchive packages pool/main > dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages" > chroot/binary.sh +	Chroot chroot "sh binary.sh" +	rm -f chroot/binary.sh +	mv chroot/root/binary ./ + +	gzip -9 -c binary/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages > binary/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Packages.gz + +	# Fetching release +	Download_file binary/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LH_ARCHITECTURE}/Release "${LH_MIRROR_CHROOT}"/dists/"${LH_DEBIAN_INSTALLER_DISTRIBUTION}"/main/binary-"${LH_ARCHITECTURE}"/Release + +	mkdir binary.udeb +	cd binary.udeb + +	# Downloading udeb indices +	Download_file Packages.gz "${LH_MIRROR_CHROOT}"/dists/"${LH_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}"/Packages.gz +	gunzip -c Packages.gz > Packages + +	# Sorting udebs +	UDEBS="$(awk '/Filename: / { print $2 }' Packages)" + +	# Downloading udebs +	for UDEB in ${UDEBS} +	do +		if [ -f ../cache/packages_debian-installer.udeb/"$(basename ${UDEB})" ] +		then +			# Copying cached udebs +			cp ../cache/packages_debian-installer.udeb/"$(basename ${UDEB})" ./ +		else +			# Downloading udebs +			wget ${WGET_OPTIONS} "${LH_MIRROR_CHROOT}"/${UDEB} +		fi +	done + +	# Caching udebs +	rm -rf ../cache/packages_debian-installer.udeb +	mkdir -p ../cache/packages_debian-installer.udeb +	cp *.udeb ../cache/packages_debian-installer.udeb + +	# Including local udebs +	if Find_files ../config/binary_local-udebs/*_"${LH_ARCHITECTURE}".udeb +	then +		for FILE in ../config/binary_local-udebs/*_"${LH_ARCHITECTURE}".udeb +		do +			Install_file "${FILE}" "pool/main" + +			# Prefer local udebs over downloaded udebs +			rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb +		done +	fi + +	if Find_files ../config/binary_local-udebs/*_all.udeb +	then +		for FILE in ../config/binary_local-udebs/*_all.udeb +		do +			Install_file "${FILE}" "pool/main" + +			# Prefer local udebs over downloaded udebs +			rm -f "$(basename ${FILE} | awk -F_ '{ print $1 }')"_*.udeb +		done +	fi + +	# Excluding udebs +	grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DEBIAN_INSTALLER_DISTRIBUTION}"/udeb_exclude > exclude || true +	grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DEBIAN_INSTALLER_DISTRIBUTION}"/exclude-udebs >> exclude || true +	grep -v "^#" "${LH_BASE}"/data/debian-cd/"${LH_DEBIAN_INSTALLER_DISTRIBUTION}"/exclude-udebs-${LH_ARCHITECTURE} >> exclude || true + +	# Local exclude file +	if [ -e ../config/binary_debian-installer/udeb_exclude ] +	then +		cat ../config/binary_debian-installer/udeb_exclude >> exclude +	fi + +	# Excluding udebs from excludes because we want them to be in the image on purpose +	sed -i -e 's|di-utils-exit-installer||' exclude # used for live-installer-launcher + +	while read EXCLUDE +	do +		if [ "${LH_DEBIAN_INSTALLER}" = "live" ] && [ "${EXCLUDE}" = "live-installer" ] +		then +			continue +		fi + +		rm -f ${EXCLUDE}_*.udeb +	done < exclude + +	# Enable live-installer +	if [ "${LH_DEBIAN_INSTALLER}" = "live" ] +	then +		# Remove local udebs +		rm -f pool/main/b/base-installer/bootstrap-base_*.udeb + +		# Remove d-i udebs +		rm -f bootstrap-base_*.udeb +	fi + +	# Moving udebs +	for UDEB in ${UDEBS} +	do +		if [ -f "$(basename ${UDEB})" ] +		then +			mkdir -p $(dirname ${UDEB}) +			mv "$(basename ${UDEB})" "$(dirname ${UDEB})" +		fi +	done + +	# Creating udeb indices +	mkdir -p dists/"${LH_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LH_ARCHITECTURE}" +	cd "${OLDPWD}" + +	mv binary.udeb chroot/root +	echo "cd /root/binary.udeb && apt-ftparchive packages pool/main > dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages" > chroot/binary.sh +	Chroot chroot "sh binary.sh" +	rm -f chroot/binary.sh +	mv chroot/root/binary.udeb ./ + +	cd binary.udeb +	gzip -9 -c dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages > dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LH_ARCHITECTURE}/Packages.gz + +	rm -f Packages* exclude +	find . | cpio -dmpu "${OLDPWD}"/binary +	cd "${OLDPWD}" + +	rm -rf binary.udeb +	rm -rf binary.deb + +	# Generating release file +	mv binary chroot/root + +cat > chroot/binary.sh << EOF +cd /root/binary && apt-ftparchive \ +	-o APT::FTPArchive::Release::Origin="Debian" \ +	-o APT::FTPArchive::Release::Label="Debian" \ +	-o APT::FTPArchive::Release::Suite="${LH_DEBIAN_INSTALLER_DISTRIBUTION}" \ +	-o APT::FTPArchive::Release::Version="4.0" \ +	-o APT::FTPArchive::Release::Codename="${LH_DEBIAN_INSTALLER_DISTRIBUTION}" \ +	-o APT::FTPArchive::Release::Date="$(date -R)" \ +	-o APT::FTPArchive::Release::Architectures="${LH_ARCHITECTURE}" \ +	-o APT::FTPArchive::Release::Components="main" \ +	-o APT::FTPArchive::Release::Description="Last updated: $(date -R)" \ +	release dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION} > dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/Release +EOF + +	Chroot chroot "sh binary.sh" +	rm -f chroot/binary.sh +	mv chroot/root/binary ./ + +	# Creating dist symlinks +	for DISTRIBUTION in frozen stable testing unstable +	do +		ln -s ${LH_DEBIAN_INSTALLER_DISTRIBUTION} binary/dists/${DISTRIBUTION} +	done + +	if [ "${LH_BINARY_IMAGES}" != "usb-hdd" ] +	then +		ln -s . binary/debian +	fi + +	# Including preseeding files +	if Find_files config/binary_debian-installer/*.cfg +	then +		cp config/binary_debian-installer/*.cfg binary/install +	fi +fi + +Repack_initrd() +{ +	local TARGET_INITRD +	local INCLUDE_PATH +	TARGET_INITRD="${1}" +	INCLUDE_PATH="${2}" +	REPACK_TMPDIR="unpacked-initrd" + +	if [ -d "${INCLUDE_PATH}" ] +	then +		INCLUDE_PATH=$(readlink -f ${INCLUDE_PATH}) +	fi + +	# cpio does not have a "extract to directory", so we must change directory +	mkdir -p ${REPACK_TMPDIR} +	cd ${REPACK_TMPDIR} + +	gzip -d < ../${TARGET_INITRD} | cpio -i --make-directories --no-absolute-filenames +	if [ ! -d "${INCLUDE_PATH}" ] +	then +		# Invoked the old way, just copy the preseeds +		cp ../config/binary_debian-installer/*.cfg . +	else +		# New way, include target directory content in the initrd +		REPACK_TMPDIR_ABS="${PWD}" +		cd "${INCLUDE_PATH}" +		find -print0 | cpio -pumd0 --no-preserve-owner "${REPACK_TMPDIR_ABS}/" +		cd "${OLDPWD}" +	fi +	find -print0 | cpio -H newc -o0 | gzip -9 > ../${TARGET_INITRD} + +	cd .. +	rm -rf ${REPACK_TMPDIR} +} + +# Preseed d-i by repacking the initrd in certain situations +if [ "${DI_IMAGE_TYPE}" = "netboot" ] && [ -e config/binary_debian-installer/preseed.cfg ] +then +	Repack_initrd "${DESTDIR}"/"${INITRD_DI}" + +	if [ -e "${DESTDIR}"/"${INITRD_GI}" ] +	then +		Repack_initrd "${DESTDIR}"/"${INITRD_GI}" +	fi +fi + +# Include content of config/binary_debian-installer-includes if exists and not empty +if [ -d config/binary_debian-installer-includes ] && [ -n "$(ls -A config/binary_debian-installer-includes)" ] +then +	Repack_initrd "${DESTDIR}"/"${INITRD_DI}" config/binary_debian-installer-includes + +	if [ -e "${DESTDIR}"/"${INITRD_GI}" ] +	then +		Repack_initrd "${DESTDIR}"/"${INITRD_GI}" config/binary_debian-installer-includes +	fi +fi + +# Saving cache +Save_cache cache/packages_binary + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .stage/binary_debian-installer  | 
