summaryrefslogtreecommitdiff
path: root/helpers/lh_binary_debian-installer
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/lh_binary_debian-installer')
-rwxr-xr-xhelpers/lh_binary_debian-installer32
1 files changed, 30 insertions, 2 deletions
diff --git a/helpers/lh_binary_debian-installer b/helpers/lh_binary_debian-installer
index 8d69063..7de1223 100755
--- a/helpers/lh_binary_debian-installer
+++ b/helpers/lh_binary_debian-installer
@@ -643,16 +643,33 @@ 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
- cp ../config/binary_debian-installer/*.cfg .
- find | cpio -H newc -o | gzip -9 > ../${TARGET_INITRD}
+ 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}
@@ -669,6 +686,17 @@ then
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