From 60388478657b77d8c1822085f4fa8bd30174e806 Mon Sep 17 00:00:00 2001 From: thierry Date: Fri, 9 Nov 2007 10:48:25 +0000 Subject: [PATCH] fix arg passing to vserver --- scripts/nightly-build-vserver.sh | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/scripts/nightly-build-vserver.sh b/scripts/nightly-build-vserver.sh index d688b7b..056a799 100755 --- a/scripts/nightly-build-vserver.sh +++ b/scripts/nightly-build-vserver.sh @@ -65,12 +65,12 @@ function build () { show_env echo "Running make IN build $(pwd)" - make stage1=true ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C /build + make stage1=true "${MAKEOPTS[@]}" DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} "${MAKEVARS[@]}" -C /build # in case we use an older build set +e - make ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C /build versions + make "${MAKEOPTS[@]}" DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} "${MAKEVARS[@]}" -C /build versions set -e - make ${MAKEOPTS[@]} DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} ${MAKEVARS[@]} -C /build $MAKETARGETS + make "${MAKEOPTS[@]}" DISTROMAKETAGS=${DISTROMAKETAGS} PLDISTRO=${DISTRO} "${MAKEVARS[@]}" -C /build $MAKETARGETS # restore silent mode - otherwise cron gets it set +x @@ -136,16 +136,16 @@ function usage () { echo "Usage: $COMMAND [option] make-targets" echo "This is revision $REVISION" echo "Supported options" - echo " -f FC_DISTRO - defaults to $DEFAULT_FC_DISTRO" - echo " -b BASE - may include @, then replaced with current date" - echo " -u : uses directory given as BASE as is, even if already exists" + echo " -n dry-run : -n passed to make - no mail sent" echo " -d PLDISTRO" + echo " -b BASE - may include @, then replaced with current date" echo " -t PLDISTROMAKETAGS" echo " -r TAGSRELEASE - a release number that refers to PLDISTROMAKETAGS - defaults to HEAD" - echo " -s MAKEVAR=value - spaces in value are not supported" - echo " -n dry-run : -n passed to make - no mail sent" + echo " -s SVNPATH - where to fetch the build module" + echo " -f FC_DISTRO - defaults to $DEFAULT_FC_DISTRO" + echo " -u : uses directory given as BASE as is, even if already exists" + echo " -s MAKEVAR=value" echo " -m MAILTO" - echo " -s SVNPATH" echo " -B : run build only" echo " -T : run test only" exit 1 @@ -154,6 +154,13 @@ function usage () { function main () { set -x + + # preserve arguments for passing them again later + declare -a argv + for arg in "$@"; do argv=(${argv[@]} "$arg") ; done + # xxx + for x in "${argv[@]}"; do echo 'argv>'$x'<' ; done + # parse arguments MAKEVARS=() MAKEOPTS=() @@ -167,7 +174,7 @@ function main () { d) DISTRO=$OPTARG ;; t) DISTROMAKETAGS=$OPTARG ;; r) TAGSRELEASE=$OPTARG ;; - s) MAKEVARS=(${MAKEVARS[@]} $OPTARG) ;; + s) MAKEVARS=(${MAKEVARS[@]} "$OPTARG") ;; n) MAILTO="" ; MAKEOPTS=(${MAKEOPTS[@]} -n) ;; m) MAILTO=$OPTARG ;; s) SVNPATH=$OPTARG ;; @@ -233,10 +240,9 @@ function main () { echo "XXXXXXXXXX $COMMAND: preparation of vserver $BASE done" $(date) >> $LOG 2>&1 cp $COMMANDPATH /vservers/${BASE}/ # invoke this command in the vserver - vserver ${BASE} exec /$COMMAND "$@" >> $LOG 2>&1 + vserver ${BASE} exec /$COMMAND "${argv[@]}" >> $LOG 2>&1 else - echo "In vserver : got args" "$@" if [ -n "$DO_BUILD" ] ; then build touch /build-ok -- 2.43.0