From 4210dfa756e60ba6270a7448e91b1c34f947f9af Mon Sep 17 00:00:00 2001
From: Gustav Geier <gustav.geier@fsmpi.rwth-aachen.de>
Date: Fri, 14 Mar 2014 15:16:11 +0100
Subject: [PATCH] Updated scripts

---
 scripts/linuxparty.sh       | 194 ++++++++++++++++++++++--------------
 scripts/mount-stick-repo.sh |   6 ++
 2 files changed, 127 insertions(+), 73 deletions(-)

diff --git a/scripts/linuxparty.sh b/scripts/linuxparty.sh
index 3ef9b45..96c78c7 100644
--- a/scripts/linuxparty.sh
+++ b/scripts/linuxparty.sh
@@ -2,6 +2,11 @@
 
 set -e
 
+#options for GUI are kdialog zenity no
+if [ -z "$GUI" ]; then
+  GUI=kdialog
+fi
+
 MY_DIR="$( readlink -f "$( dirname "${BASH_SOURCE[0]}" )" )"
 HIVE_DIR="$MY_DIR/../hive/" #we assume here that the LIP install stick is mounted at /media/MultiBoot... better idea?
 
@@ -100,25 +105,6 @@ preinstalledpkgs() {
 	done
 }
 
-askyesno() {
-	while true
-	do
-	  read -n1 -p "$1 [j,n]"
-	  echo
-	  case "$REPLY" in
-	    y|Y|j|J) return 0;;
-	    n|N) return 1;;
-	    *) echo 'Antworte bitte mit "j" für "Ja" oder "n" für "Nein"' ;;
-	  esac
-	done
-}
-
-pressenter() {
-  echo $@
-  echo "Drücke <Enter> um fortzufahren (Strg-C zum Abbrechen)"
-  read
-}
-
 bright() {
   # gruen
   echo -ne "\033[1m$@\033[0m"
@@ -138,42 +124,122 @@ warn() {
   echo -e "\033[0m"       # normal
 }
 
-err() {
-  echo
-  echo -ne "\033[31;7m"    # rot
-  echo -n "$@"
-  echo -e "\033[0m"       # normal
-}
-
-install_pkgs() {
-	#ACHTUNG: nicht vorausgewählte Packete werden _nie_ installiert!
-	local arg=$3[@]
-	pkglist=$(preinstalledpkgs $3)
-	
-	if [ -n "$pkglist" ]; then
-		apt-install $pkglist
-		ok "$pkglist installiert"
-	else
-		ok "Keine Packete installiert" 
-	fi
-}
-
-if [ -z "$NOGUI" ]; then
-
-#overwrite functions with graphical replacements
-askyesno() {
-	zenity --question --text "$@" 2> /dev/null
-}
-
-err() {
-	zenity --error --text "$@" 2> /dev/null
-}
-
-pressenter() {
-	zenity --info --text "$@" 2> /dev/null
-}
-
-fi
+case "$GUI" in
+  no)
+    askyesno() {
+	  while true
+	  do
+	    read -n1 -p "$1 [j,n]"
+	    echo
+	    case "$REPLY" in
+	      y|Y|j|J) return 0;;
+	      n|N) return 1;;
+	      *) echo 'Antworte bitte mit "j" für "Ja" oder "n" für "Nein"' ;;
+	    esac
+	  done
+    }
+
+    pressenter() {
+      echo $@
+      echo "Drücke <Enter> um fortzufahren (Strg-C zum Abbrechen)"
+      read
+    }
+
+    err() {
+      echo
+      echo -ne "\033[31;7m"    # rot
+      echo -n "$@"
+      echo -e "\033[0m"       # normal
+    }
+
+    install_pkgs() {
+	    #ACHTUNG: nicht vorausgewählte Packete werden _nie_ installiert!
+	    local arg=$3[@]
+	    pkglist=$(preinstalledpkgs $3)
+	    
+	    if [ -n "$pkglist" ]; then
+		    apt-install $pkglist
+		    ok "$pkglist installiert"
+	    else
+		    ok "Keine Packete installiert" 
+	    fi
+    }
+  ;;
+  zenity)
+    askyesno() {
+	    zenity --question --text "$@" 2> /dev/null
+    }
+
+    err() {
+	    zenity --error --text "$@" 2> /dev/null
+    }
+
+    pressenter() {
+	    zenity --info --text "$@" 2> /dev/null
+    }
+    install_pkgs() {
+	    local pkglist=$3[@]
+	    INSTALL=$(zenity --list --title "$1" --text "$2" --checklist --separator=" " --width=786 --height=400 --column "Installieren?" --column "Packet" --column "Beschreibung" "${!pkglist}" 2> /dev/null || true)
+
+	    if [ -n "$INSTALL" ]; then
+		    apt-install $INSTALL
+		    ok "$INSTALL installiert"
+	    else
+		    ok "Keine Packete installiert" 
+	    fi
+    }
+    ;;
+  kdialog)
+    askyesno() {
+	    kdialog --yesno "$@" 2> /dev/null
+    }
+
+    err() {
+	    kdialog --error "$@" 2> /dev/null
+    }
+
+    pressenter() {
+	    kdialog --msgbox "$@" 2> /dev/null
+    }
+    install_pkgs() {
+	    local pkglist=$3[@]
+	    local nlist=""
+	    local n=0
+	    local tag=""
+	    local text=""
+	    local use=""	    
+	    for e in $pkglist; do	      
+	      case n in
+		0)
+		  use="$e"
+		  n=1
+		;;
+		1)
+		  tag="$e"
+		  n=2
+		;;
+		2)
+		  text="$e"
+		  nlist="$nlist $tag \"$tag: $text\" $use"
+		  n=0
+		;;
+	      esac
+	    done
+	    INSTALL=$(kdialog --width=786 --height=400 --title "$1" --checklist $nlist 2> /dev/null || true)
+
+	    if [ -n "$INSTALL" ]; then
+		    apt-install $INSTALL
+		    ok "$INSTALL installiert"
+	    else
+		    ok "Keine Packete installiert" 
+	    fi
+    }
+    ;;
+  *)
+    echo "Ungültige GUI Option '$GUI'. Möglich Werte sind 'kdialog', 'zenity' oder 'no'"
+    exit 1
+    ;;
+esac
 
 # Verbose error trapping
 showerr() {
@@ -185,24 +251,6 @@ apt-install() {
   apt-get install --quiet -y --force-yes $@
 }
 
-
-if [ -z "$NOGUI" ]; then
-
-#graphical installations
-install_pkgs() {
-	local pkglist=$3[@]
-	INSTALL=$(zenity --list --title "$1" --text "$2" --checklist --separator=" " --width=786 --height=400 --column "Installieren?" --column "Packet" --column "Beschreibung" "${!pkglist}" 2> /dev/null || true)
-
-	if [ -n "$INSTALL" ]; then
-		apt-install $INSTALL
-		ok "$INSTALL installiert"
-	else
-		ok "Keine Packete installiert" 
-	fi
-}
-
-fi
-
 install_common() {
 	install_pkgs "Allg. Packete installieren?" "Programme, die der OSAK/die ALUG für sinnvoll hält, sind bereits zur Installation vorselektiert.\nWenn du keine Packete aus der Liste installieren willst, einfach Abbrechen.\nBitte beachten: Das LIP-Script deinstalliert keine Packete, insbesondere also keine Packete die in einem früheren Lauf aktiv waren,\nund diesmal nicht ausgewählt sind!" COMMON_PKGS
 }
diff --git a/scripts/mount-stick-repo.sh b/scripts/mount-stick-repo.sh
index 5e779d6..36978d8 100644
--- a/scripts/mount-stick-repo.sh
+++ b/scripts/mount-stick-repo.sh
@@ -3,6 +3,9 @@ set -e
 
 #find device
 DEV="$(blkid -t "LABEL=MultiBoot" -o device | head -n1 || echo '')"
+if [ -z "$DEV" ]; then
+  DEV="$(blkid -t "LABEL=MULTIBOOT" -o device | head -n1 || echo '')"
+fi
 
 PS3="[1,2,3]<Enter>: "
 while [ -z "$DEV" ];  do
@@ -14,6 +17,9 @@ while [ -z "$DEV" ];  do
     case $i in
      "Stick ist jetzt gesteckt")
        DEV="$(blkid -t "LABEL=MultiBoot" -o device | head -n1 || echo '')"
+       if [ -z "$DEV" ]; then
+	 DEV="$(blkid -t "LABEL=MULTIBOOT" -o device | head -n1 || echo '')"
+       fi
        ;;
      "Ohne Stick weitermachen")
        DEV='-nomount-'
-- 
GitLab