summaryrefslogtreecommitdiff
path: root/scripts/build/binary_debian-installer
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2010-09-12 21:01:06 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 19:17:22 +0100
commit9f865fce29db8c910f2d6a22c4a2d6d15ecff9f4 (patch)
tree62de20b222aa509d3f3297007f7db1025d43bce3 /scripts/build/binary_debian-installer
parent608f11e2cc647aa5f6c0daa95888a89404be4f71 (diff)
downloadvyos-live-build-9f865fce29db8c910f2d6a22c4a2d6d15ecff9f4.tar.gz
vyos-live-build-9f865fce29db8c910f2d6a22c4a2d6d15ecff9f4.zip
Prefixing helper scripts to make 'out of source' usage usable (Closes: #572455).
Diffstat (limited to 'scripts/build/binary_debian-installer')
-rwxr-xr-xscripts/build/binary_debian-installer687
1 files changed, 0 insertions, 687 deletions
diff --git a/scripts/build/binary_debian-installer b/scripts/build/binary_debian-installer
deleted file mode 100755
index 9913cfb86..000000000
--- a/scripts/build/binary_debian-installer
+++ /dev/null
@@ -1,687 +0,0 @@
-#!/bin/sh
-
-## live-build(7) - System Build Scripts
-## Copyright (C) 2006-2010 Daniel Baumann <daniel@debian.org>
-##
-## live-build 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
-. "${LB_BASE:-/usr/share/live/build}"/scripts/build.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 [ "${LB_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 "${LB_DEBIAN_INSTALLER}" in
- true|cdrom|netinst|netboot|businesscard|live)
- ;;
-
- false)
- exit 0
- ;;
-
- *)
- Echo_error "debian-installer flavour %s not supported." "${LB_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 "${LB_BINARY_IMAGES}" in
- net)
- DESTDIR="tftpboot/debian-install/${LB_ARCHITECTURE}"
- ;;
-
- usb*|tar)
- DESTDIR="binary/install"
- ;;
-
- *)
- DESTDIR="binary/install"
- ;;
-esac
-
-# Set d-i image type
-case "${LB_DEBIAN_INSTALLER}" in
- businesscard|netboot|netinst)
- DI_IMAGE_TYPE="netboot"
- ;;
- *)
- case "${LB_BINARY_IMAGES}" in
- net)
- DI_IMAGE_TYPE="netboot"
- ;;
-
- *)
- DI_IMAGE_TYPE="cdrom"
- ;;
- esac
- ;;
-esac
-
-# Set architecture-specific variables
-case "${LB_ARCHITECTURE}" in
- powerpc)
- case "${DI_IMAGE_TYPE}" in
- cdrom)
- DI_REMOTE_BASE="${LB_ARCHITECTURE}/cdrom"
- ;;
-
- netboot)
- DI_REMOTE_BASE="${LB_ARCHITECTURE}/netboot"
- ;;
- esac
-
- DI_REMOTE_KERNEL="vmlinux"
- DI_REMOTE_BASE_GTK="${DI_REMOTE_BASE}/gtk"
- ;;
-
- sparc)
- DEFAULT_FLAVOUR="$(echo ${LB_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/${LB_ARCHITECTURE}"
- DI_REMOTE_BASE_GTK="netboot/gtk/debian-installer/${LB_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.
-_LB_CACHE_DIR="$(pwd)/cache/binary_debian-installer"
-
-Download_file () {
- local _LB_TARGET
- _LB_TARGET="${1}"
-
- local _LB_URL
- _LB_URL="${2}"
-
- _LB_CACHE_FILE="${_LB_CACHE_DIR}/$(echo "${_LB_URL}" | sed 's|/|_|g')"
-
- if [ ! -f "${_LB_CACHE_FILE}" ]
- then
- mkdir -p ${_LB_CACHE_DIR}
- if ! wget ${WGET_OPTIONS} -O "${_LB_CACHE_FILE}" "${_LB_URL}"
- then
- rm -f "${_LB_CACHE_FILE}"
-
- Echo_error "Could not download file: %s" "${_LB_URL}"
- exit 1
- fi
- fi
-
- if [ "$(stat --printf %d "${_LB_CACHE_DIR}")" = "$(stat --printf %d ./)" ]
- then
- CP_OPTIONS="-l"
- fi
-
- cp -f ${CP_OPTIONS} -- "${_LB_CACHE_FILE}" "${_LB_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 [ "${LB_DEBIAN_INSTALLER_DISTRIBUTION}" = "daily" ]
-then
- LB_DEBIAN_INSTALLER_DISTRIBUTION="sid"
-
- # Debian Installer daily builds
- case "${LB_ARCHITECTURE}" in
- alpha|amd64|hppa|ia64|mips|mipsel|powerpc)
- URL="http://d-i.debian.org/daily-images/${LB_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="${LB_MIRROR_DEBIAN_INSTALLER}/dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LB_ARCHITECTURE}/current/images/"
-fi
-
-mkdir -p "${DESTDIR_DI}"
-
-if [ "${LB_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
- ${LB_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}"
-
- ${LB_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 [ "${LB_DEBIAN_INSTALLER_GUI}" = "true" ]
- then
- case "${LB_ARCHITECTURE}" in
- amd64|i386)
- DOWNLOAD_GTK_INSTALLER=1
- ;;
-
- powerpc)
- if [ "${LB_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 "${LB_ARCHITECTURE}" in
- amd64)
- #DI_REQ_PACKAGES="lilo grub grub2"
- DI_REQ_PACKAGES="lilo grub"
-
- case "${LB_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 grub2"
- DI_REQ_PACKAGES="elilo lilo grub"
-
- case "${LB_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
- _LB_APT_COMMAND="apt-get ${APT_OPTIONS} -o Dir::Cache=/binary.deb -o APT::Install-Recommends=false --download-only"
-
- if [ "${LB_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 ${_LB_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 ${_LB_APT_COMMAND} install ${DI_REQ_PACKAGES}
- else
- # Download .debs of the required packages
- Chroot chroot ${_LB_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 [ "${LB_DEBIAN_INSTALLER}" != "live" ]
- then
- # Including base debian packages
- if ls cache/packages_bootstrap/*.deb > /dev/null 2>&1
- then
- for FILE in cache/packages_bootstrap/*.deb
- do
- Install_file "${FILE}" "binary/pool/main"
- done
- else
- Echo_error "Could not find packages in cache/packages_bootstrap."
- Echo_error "You selected values of LB_CACHE, LB_CACHE_PACKAGES, LB_CACHE_STAGES and LB_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/*_"${LB_ARCHITECTURE}".deb
- then
- for FILE in config/binary_local-debs/*_"${LB_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/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LB_ARCHITECTURE}
-
- mv binary chroot/root
- echo "cd /root/binary && apt-ftparchive packages pool/main > dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LB_ARCHITECTURE}/Packages" > chroot/binary.sh
- Chroot chroot "sh binary.sh"
- rm -f chroot/binary.sh
- mv chroot/root/binary ./
-
- gzip -9 -c binary/dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LB_ARCHITECTURE}/Packages > binary/dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LB_ARCHITECTURE}/Packages.gz
-
- # Fetching release
- Download_file binary/dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/binary-${LB_ARCHITECTURE}/Release "${LB_MIRROR_CHROOT}"/dists/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/main/binary-"${LB_ARCHITECTURE}"/Release
-
- mkdir binary.udeb
- cd binary.udeb
-
- # Downloading udeb indices
- Download_file Packages.gz "${LB_MIRROR_CHROOT}"/dists/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LB_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} "${LB_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/*_"${LB_ARCHITECTURE}".udeb
- then
- for FILE in ../config/binary_local-udebs/*_"${LB_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 "^#" "${LB_BASE}"/data/debian-cd/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/udeb_exclude > exclude || true
- grep -v "^#" "${LB_BASE}"/data/debian-cd/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/exclude-udebs >> exclude || true
- grep -v "^#" "${LB_BASE}"/data/debian-cd/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/exclude-udebs-${LB_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 [ "${LB_DEBIAN_INSTALLER}" = "live" ] && [ "${EXCLUDE}" = "live-installer" ]
- then
- continue
- fi
-
- rm -f ${EXCLUDE}_*.udeb
- done < exclude
-
- # Enable live-installer
- if [ "${LB_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/"${LB_DEBIAN_INSTALLER_DISTRIBUTION}"/main/debian-installer/binary-"${LB_ARCHITECTURE}"
- cd "${OLDPWD}"
-
- mv binary.udeb chroot/root
- echo "cd /root/binary.udeb && apt-ftparchive packages pool/main > dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_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/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_ARCHITECTURE}/Packages > dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION}/main/debian-installer/binary-${LB_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="${LB_DEBIAN_INSTALLER_DISTRIBUTION}" \
- -o APT::FTPArchive::Release::Version="4.0" \
- -o APT::FTPArchive::Release::Codename="${LB_DEBIAN_INSTALLER_DISTRIBUTION}" \
- -o APT::FTPArchive::Release::Date="$(date -R)" \
- -o APT::FTPArchive::Release::Architectures="${LB_ARCHITECTURE}" \
- -o APT::FTPArchive::Release::Components="main" \
- -o APT::FTPArchive::Release::Description="Last updated: $(date -R)" \
- release dists/${LB_DEBIAN_INSTALLER_DISTRIBUTION} > dists/${LB_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 ${LB_DEBIAN_INSTALLER_DISTRIBUTION} binary/dists/${DISTRIBUTION}
- done
-
- case "${LB_BINARY_IMAGES}" in
- usb*)
- ;;
-
- *)
- ln -s . binary/debian
- ;;
- esac
-
- # 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