Merge remote-tracking branch 'origin/github/pr/14'
authorMichael Prokop <mika@grml.org>
Fri, 8 Sep 2023 08:59:32 +0000 (10:59 +0200)
committerMichael Prokop <mika@grml.org>
Fri, 8 Sep 2023 08:59:32 +0000 (10:59 +0200)
1  2 
42_grml

diff --combined 42_grml
+++ b/42_grml
@@@ -74,10 -74,17 +74,17 @@@ get_dependencies() 
      break
    done
    echo $dependencies
  }
  
+ get_iso_identifier() {
+   local iso="$1"
+   local id=
+   if isoinfo --version >/dev/null 2>&1 ; then
+     id=$(isoinfo -d -i "${iso}" | grep '^Volume id:' | sed -e 's/^[^:]*: *//')
+     [ -n "${id}" ] || id=$(isoinfo -d -i "${iso}" | grep '^Application id:' | sed -e 's/^[^:]*: *//')
+   fi
+   echo "${id}"
+ }
  
  iso_list=""
  for file in "${ISO_LOCATION}"/*.iso ; do
       fi
  done
  
 +indent='        '
 +submenu_indent=
 +if [ -n "${GRUB_SUBMENU}" ] && [ -n "${iso_list}" ] ; then
 +  echo "submenu \"${GRUB_SUBMENU}\" \$menuentry_id_option \"grml-rescueboot\" {"
 +  submenu_indent="${indent}"
 +fi
 +
  for grmliso in $iso_list ; do
    rel_dirname="$(dirname $(make_system_path_relative_to_its_root $grmliso))"
    grml="$(basename $grmliso)"
    esac
  
    echo "Found Grml ISO image: $grmliso" >&2
-   title="Grml Rescue System ($grml)"
-   grub_prep=$(prepare_grub_to_access_device "${device}" | sed -e "s/^/${indent}/")
+   iso_id=$(get_iso_identifier "${grmliso}")
+   if [ -n "${iso_id}" ] ; then
+     title="${iso_id} (${grml})"
+   else
+     title="Grml Rescue System (${grml})"
+   fi
+   grub_prep=$(prepare_grub_to_access_device "$device" | sed -e "s/^/        /")
  
 -  cat << EOF
 +  sed -e "s/^/${submenu_indent}/" << EOF
  menuentry "${title}" {
  ${grub_prep}
          iso_path="${rel_dirname%/}/${grml}"
  EOF
  done
  
 +if [ -n "${GRUB_SUBMENU}" ] && [ -n "${iso_list}" ] ; then
 +  echo "} # end submenu \"${GRUB_SUBMENU}\""
 +fi
 +
  ## END OF FILE #################################################################