X-Git-Url: http://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=577e3b0a832dfab4002893771d3cbd3158541540;hp=7fdb4beb731bfdca5b5f8d9b5c82c9a3df5459ce;hb=b9ded1804ee9d43b711f2935aa5d400b657d4f43;hpb=b067eaa3953382530af6ee343de4a360e3eabec4 diff --git a/autoconfig.functions b/autoconfig.functions index 7fdb4be..577e3b0 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -1721,7 +1721,7 @@ if checkbootparam 'debs' ; then # backwards compatibility: if no path is given get debs from debs/ DEBS="debs/$DEBS" fi - einfo "Tring to install debian package(s) ${DEBS}" + einfo "Trying to install Debian package(s) ${DEBS}" DEBS="$(eval echo ${DCSDIR}/$DEBS)" dpkg -i $DEBS ; eend $? fi @@ -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 @@ -2265,9 +2260,63 @@ if $VIRTUALBOX ; then eend $? einfo "Starting VBoxService." - VBoxService >/dev/null & + VBoxService >/dev/null eend $? + local vbautomation='automation' + if checkbootparam 'vbautomation'; then + vbautomation="$(getbootparam 'vbautomation' 2>>$DEBUG)" + fi + + 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 + 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 + 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 + 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 + fi + eoutdent fi fi