SW: add rfkill to GRML_SMALL, GRML_FULL + GRML_XL
[grml-live.git] / grml-live
index ac8f9cf..95f0b3e 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -754,11 +754,12 @@ else
 <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 $5}' "${CHECKLOG}/package_errors.log" | sed 's/\.$//') ; do
+  for package in $(awk '{print $1}' "${CHECKLOG}/package_errors.log") ; 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">
-    <failure type="RuntimeError" message="Package ${package} is missing">
-Package $package is missing in chroot
+    <failure type="${failure_reason}" message="Package ${package} is missing">
+Package $package is missing in chroot (${failure_reason})
   </failure>
   </testcase>
 EOF
@@ -898,6 +899,17 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
        fi
        cp -a ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/
 
+       # generate loopback.cfg config file without depending on grub's regexp module
+       # which isn't available in Debian/squeeze
+       echo "## grub2 loopback configuration" > "${BUILD_OUTPUT}"/boot/grub/loopback.cfg
+       echo "source /boot/grub/header.cfg" >> "${BUILD_OUTPUT}"/boot/grub/loopback.cfg
+       for config in "${BUILD_OUTPUT}"/boot/grub/*_default.cfg "${BUILD_OUTPUT}"/boot/grub/*_options.cfg ; do
+         [ -r "$config" ] || continue
+         echo "source ${config##$BUILD_OUTPUT}" >> "${BUILD_OUTPUT}"/boot/grub/loopback.cfg
+       done
+       echo "source /boot/grub/addons.cfg" >> "${BUILD_OUTPUT}"/boot/grub/loopback.cfg
+       echo "source /boot/grub/footer.cfg" >> "${BUILD_OUTPUT}"/boot/grub/loopback.cfg
+
        # copy grub files from target
        cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.mod "${BUILD_OUTPUT}"/boot/grub/
        cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.o "${BUILD_OUTPUT}"/boot/grub/
@@ -955,7 +967,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
            sed -i "s/%SHORT_NAME%/$SHORT_NAME/g"        "${file}"
            sed -i "s/%VERSION%/$VERSION/g"              "${file}"
 
-           [ -n "$DEFAULT_BOOTOPTIONS" ] && sed -i "s/ boot=live/ boot=live $DEFAULT_BOOTOPTIONS/"  "${file}"
+           [ -n "$DEFAULT_BOOTOPTIONS" ] && sed -i "s; boot=live; boot=live $DEFAULT_BOOTOPTIONS;"  "${file}"
 
            if [ -n "$NO_BOOTID" ] ; then
               sed -i "s/ bootid=%BOOTID%//g" "${file}" # drop bootid bootoption
@@ -1392,7 +1404,12 @@ create_netbootpackage() {
   if [ -r "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" ] ; then
     cp "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" "${WORKING_DIR}/pxelinux.cfg/default"
   else
-    ewarn "File ${BUILD_OUTPUT}/boot/isolinux/netboot.cfg not found." ; eend 0
+    log   "File ${BUILD_OUTPUT}/boot/isolinux/netboot.cfg not found."
+    ewarn "File ${BUILD_OUTPUT}/boot/isolinux/netboot.cfg not found."
+    eindent
+    log   "Hint: Are you using custom templates which do not provide netboot.cfg?"
+    ewarn "Hint: Are you using custom templates which do not provide netboot.cfg?" ; eend 0
+    eoutdent
   fi
 
   if tar -C "$OUTPUTDIR" -jcf "${OUTPUT_FILE}" "grml_netboot_package_${GRML_NAME}_${VERSION}" ; then