X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vbuild-nightly.sh;h=739bf1b12ff6673999f3696e8d3d7758830a9e69;hb=9a30f82d1d7a5c7c61e1136ca63e9402fb0d80f8;hp=38a2c01dd1cfb3ab1cc02584bc926f64122c2c19;hpb=f45900b3272030a758a6f6c347024e6760ae4ed5;p=build.git diff --git a/vbuild-nightly.sh b/vbuild-nightly.sh index 38a2c01d..739bf1b1 100755 --- a/vbuild-nightly.sh +++ b/vbuild-nightly.sh @@ -9,7 +9,7 @@ DEFAULT_FCDISTRO=centos5 DEFAULT_PLDISTRO=planetlab DEFAULT_PERSONALITY=linux32 DEFAULT_BASE="@DATE@--@PLDISTRO@-@FCDISTRO@-@PERSONALITY@" -DEFAULT_BUILD_SCM_URL="http://svn.planet-lab.org/svn/build/trunk" +DEFAULT_BUILD_SCM_URL="git://git.onelab.eu/build" DEFAULT_IFNAME=eth0 # default gpg path used in signing yum repo @@ -121,7 +121,7 @@ function webpublish_append_stdin_to_file () { ssh root@${WEBHOST} cat \>\> $1; } function failure() { set -x # early stage ? - let's not create /build/@PLDISTRO@ - if webpublish_misses_dir $WEBPATH ; then + if test -z "$WEBLOG" ; then WEBHOST=localhost WEBPATH=/tmp WEBBASE=/tmp/vbuild-early-$(date +%Y-%m-%d) @@ -136,6 +136,7 @@ function failure() { if [ -n "$MAILTO" ] ; then ( \ echo "Subject: Failures with $MAIL_SUBJECT $BASE on $(hostname)" ; \ + echo "To: $MAILTO" ; \ echo "See full build log at $WEBBASE_URL/log.txt" ; \ echo "and tail version at $WEBBASE_URL.ko" ; \ echo "See complete set of testlogs at $WEBBASE_URL/testlogs" ; \ @@ -149,7 +150,7 @@ function failure() { function success () { set -x # early stage ? - let's not create /build/@PLDISTRO@ - if webpublish_misses_dir ${WEBPATH} ; then + if test -z "$WEBLOG" ; then WEBHOST=localhost WEBPATH=/tmp WEBLOG=/tmp/vbuild-early-$(date +%Y-%m-%d).log.txt @@ -174,6 +175,7 @@ function success () { if [ -n "$MAILTO" ] ; then ( \ echo "Subject: Success with ${MAIL_SUBJECT} ${BASE} on $(hostname)" ; \ + echo "To: $MAILTO" ; \ echo "$PLDISTRO ($BASE) build for $FCDISTRO completed on $(date)" ; \ echo "See full build log at $WEBBASE_URL/log.txt" ; \ [ -n "$DO_TEST" ] && echo "See complete set of testlogs at $WEBBASE_URL/testlogs" ) \ @@ -214,6 +216,9 @@ function build () { MAKEVARS=("BASE=${BASE}" "${MAKEVARS[@]}") + # initialize latex + /build/latex-first-run.sh || : + # stage1 make -C /build $DRY_RUN "${MAKEVARS[@]}" stage1=true # versions @@ -405,6 +410,7 @@ function usage () { echo " -p personality - defaults to $DEFAULT_PERSONALITY" echo " -m mailto - no default" echo " -s build_scm_url - git or svn URL where to fetch the build module - defaults to $DEFAULT_BUILD_SCM_URL" + echo " define GIT tag or branch name appending @tagname to url" echo " -t pldistrotags - defaults to \${PLDISTRO}-tags.mk" echo " -b base - defaults to $DEFAULT_BASE" echo " @NAME@ replaced as appropriate" @@ -426,6 +432,7 @@ function usage () { echo " -v - be verbose" echo " -7 - uses weekday-@FCDISTRO@ as base" echo " -i ifname - defaults to $DEFAULT_IFNAME - used to determine local IP" + echo " --build-branch branch - build using the branch from build module" exit 1 } @@ -442,40 +449,47 @@ function main () { PUBLISH_SRPMS=true SSH_KEY="" SIGNYUMREPO="" - while getopts "f:d:p:m:s:t:b:o:c:w:W:r:M:yg:u:K:SBTnv7i:" opt ; do - case $opt in - f) FCDISTRO=$OPTARG ;; - d) PLDISTRO=$OPTARG ;; - p) PERSONALITY=$OPTARG ;; - m) MAILTO=$OPTARG ;; - s) BUILD_SCM_URL=$OPTARG ;; - t) PLDISTROTAGS=$OPTARG ;; - b) BASE=$OPTARG ;; - o) OVERBASE=$OPTARG ;; - c) TESTCONFIG="$TESTCONFIG $OPTARG" ;; - w) WEBPATH=$OPTARG ;; - W) TESTBUILDURL=$OPTARG ;; - r) WEBROOT=$OPTARG ;; - M) TESTMASTER=$OPTARG ;; - y) SIGNYUMREPO=true ;; - g) GPGPATH=$OPTARG ;; - u) GPGUID=$OPTARG ;; - K) SSH_KEY=$OPTARG ;; - S) PUBLISH_SRPMS="" ;; - B) DO_TEST= ;; - T) DO_BUILD= ;; - n) DRY_RUN="-n" ;; - v) set -x ; VERBOSE="-v" ;; - 7) BASE="$(date +%a|tr A-Z a-z)-@FCDISTRO@" ;; - i) IFNAME=$OPTARG ;; - h|*) usage ;; + + OPTS_ORIG=$@ + OPTS=$(getopt -o "f:d:p:m:s:t:b:o:c:w:W:r:M:yg:u:K:SBTnv7i:h" -l "build-branch:" -- $@) + if [ $? != 0 ] + then + usage + fi + eval set -- "$OPTS" + while true; do + case $1 in + -f) FCDISTRO=$2; shift 2 ;; + -d) PLDISTRO=$2; shift 2 ;; + -p) PERSONALITY=$2; shift 2 ;; + -m) MAILTO=$2; shift 2 ;; + -s) BUILD_SCM_URL=$2; shift 2 ;; + -t) PLDISTROTAGS=$2; shift 2 ;; + -b) BASE=$2; shift 2 ;; + -o) OVERBASE=$2; shift 2 ;; + -c) TESTCONFIG="$TESTCONFIG $2"; shift 2 ;; + -w) WEBPATH=$2; shift 2 ;; + -W) TESTBUILDURL=$2; shift 2 ;; + -r) WEBROOT=$2; shift 2 ;; + -M) TESTMASTER=$2; shift 2 ;; + -y) SIGNYUMREPO=true; shift ;; + -g) GPGPATH=$2; shift 2 ;; + -u) GPGUID=$2; shift 2 ;; + -K) SSH_KEY=$2; shift 2 ;; + -S) PUBLISH_SRPMS="" ; shift ;; + -B) DO_TEST= ; shift ;; + -T) DO_BUILD= ; shift;; + -n) DRY_RUN="-n" ; shift ;; + -v) set -x ; VERBOSE="-v" ; shift ;; + -7) BASE="$(date +%a|tr A-Z a-z)-@FCDISTRO@" ; shift ;; + -i) IFNAME=$2; shift 2 ;; + -h) usage ; shift ;; + --) shift; break ;; esac done - + # preserve options for passing them again later, together with expanded base - declare -a options - toshift=$(($OPTIND - 1)) - arg=1; while [ $arg -le $toshift ] ; do options=(${options[@]} "$1") ; shift; arg=$(($arg+1)) ; done + options=$OPTS_ORIG # allow var=value stuff; for target in "$@" ; do