Run wrap-and-sort -a on debian directory
[grml-autoconfig.git] / autoconfig.functions
index 5580812..577e3b0 100755 (executable)
@@ -1737,11 +1737,6 @@ if checkbootparam 'scripts' || [ "$DCSMP" = "/mnt/grmlcfg" ]; then
      # backwards compatibility: if no path is given get scripts from scripts/
      SCRIPTS="scripts/$SCRIPTS"
    fi
-   if [ "$DCSMP" = "/mnt/grmlcfg" ]; then
-     # we are executing from a GRMLCFG labeled fs
-     # kick everything we have done before and start over
-     SCRIPTS="$(cd ${DCSDIR}; /bin/ls -1d [Gg][Rr][Mm][Ll].[Ss][Hh] 2>>$DEBUG)"
-   fi
    if [ -n "$SCRIPTS" ]; then
      SCRIPTS="${DCSDIR}/$SCRIPTS"
      if [ "$DCSMP" = "/mnt/grmlcfg" ]; then
@@ -2268,33 +2263,58 @@ if $VIRTUALBOX ; then
       VBoxService >/dev/null
       eend $?
 
-      local vbox_automation='/media/sf_automation'
+      local vbautomation='automation'
       if checkbootparam 'vbautomation'; then
-        vbox_automation="$(getbootparam 'vbautomation' 2>>$DEBUG)"
+        vbautomation="$(getbootparam 'vbautomation' 2>>$DEBUG)"
       fi
 
-      local distri="$(getbootparam 'distri' 2>>$DEBUG)"
-      [ -n "$distri" ] || distri='grml'
-
-      if [ -d "${vbox_automation}" ] ; then
-        einfo "Found shared folders automation directory $vbox_automation"
+      if ! VBoxControl sharedfolder list | egrep -q "^[0-9]+ - ${vbautomation}$" ; then
+        ewarn "No automount shared folder '$vbautomation' available"
         eend 0
+      else
+        einfo "Found automount shared folder '$vbautomation'"
+        eend 0
+
+        local distri="$(getbootparam 'distri' 2>>$DEBUG)"
+        [ -n "$distri" ] || distri='grml'
 
+        local vbox_auto_sf="/media/sf_${vbautomation}"
+
+        sleep 1 # ugly but necessary
+
+        counter=10
         eindent
-        if checkbootparam 'novbautomation' ; then
-          einfo "Bootoption novbautomation found. Disabling automation script execution."
+        while ! [ -d "${vbox_auto_sf}" ] && [[ "$counter" != 0 ]]; do
+          einfo "Waiting another second to retry access to ${vbox_auto_sf}"
+          sleep 1
+          counter=$(( counter-1 ))
           eend 0
+        done
+        eoutdent
+
+        if ! [ -d "${vbox_auto_sf}" ] ; then
+          eerror "Giving up trying to access folder ${vbox_auto_sf} which doesn't seem to exist"
+          eend 1
         else
-          if ! [ -x "${vbox_automation}/${distri}" ] ; then
-            ewarn "Couldn't find an automation script named ${vbox_automation}/${distri}"
-            eend 1
+          einfo "Found shared folders automation directory $vbox_auto_sf"
+          eend 0
+
+          eindent
+          if checkbootparam 'novbautomation' ; then
+            einfo "Bootoption novbautomation found. Disabling automation script execution."
+            eend 0
           else
-            einfo "Executing '${vbox_automation}/${distri}' now:"
-            "${vbox_automation}/${distri}"
-            eend $?
+            if ! [ -x "${vbox_auto_sf}/${distri}" ] ; then
+              ewarn "Couldn't find an automation script named ${vbox_auto_sf}/${distri}"
+              eend 1
+            else
+              einfo "Executing '${vbox_auto_sf}/${distri}' now:"
+              "${vbox_auto_sf}/${distri}"
+              eend $?
+            fi
           fi
+          eoutdent
         fi
-        eoutdent
       fi
 
     eoutdent