Refactored addon handlng for grml-live.
[grml-live.git] / grml-live
index 5f235e7..a718a41 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -28,6 +28,7 @@ PN="$(basename $0)"
 CMDLINE="$0 $@"
 ISO_DATE="$(date +%Y-%m-%d)"
 SOURCES_LIST_FILE='/etc/grml/fai/apt/sources.list'
+ADDONS_LIST_FILE='/boot/isolinux/addons_list.cfg'
 # }}}
 
 # usage information {{{
@@ -696,6 +697,13 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
       sed -i "s/%SQUASHFS_NAME%/$SQUASHFS_NAME/" "$BUILD_OUTPUT"/boot/isolinux/f4
       sed -i "s/%SQUASHFS_NAME%/$SQUASHFS_NAME/" "$BUILD_OUTPUT"/boot/isolinux/f5
 
+      # generate addon list
+      rm "${BUILD_OUTPUT}/${ADDONS_LIST_FILE}"
+      for name in $(ls "${BUILD_OUTPUT}"/boot/isolinux/addon_*.cfg) ; do
+        include_name=$(basename "$name")
+        echo "include $include_name"  >> "${BUILD_OUTPUT}/${ADDONS_LIST_FILE}"
+      done
+
       if ! [ -r "${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg" ] || [ "$DISTRI_NAME" = "grml" ] ; then
          log "including grmlmain.cfg in ${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
          echo "include grmlmain.cfg"    >  "${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
@@ -763,14 +771,19 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
 
          for file in "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6 \
                      "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.cfg \
+                     "$BUILD_OUTPUT"/boot/isolinux/addons.cfg \
                      "$BUILD_OUTPUT"/boot/isolinux/syslinux.cfg \
+                     "$BUILD_OUTPUT"/boot/grub/grub.cfg \
                      "$BUILD_OUTPUT"/boot/grub/menu.lst ; do
-             sed -i -e "s!%GRUB_VERSION%!$GRUB_VERSION!g" \
-                    -e "s!%GRUB_LEGACY%!$GRUB_LEGACY!g" "$file"
+             if [ -e "$file" ] ; then
+               sed -i -e "s!%GRUB_VERSION%!$GRUB_VERSION!g" \
+                      -e "s!%GRUB_LEGACY%!$GRUB_LEGACY!g" "$file"
+             fi
          done
 
          sed -i "s/%RELEASE_INFO%/$GRML_NAME $VERSION - $RELEASENAME/" "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6
       fi
+
       if [ -e "$BUILD_OUTPUT"/boot/grub/$GRUB_LEGACY ]; then
          sed -i "s/%GRUB_LEGACY%/$GRUB_LEGACY/g" "$BUILD_OUTPUT"/boot/grub/menu.lst
          sed -i "s/%GRUB_LEGACY%/$GRUB_LEGACY/g" "$BUILD_OUTPUT"/boot/grub/grub.cfg