-U <username> arrange output to be owned by specified username
-v <version_number> specify version number of the release
-V increase verbosity in the build process
+ -w <date> wayback machine, build system using Debian archives
+ from specified date
-z use ZLIB instead of LZMA/XZ compression
Usage examples:
# }}}
# command line parsing {{{
-while getopts "a:C:c:d:D:e:g:i:I:o:r:s:S:t:U:v:AbBFhnNqQuVz" opt; do
+while getopts "a:C:c:d:D:e:g:i:I:o:r:s:S:t:U:v:w:AbBFhnNqQuVz" opt; do
case "$opt" in
a) ARCH="$OPTARG" ;;
A) CLEAN_ARTIFACTS=1 ;;
u) UPDATE=1 ;;
U) CHOWN_USER="$OPTARG" ;;
V) VERBOSE="-v" ;;
+ w) export WAYBACK_DATE="$OPTARG" ;;
z) SQUASHFS_ZLIB=1 ;;
?) echo "invalid option -$OPTARG" >&2; usage; bailout 1 ;;
esac
# generate nfsroot configuration for FAI on the fly
if [ -z "$FAI_DEBOOTSTRAP" ] ; then
- FAI_DEBOOTSTRAP="$SUITE http://ftp.debian.org/debian"
+ if [ -n "$WAYBACK_DATE" ] ; then
+ FAI_DEBOOTSTRAP="$SUITE http://snapshot.debian.org/archive/debian/$WAYBACK_DATE/"
+ else
+ FAI_DEBOOTSTRAP="$SUITE http://ftp.debian.org/debian"
+ fi
fi
if [ -z "$FAI_DEBOOTSTRAP_OPTS" ] ; then
mount --bind "${OUTPUT}/grml_sources/" "${CHROOT_OUTPUT}/grml-live/sources/"
log "Executed FAI command line:"
- log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY GRML_LIVE_CONFIG=$CONFIGDUMP fai $VERBOSE -C $GRML_FAI_CONFIG -s file:///$GRML_FAI_CONFIG/config -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
+ log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY GRML_LIVE_CONFIG=$CONFIGDUMP WAYBACK_DATE=$WAYBACK_DATE fai $VERBOSE -C $GRML_FAI_CONFIG -s file:///$GRML_FAI_CONFIG/config -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
BUILD_ONLY="$BUILD_ONLY" BOOTSTRAP_ONLY="$BOOTSTRAP_ONLY" GRML_LIVE_CONFIG="$CONFIGDUMP" fai $VERBOSE \
-C "$GRML_FAI_CONFIG" -s "file:///$GRML_FAI_CONFIG/config" -c"$CLASSES" \
-u "$HOSTNAME" "$FAI_ACTION" "$CHROOT_OUTPUT" $FAI_ARGS | tee -a $LOGFILE
<testsuite name="grml-live-missing-packages" tests="${package_count}" time="1" failures="${package_errors}" errors="${package_errors}" skipped="0" assertions="0">
EOF
- for package in $(awk '{print $1}' "${CHECKLOG}/package_errors.log") ; do
+ for package in $(awk '{print $1}' "${CHECKLOG}/package_errors.log" | sed 's;/;\\/;') ; do
failure_reason="$(awk "/$package/ {print \$2}" "${CHECKLOG}/package_errors.log")"
cat >> "${REPORT_MISSING_PACKAGES}" << EOF
<testcase name="test_missing_packages_${package}" time="0" assertions="0">
# copy _required_ isolinux files
if [ -d "${CHROOT_OUTPUT}/usr/lib/ISOLINUX" ] ; then
copy_addon_file isolinux.bin /usr/lib/ISOLINUX isolinux
- copy_addon_file ifcpu64.c32 /usr/lib/syslinux/modules/bios/ isolinux
- copy_addon_file ldlinux.c32 /usr/lib/syslinux/modules/bios/ isolinux
- copy_addon_file libcom32.c32 /usr/lib/syslinux/modules/bios/ isolinux
- copy_addon_file libutil.c32 /usr/lib/syslinux/modules/bios/ isolinux
- copy_addon_file vesamenu.c32 /usr/lib/syslinux/modules/bios/ isolinux
+ for file in ${CHROOT_OUTPUT}/usr/lib/syslinux/modules/bios/*.c32 ; do
+ copy_addon_file "$(basename "$file")" /usr/lib/syslinux/modules/bios/ isolinux
+ done
else # syslinux versions <= 3:4.05+dfsg-6+deb8u1
copy_addon_file isolinux.bin /usr/lib/syslinux isolinux
copy_addon_file ifcpu64.c32 /usr/lib/syslinux isolinux
cp "${CHROOT_OUTPUT}"/boot/initrd.img-* "$WORKING_DIR"/initrd.img
cp "${CHROOT_OUTPUT}/${pxelinux_dir}/pxelinux.0" "${WORKING_DIR}/pxelinux.0"
+ if [ -r "${CHROOT_OUTPUT}"/usr/lib/syslinux/modules/bios/ldlinux.c32 ] ; then
+ cp "${CHROOT_OUTPUT}"/usr/lib/syslinux/modules/bios/ldlinux.c32 "${WORKING_DIR}"/
+ fi
+
mkdir -p "${WORKING_DIR}/pxelinux.cfg"
if [ -r "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" ] ; then
cp "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" "${WORKING_DIR}/pxelinux.cfg/default"