diff options
-rwxr-xr-x | buildlive | 2 | ||||
-rw-r--r-- | functions.sh | 15 |
2 files changed, 15 insertions, 2 deletions
@@ -86,6 +86,7 @@ for i in ${DISTROLIST[@]} do process_isoinfo "$i" ISOLIST=("${ISOLIST[@]}" "$ISOFILE") + ISONAMELIST=("${ISONAMELIST[@]}" "$ISONAME") if [ -f "isofiles/$ISOFILE" ] && checksum_verify; then true @@ -115,6 +116,7 @@ fi for i in `seq 1 ${#DISTROLIST[@]}` do ISOFILE="${ISOLIST[$i-1]}" + ISONAME="${ISONAMELIST[$i-1]}" DISTRO="${DISTROLIST[$i-1]}" process_distro "$DISTRO" diff --git a/functions.sh b/functions.sh index 664aa24..c533e07 100644 --- a/functions.sh +++ b/functions.sh @@ -23,8 +23,12 @@ checksum_verify() { fi } +# process_isoinfo <iso, e.g. mint/64/xfce> +# loads $DISTRONAME $ISONAME $ISOFILE $ISOURL process_isoinfo() { unset MD5 SHA1 SHA256 SHA512 + _distrobase="distro/$(cut -d'/' -f1 <<< "$1")" + source "$_distrobase/distroinfo" source "distro/$1/isoinfo" ISOFILE="$(basename $ISOURL)" } @@ -38,11 +42,18 @@ process_distro() { } gen_grubcfg() { - local entry - for entry in "distro/$1/entry"* + local entry allentries + allentries=("distro/$1/entry"*) + if [ ${#allentries[@]} -gt 1 ]; then + echo "submenu '$ISONAME' {" + fi + for entry in "${allentries[@]}" do UUID="$UUID" ISOFILE="$ISOFILE" ./mkgrubcfg.sh "$entry" done + if [ ${#allentries[@]} -gt 1 ]; then + echo '}' + fi } download_iso() { |