From 811e324061df4f7cf49a7faf61736e23427f3bdf Mon Sep 17 00:00:00 2001 From: Ulrich Dangel Date: Sat, 12 Sep 2009 00:56:11 +0200 Subject: [PATCH] refactored config_netconfig config_netconfig uses new function get_remote_file for getting files from remote host. get_remote_file returns only true if file size is greater then 0 --- autoconfig.functions | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/autoconfig.functions b/autoconfig.functions index 3c594cf..13f32f0 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -1792,31 +1792,44 @@ config_services(){ } # }}} -# {{{ config files -config_netconfig(){ - if checkbootparam 'netconfig' ; then - CONFIG="$(getbootparam 'netconfig' 2>>$DEBUG)" - CONFIGFILE='/tmp/netconfig.grml' - +# {{{ remote files +get_remote_file() { + [ "$#" -eq 2 ] || ( echo "Error: wrong parameter for get_remote_file()" ; return 1 ) + SOURCE="$1" + TARGET="$2" getconfig() { wget --timeout=10 --dns-timeout=10 --connect-timeout=10 --tries=1 \ - --read-timeout=10 $CONFIG -O $CONFIGFILE && return 0 || return 1 + --read-timeout=10 ${SOURCE} -O ${TARGET} && return 0 || return 1 } - einfo "Trying to get ${WHITE}${CONFIG}${NORMAL}" + einfo "Trying to get ${WHITE}${TARGET}${NORMAL}" counter=10 while ! getconfig && [[ "$counter" != 0 ]] ; do - echo -n "Sleeping for 5 seconds and trying to get config again... " + echo -n "Sleeping for 1 second and trying to get config again... " counter=$(( counter-1 )) echo "$counter tries left" ; sleep 1 done - if [ -r "$CONFIGFILE" ] ; then + if [ -s "$TARGET" ] ; then einfo "Downloading was successfull." ; eend 0 - einfo "md5sum of ${WHITE}${CONFIG}${NORMAL}: " - md5sum $CONFIGFILE ; eend 0 - cd / && einfo "Unpacking ${WHITE}${CONFIGFILE}${NORMAL}:" && /usr/bin/unp $CONFIGFILE $EXTRACTOPTIONS ; eend $? + einfo "md5sum of ${WHITE}${TARGET}${NORMAL}: " + md5sum ${TARGET} ; eend 0 + return 0; else - einfo "Sorry, could not fetch $CONFIG" ; eend 1 + einfo "Sorry, could not fetch ${SOURCE}" ; eend 1 + return 1; + fi +} +# }}} + +# {{{ config files +config_netconfig(){ + if checkbootparam 'netconfig' ; then + CONFIG="$(getbootparam 'netconfig' 2>>$DEBUG)" + CONFIGFILE='/tmp/netconfig.grml' + + if get_remote_file ${CONFIG} ${CONFIGFILE} ; then + cd / && einfo "Unpacking ${WHITE}${CONFIGFILE}${NORMAL}:" && /usr/bin/unp $CONFIGFILE $EXTRACTOPTIONS ; eend $? fi + fi } # }}} -- 2.1.4