ssh -n ${testmaster_ssh} rm -rf ${testdir} ${testdir}.git
# check it out in the build
- $RUN_IN_DOMAIN $BASE make -C /build tests-module
+ $RUN_IN_DOMAIN $BASE -- make -C /build tests-module
# push it onto the testmaster - just the 'system' subdir is enough
rsync --verbose --archive $(rootdir $BASE)/build/MODULES/tests/system/ ${testmaster_ssh}:${BASE}
echo " -c testconfig - defaults to $DEFAULT_TESTCONFIG"
echo " -y {pl,pg} - passed to run_log"
echo " -e step - passed to run_log"
+ echo " -i step - passed to run_log"
echo " -X : passes --lxc to run_log"
echo " -S : passes --vs to run_log"
echo " -x <run_log_args> - a hook to pass other arguments to run_log"
SIGNYUMREPO=""
OPTS_ORIG=$@
- OPTS=$(getopt -o "f:d:p:m:s:t:b:o:c:y:e:XSx:w:W:r:M:Yg:u:K:SBTnv7i:P:h" -l "build-branch:" -- $@)
+ OPTS=$(getopt -o "f:d:p:m:s:t:b:o:c:y:e:i:XSx:w:W:r:M:Yg:u:K:SBTnv7i:P:h" -l "build-branch:" -- $@)
if [ $? != 0 ]
then
usage
-y) RUN_LOG_EXTRAS="$RUN_LOG_EXTRAS --rspec-style $2"; shift 2 ;;
# -e foo -> run_log -e foo
-e) RUN_LOG_EXTRAS="$RUN_LOG_EXTRAS --exclude $2"; shift 2 ;;
+ -i) RUN_LOG_EXTRAS="$RUN_LOG_EXTRAS --ignore $2"; shift 2 ;;
# -X -> run_log --lxc
-X) RUN_LOG_EXTRAS="$RUN_LOG_EXTRAS --lxc"; shift;;
# -S -> run_log --vs
virsh --connect lxc:/// start ${BASE} || :
# retrieve environment from the previous run
FCDISTRO=$($RUN_IN_DOMAIN ${BASE} /build/getdistroname.sh)
- BUILD_SCM_URL=$($RUN_IN_DOMAIN ${BASE} make --no-print-directory -C /build stage1=skip +build-GITPATH)
+ BUILD_SCM_URL=$($RUN_IN_DOMAIN ${BASE} -- make --no-print-directory -C /build stage1=skip +build-GITPATH)
# for efficiency, crop everything in one make run
tmp=/tmp/${BASE}-env.sh
- $RUN_IN_DOMAIN ${BASE} make --no-print-directory -C /build stage1=skip \
+ $RUN_IN_DOMAIN ${BASE} -- make --no-print-directory -C /build stage1=skip \
++PLDISTRO ++PLDISTROTAGS ++PERSONALITY ++MAILTO ++WEBPATH ++TESTBUILDURL ++WEBROOT > $tmp
. $tmp
rm -f $tmp
# update build
[ -n "$SSH_KEY" ] && setupssh ${BASE} ${SSH_KEY}
- $RUN_IN_DOMAIN $BASE bash -c "cd /build; git pull; make tests-clean"
+ $RUN_IN_DOMAIN $BASE -- "cd /build; git pull; make tests-clean"
# make sure we refresh the tests place in case it has changed
rm -f /build/MODULES/tests
options=(${options[@]} -d $PLDISTRO -t $PLDISTROTAGS -s $BUILD_SCM_URL)
# Create lxc vm
cd $tmpdir
- ./lbuild-initvm.sh $VERBOSE -f ${FCDISTRO} -d ${PLDISTRO} -p ${PERSONALITY} -i ${IFNAME} ${PREINSTALLED} ${BASE}
+ ./lbuild-initvm.sh $VERBOSE -f ${FCDISTRO} -d ${PLDISTRO} -p ${PERSONALITY} ${PREINSTALLED} ${BASE}
# cleanup
cd -
rm -rf $tmpdir
# Extract build again - in the vm
[ -n "$SSH_KEY" ] && setupssh ${BASE} ${SSH_KEY}
# xxx not working as of now - waiting for Sapan to look into this
- $RUN_IN_DOMAIN $BASE -- bash -c "git clone $GIT_REPO /build; cd /build; git checkout $GIT_TAG"
+ $RUN_IN_DOMAIN $BASE -- "git clone $GIT_REPO /build; cd /build; git checkout $GIT_TAG"
fi
echo "XXXXXXXXXX $COMMAND: preparation of vm $BASE done" $(date)
# invoke this command in the vm for building (-T)
$RUN_IN_DOMAIN ${BASE} chmod +x /build/$COMMAND
- $RUN_IN_DOMAIN ${BASE} /build/$COMMAND "${options[@]}" -b "${BASE}" "${MAKEVARS[@]}" "${MAKETARGETS[@]}"
+ $RUN_IN_DOMAIN ${BASE} -- /build/$COMMAND "${options[@]}" -b "${BASE}" "${MAKEVARS[@]}" "${MAKETARGETS[@]}"
fi
# publish to the web so run_log can find them
else
# run scanpackages so we can use apt-get on this
# (not needed on fedora b/c this is done by the regular build already)
- $RUN_IN_DOMAIN $BASE bash -c "(cd /build ; dpkg-scanpackages DEBIAN/ | gzip -9c > Packages.gz)"
+ $RUN_IN_DOMAIN $BASE -- -c "(cd /build ; dpkg-scanpackages DEBIAN/ | gzip -9c > Packages.gz)"
webpublish mkdir -p $WEBPATH/$BASE/DEBIAN
webpublish_rsync_files $WEBPATH/$BASE/DEBIAN/ $(rootdir $BASE)/build/DEBIAN/*.deb
webpublish_rsync_files $WEBPATH/$BASE/ $(rootdir $BASE)/build/Packages.gz
echo "==================== MAIN END $(date)"
fi
-}
+}
##########
main "$@"