From d0124f9b8e0b89447524629eef76876080cab9d6 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Fri, 18 Jun 2010 09:35:11 +0200 Subject: [PATCH] updated for the new version of module tools - uses 2 separate workdirs for 4.3 and 5.0 --- scripts/all-modules-push.sh | 2 +- scripts/all-modules.sh | 39 ++++++++++++++++++++++--------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/scripts/all-modules-push.sh b/scripts/all-modules-push.sh index 8df2491..1345375 100755 --- a/scripts/all-modules-push.sh +++ b/scripts/all-modules-push.sh @@ -2,4 +2,4 @@ # # retrieve the diff/version stuff from Princeton, as the computation over there is *much* faster # -rsync -a "$@" ~/all-modules/ root@build.onelab.eu:/build/modules/ +rsync --archive --delete "$@" ~/all-modules/[45]* --exclude .diff\* --exclude .version\* --delete-excluded root@build.onelab.eu:/build/modules/ diff --git a/scripts/all-modules.sh b/scripts/all-modules.sh index 868acd0..b0f5abf 100755 --- a/scripts/all-modules.sh +++ b/scripts/all-modules.sh @@ -19,52 +19,57 @@ COMMAND=$(basename $0) +# make sure the cyclic tasks do not interfere with manual usage +WORKDIR_SVN=${HOME}/all-modules-svn +WORKDIR_GIT=${HOME}/all-modules-git + # 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 - MODULES_OPTION="" else OUTPUT=~/all-modules LOCK=~/all-modules.run - # make sure the cyclic tasks do not interfere with manual usage - MODULES_OPTION="-w ${HOME}/all-modules-working-dir" fi function do_update() { build_dir=$1; shift if [ -f $build_dir/auto-update.sh ] ; then $build_dir/auto-update.sh + elif [ -d $build_dir/.git ] ; then + ( cd $build_dir; git pull > .update.log 2>&1 ) else ( cd $build_dir; svn update > .update.log 2>&1 ) fi } -# usage: do_version dir name +# usage: do_version dir workdir wwwname function do_version () { build_dir=$1; shift - name=$1; shift + workdir=$1; shift + wwwname=$1; shift - out_dir=$OUTPUT/$name + out_dir=$OUTPUT/$wwwname out_file=$out_dir/version.html out_tmp=$out_dir/.version.html mkdir -p $out_dir - $build_dir/module-version $MODULES_OPTION --www $name -a &> $out_tmp + $build_dir/module-version $VERBOSE -w $workdir --www $wwwname -a &> $out_tmp mv -f $out_tmp $out_file } -# usage: do_version dir name +# usage: do_version dir workdir wwwname function do_diff () { build_dir=$1; shift - name=$1; shift + workdir=$1; shift + wwwname=$1; shift - out_dir=$OUTPUT/$name + out_dir=$OUTPUT/$wwwname out_file=$out_dir/diff.html out_tmp=$out_dir/.diff.html mkdir -p $out_dir - $build_dir/module-diff $MODULES_OPTION --www $name -a &> $out_tmp + $build_dir/module-diff $VERBOSE -w $workdir --www $wwwname -a &> $out_tmp mv -f $out_tmp $out_file } @@ -79,7 +84,7 @@ function main () { case "$1" in -f) rm -f $LOCK ;; -i) ls -l $LOCK ; exit 0 ;; - -v) set -x ;; + -v) set -x ; VERBOSE=-v ;; *) usage; exit 1;; esac shift @@ -89,12 +94,14 @@ function main () { echo $$ > $LOCK +# the 5.0 flavour now comes with a non-compatible flavour of the module-tools +# and we need 2 distinc workdirs do_update ~/svn-build - do_version ~/svn-build 5.0 - do_diff ~/svn-build 5.0 + do_version ~/svn-build $WORKDIR_GIT 5.0 + do_diff ~/svn-build $WORKDIR_GIT 5.0 do_update ~/svn-build-4.3 - do_version ~/svn-build-4.3 4.3 - do_diff ~/svn-build-4.3 4.3 + do_version ~/svn-build-4.3 $WORKDIR_SVN 4.3 + do_diff ~/svn-build-4.3 $WORKDIR_SVN 4.3 rm $LOCK -- 2.45.2