[Erp5-report] r20672 - /erp5/trunk/products/ERP5/bin/build_bt5_from_svn.sh
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Apr 18 15:59:28 CEST 2008
Author: yo
Date: Fri Apr 18 15:59:27 2008
New Revision: 20672
URL: http://svn.erp5.org?rev=20672&view=rev
Log:
Clean up, and add options to specify a svn root path and a destination directory.
Modified:
erp5/trunk/products/ERP5/bin/build_bt5_from_svn.sh
Modified: erp5/trunk/products/ERP5/bin/build_bt5_from_svn.sh
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bin/build_bt5_from_svn.sh?rev=20672&r1=20671&r2=20672&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bin/build_bt5_from_svn.sh (original)
+++ erp5/trunk/products/ERP5/bin/build_bt5_from_svn.sh Fri Apr 18 15:59:27 2008
@@ -1,23 +1,43 @@
-#!/bin/bash
+#! /bin/bash
+#
+# Usage: build_bt5_from_svn.sh [-p path] [-d dir]
+#
+# The path is the last part of the svn root, for example, tag/5.0 or trunk.
+# By default, the path is "trunk".
+#
+# The dir is the destination directory where the repository is made.
+# By default, the dir is the current directory.
-# TODO: BT5 version support (stable/unstable)
+set -e
+
+path=trunk
+repository=$(pwd)
+
+while getopts "p:d:" opt; do
+ case $opt in
+ p) path="$OPTARG" ;;
+ d) repository="$OPTARG" ;;
+ esac
+done
# Lock file name
-LOCKFILE="/tmp/`basename $0`.lock"
+LOCKFILE="/tmp/$(basename $0).lock"
# SVN paths
-SVNROOT="https://svn.erp5.org/repos/public/erp5/trunk/"
+SVNROOT="https://svn.erp5.org/repos/public/erp5/$path"
# Relative svn paths to fetch
MODULES="bt5 products/ERP5/bootstrap"
# Script generating the business template repository index
GENBTLIST="products/ERP5/bin"
-# Local directory to receive CVS copy
+# Local directory to receive SVN copies
BASELOCALDIR="/tmp"
+LOCALDIR="$BASELOCALDIR/$$"
# Local directory to receive butiness templates
-BT5DIR="/var/lib/zope/static/reposit/erp5/upload_module"
+BT5DIR="$repostiry"
-function cleanup () {
- rm -f $LOCKFILE
- exit 1
+
+function cleanup {
+ rm -f "$LOCKFILE"
+ rm -rf "$LOCALDIR"
}
if [ -e "$LOCKFILE" ]; then
@@ -25,37 +45,37 @@
exit 1
fi
-touch "$LOCKFILE" || exit 1
-LOCALDIR="$BASELOCALDIR/$$"
-mkdir "$LOCALDIR" || cleanup
+trap "cleanup" ERR
+
+touch "$LOCKFILE"
+mkdir "$LOCALDIR"
for MODULE in $MODULES; do
- # Checkout the source code from cvs
- cd "$LOCALDIR" || cleanup
- svn co "$SVNROOT$MODULE" > /dev/null || cleanup
+ # Checkout the source code from svn
+ cd "$LOCALDIR"
+ svn co "$SVNROOT/$MODULE" > /dev/null
BMODULE=`basename "$MODULE"`
# Create one archive for each Business Template
cd "$LOCALDIR/$BMODULE"
for BT5 in `ls "$LOCALDIR/$BMODULE"`; do
if [ -d "$LOCALDIR/$BMODULE/$BT5" ]; then
- tar -zcf "$LOCALDIR/$BT5.bt5" --exclude .svn "$BT5" || cleanup
+ tar -zcf "$LOCALDIR/$BT5.bt5" --exclude .svn "$BT5"
fi
done
done
# Get the latest version of the genbt5list and generate the index
-cd "$LOCALDIR" || cleanup
-svn co "$SVNROOT$GENBTLIST" > /dev/null || cleanup
+cd "$LOCALDIR"
+svn co "$SVNROOT/$GENBTLIST" > /dev/null
# Publish the repository
mv -f "$LOCALDIR/"*.bt5 "$BT5DIR"
# Generate the index from repository directory, in case there are BT5 manually added there
-cd "$BT5DIR" || cleanup
+cd "$BT5DIR"
/usr/bin/python "$LOCALDIR/`basename $GENBTLIST`/genbt5list" > /dev/null
chmod go+r bt5list
# Clean up
-rm -rf $LOCALDIR
-rm -f $LOCKFILE
+cleanup
More information about the Erp5-report
mailing list