X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-live;h=b86f51b9c21c06a5b2eb0cc690cfa3788f428884;hb=8491a6fb374e014854f8008ccb5ac75be4e38096;hp=51e8859086886b5dc2dad75cc35122ff6c85ee38;hpb=fc0c329616fc039b242bd06e233c01e652b5703b;p=grml-live.git diff --git a/grml-live b/grml-live index 51e8859..b86f51b 100755 --- a/grml-live +++ b/grml-live @@ -23,7 +23,7 @@ fi set -e # global variables -GRML_LIVE_VERSION='0.9.34' +GRML_LIVE_VERSION='0.9.35-pre1' PN="$(basename $0)" CMDLINE="$0 $@" SOURCES_LIST_FILE='/etc/grml/fai/apt/sources.list' @@ -288,7 +288,7 @@ ISO_OUTPUT="$OUTPUT/grml_isos" [ -n "$RELEASENAME" ] && export RELEASENAME="$RELEASENAME" # }}} -# ZERO_LOGFILE - check for backwards compability reasons {{{ +# ZERO_LOGFILE - check for backwards compatibility reasons {{{ # this was default behaviour until grml-live 0.9.34: if [ -n "$ZERO_LOGFILE" ] ; then PRESERVE_LOGFILE='' # make sure it's cleaned then @@ -392,7 +392,7 @@ if [ -n "$MIRROR_DIRECTORY" ] ; then # NOTE: This file is *NOT* meant for manual customisation! This file is # modified by grml-live and any changes might be overriden. # You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf* -# and using /etc/grml/fai/files/etc/apt instead!' +# or FAI's fcopy command with /etc/grml/fai/config/files instead! EOF echo "$MIRROR_SOURCES" >> "$SOURCES_LIST_FILE" if [ -n "$GRML_LIVE_SOURCES" ] ; then @@ -403,7 +403,7 @@ elif [ -n "$GRML_LIVE_SOURCES" ] ; then # NOTE: This file is *NOT* meant for manual customisation! This file is # modified by grml-live and any changes might be overriden. # You might consider using GRML_LIVE_SOURCES in /etc/grml/grml-live.conf* -# and using /etc/grml/fai/files/etc/apt instead!' +# or FAI's fcopy command with /etc/grml/fai/config/files instead! EOF echo "$GRML_LIVE_SOURCES" >> "$SOURCES_LIST_FILE" fi @@ -593,7 +593,7 @@ CHECKLOG=/var/log/fai/$HOSTNAME/last # package validator if [ -r "$CHECKLOG/package_errors.log" ] && grep -q '[a-z]' "$CHECKLOG/package_errors.log" ; then - if [ -n "$EXIT_ON_MISSING_PACKAGES" ] ; then + if [ -n "$EXIT_ON_MISSING_PACKAGES" -a -z "$BUILD_DIRTY" ] ; then eerror "The following packages were requested for installation but could not be processed:" cat $CHECKLOG/package_errors.log eerror "... exiting as requested via \$EXIT_ON_MISSING_PACKAGES." @@ -714,6 +714,18 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then # make sure the squashfs filename is set accordingly: SQUASHFS_NAME="$GRML_NAME.squashfs" + if [ -n "$NO_BOOTID" ] ; then + log 'Skipping bootid feature as requested via $NO_BOOTID.' + einfo 'Skipping bootid feature as requested via $NO_BOOTID.' + else + [ -n "$BOOTID" ] || BOOTID="$(echo ${GRML_NAME}${VERSION} | tr -d ',./;\- ')" + [ -d "$BUILD_OUTPUT"/conf ] || mkdir "$BUILD_OUTPUT"/conf + einfo "Generating /conf/bootid.txt with entry ${BOOTID}." + log "Generating /conf/bootid.txt with entry ${BOOTID}." + echo "$BOOTID" > "$BUILD_OUTPUT"/conf/bootid.txt + eend $? + fi + # adjust all variables in the templates with the according distribution information for file in "${BUILD_OUTPUT}"/boot/isolinux/*.cfg "${BUILD_OUTPUT}"/boot/isolinux/*.msg \ "${BUILD_OUTPUT}"/boot/grub/* ; do @@ -727,6 +739,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then sed -i "s/%RELEASE_INFO%/$RELEASE_INFO/g" "${file}" sed -i "s/%SHORT_NAME%/$SHORT_NAME/g" "${file}" sed -i "s/%VERSION%/$VERSION/g" "${file}" + if [ -n "$NO_BOOTID" ] ; then + sed -i "s/ bootid=%BOOTID%//g" "${file}" # drop bootid bootoption + else + sed -i "s/%BOOTID%/$BOOTID/g" "${file}" # adjust bootid=... bootoption + fi done # adjust bootsplash accordingly but make sure the string has the according lenght @@ -826,6 +843,15 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then sed -i "/%GRUB_LEGACY%/d" "$BUILD_OUTPUT"/boot/grub/grub.cfg fi + DPKG_LIST="/var/log/fai/$HOSTNAME/last/dpkg.list" # the dpkg --list output of the chroot + if ! [ -r "$DPKG_LIST" ] ; then + ewarn "$DPKG_LIST could not be read, ignoring to store package information on ISO therefore." + else + einfo "Storing package list information as /GRML/${GRML_NAME}-packages.txt on ISO." + cp "$DPKG_LIST" "${BUILD_OUTPUT}/GRML/${GRML_NAME}-packages.txt" + eend $? + fi + # autostart for Windows: if [ -d "${TEMPLATE_DIRECTORY}/windows/autostart/" ] ; then cp ${TEMPLATE_DIRECTORY}/windows/autostart/* "$BUILD_OUTPUT"/ @@ -898,7 +924,7 @@ else bailout fi else # no $SQUASHFS_BINARY configured, let's find the according binary: - # Note: this is ALL for backward compability and yes: it's serious PITA. + # Note: this is ALL for backward compatibility and yes: it's serious PITA. # We'll definitely drop this once people build >2.6.28-grml* only and # the squashfs-tools vs. squashfs-lzma-tools + zlib vs. lzma situation # is settling... @@ -913,7 +939,7 @@ else else # neither -nolzma nor -z and mksquashfs-lzma is available: SQUASHFS_BINARY='mksquashfs-lzma' - # backwards compability: someone has squashfs-lzma-tools >=4 installed but + # backwards compatibility: someone has squashfs-lzma-tools >=4 installed but # 1) doesn't use -nolzma in $SQUASHFS_OPTIONS or the grml-live's -z option *and* # 2) builds against kernel version <=2.6.28-grml[64] if ls $CHROOT_OUTPUT/boot/vmlinuz* >/dev/null 2>&1 ; then