X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fall-modules.sh;h=2ba61187515500bf730a7ba149abefc2c60c0893;hb=61f43004a1e456439b798b410276ba22b7b26a52;hp=d3f7d5c00fabab4671df21001c0a4bdb163bb81a;hpb=c02baf57bfa86152f4cbdfcc74509f327b7b93b4;p=infrastructure.git diff --git a/scripts/all-modules.sh b/scripts/all-modules.sh index d3f7d5c..2ba6118 100755 --- a/scripts/all-modules.sh +++ b/scripts/all-modules.sh @@ -1,24 +1,31 @@ #!/bin/bash # $Id$ # this script is a wrapper around the module-tools (version and diff) -# it is invoked every 30 minutes on onelab build box +# it is invoked cyclically # prior to that, the following directories will have been svn updated : -# /root/svn-build -# /root/svn-build-4.2 +# ~/svn-build +# ~/root/svn-build-4.2 # avoid running several instances of this script # when the svn server has problems, this can very well last quite a while COMMAND=$(basename $0) -OUTPUT=/build/modules -LOCK=/var/run/all-modules.pid + +# make the command usable as non-root user at Princeton for more efficiency +if [ "$(id -u)" == "0" ] ; then + OUTPUT=/build/modules/slow + LOCK=/var/run/all-modules.pid +else + OUTPUT=~/all-modules + LOCK=~/all-modules.run +fi function do_update() { build_dir=$1; shift if [ -f $build_dir/auto-update.sh ] ; then $build_dir/auto-update.sh else - pushd $build_dir; svn update > .update.log 2>&1 ; popd + ( cd $build_dir; svn update > .update.log 2>&1 ) fi } @@ -28,15 +35,11 @@ function do_version () { name=$1; shift out_dir=$OUTPUT/$name - out_file=$out_dir/version.txt - out_tmp=$out_dir/.version.txt + out_file=$out_dir/version.html + out_tmp=$out_dir/.version.html mkdir -p $out_dir - - ( echo $name ; \ - date ; \ - $build_dir/module-version -a --url ; \ - date ) &> $out_tmp + $build_dir/module-version --www $name -a --url &> $out_tmp mv -f $out_tmp $out_file } @@ -46,21 +49,13 @@ function do_diff () { name=$1; shift out_dir=$OUTPUT/$name - out_file=$out_dir/diff.txt - out_tmp=$out_dir/.diff.txt + out_file=$out_dir/diff.html + out_tmp=$out_dir/.diff.html mkdir -p $out_dir - - ( echo $name ; \ - date ; \ - $build_dir/module-diff -a -o ; \ - date ) &> $out_tmp - - ( echo 'WARNINGS (if any)' ; \ - egrep 'was not found|Skipping failed' $out_tmp ; - cat $out_tmp ) > $out_file + $build_dir/module-diff --www $name -a &> $out_tmp + mv -f $out_tmp $out_file - rm -f $out_tmp } function usage () { @@ -83,12 +78,12 @@ function main () { echo $$ > $LOCK - do_update /root/svn-build-4.2 - do_diff /root/svn-build-4.2 4.2 - do_version /root/svn-build-4.2 4.2 - do_update /root/svn-build - do_diff /root/svn-build trunk - do_version /root/svn-build trunk + do_update ~/svn-build + do_version ~/svn-build 5.0 + do_diff ~/svn-build 5.0 + do_update ~/svn-build-4.3 + do_version ~/svn-build-4.3 4.3 + do_diff ~/svn-build-4.3 4.3 rm $LOCK