#!/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
+ 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
}
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
}
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
-
-### older syntax was messy
-# ( 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
-#
-# rm -f $out_tmp
-
- $build_dir/module-diff -a -W $name &> $out_file
+ $build_dir/module-diff --www $name -a &> $out_tmp
+ mv -f $out_tmp $out_file
}
echo $$ > $LOCK
- do_update /root/svn-build
- do_diff /root/svn-build trunk
- do_version /root/svn-build trunk
-# 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 ~/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