Splitting out preseed handling from main installer script.

This commit is contained in:
Daniel Baumann 2013-06-20 11:21:32 +02:00
parent 001612cdc7
commit 966afa2d64
3 changed files with 73 additions and 8 deletions

View File

@ -55,6 +55,7 @@ fi
# Building installer
lb installer_debian-installer ${@}
lb installer_preseed ${@}
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
then

View File

@ -791,12 +791,6 @@ EOF
ln -s . binary/debian
;;
esac
# Including preseeding files
if Find_files config/debian-installer/*.cfg
then
cp config/debian-installer/*.cfg binary/install
fi
fi
Repack_initrd()
@ -820,7 +814,13 @@ Repack_initrd()
if [ ! -d "${INCLUDE_PATH}" ]
then
# Invoked the old way, just copy the preseeds
cp ../config/debian-installer/*.cfg .
for _FILE in ../config/preseed/*.cfg ../config/preseed/*.cfg.installer
do
if [ -e "${_FILE}" ]
then
cp "${_FILE}" .
fi
done
else
# New way, include target directory content in the initrd
REPACK_TMPDIR_ABS="${PWD}"
@ -835,7 +835,7 @@ Repack_initrd()
}
# Preseed d-i by repacking the initrd in certain situations
if [ "${DI_IMAGE_TYPE}" = "netboot" ] && [ -e config/debian-installer/preseed.cfg ]
if [ "${DI_IMAGE_TYPE}" = "netboot" ] && ( ls config/preseed/*.cfg > /dev/null 2>&1 || ls config/preseed/*.cfg.installer > /dev/null 2>&1 )
then
Repack_initrd "${DESTDIR}"/"${INITRD_DI}"

64
scripts/build/installer_preseed Executable file
View File

@ -0,0 +1,64 @@
#!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program 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
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
DESCRIPTION="$(Echo 'include local preseed in installer')"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
Echo_message "Begin including local preseeds..."
# Checking stage file
Check_stagefile .build/installer_preseed
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
if ls config/preseed/*.cfg > /dev/null 2>&1 || \
ls config/preseed/*.cfg.installer > /dev/null 2>&1 || \
ls chroot/root/packages.installer > /dev/null 2>&1
then
case "${LB_MODE}" in
progress-linux)
_DIRECTORY="binary/installer"
;;
*)
_DIRECTORY="binary/install"
;;
esac
rm -f "${_DIRECTORY}/preseed.cfg"
for _FILE in config/preseed/*.cfg config/preseed/*.cfg.installer chroot/root/packages.installer
do
if [ -e "${_FILE}" ]
then
cat "${_FILE}" >> "${_DIRECTORY}/preseed.cfg"
fi
done
# Creating stage file
Create_stagefile .build/installer_preseed
fi