summaryrefslogtreecommitdiffstats
path: root/db-update
diff options
context:
space:
mode:
authorAaron Griffin <aaronmgriffin@gmail.com>2008-08-31 04:21:43 +0200
committerAaron Griffin <aaronmgriffin@gmail.com>2008-08-31 04:21:43 +0200
commitafc6b5b5977fe77e699af8f02f7c8c4c3df603de (patch)
treec237e2bf8a41cde6a1ce3c981cacc8a1c282e262 /db-update
parent01d2e01a129a4ded9ccba2659250a94cb3fddd36 (diff)
downloaddbscripts-afc6b5b5977fe77e699af8f02f7c8c4c3df603de.tar.gz
dbscripts-afc6b5b5977fe77e699af8f02f7c8c4c3df603de.tar.xz
Create a "common functions" file for DB scripts
Common functions, such as sourcing makepkg, and locking a repo Additionally, repo-locking has been unified to prevent multiple users from corrupting a repo (i.e. db-move run while db-remove in progress) Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Diffstat (limited to 'db-update')
-rwxr-xr-xdb-update24
1 files changed, 6 insertions, 18 deletions
diff --git a/db-update b/db-update
index 4b2571d..5060449 100755
--- a/db-update
+++ b/db-update
@@ -5,13 +5,9 @@ if [ $# -ne 2 ]; then
exit 1
fi
-if [ -f "/etc/makepkg.conf" ]; then
- #Get some config info
- . /etc/makepkg.conf
-else
- echo "/etc/makepkg.conf does not exist!"
- exit 1
-fi
+. "$(dirname $0)/db-functions"
+
+source_makepkg
reponame="$1"
arch="$2"
@@ -28,7 +24,6 @@ stagedir="$HOME/staging/$reponame"
[ "$UID" = "" ] && UID=$(uid)
WORKDIR="/tmp/db-update.$svnrepo.$UID"
-LOCKFILE="/tmp/.repolck.$arch.$reponame"
ADDPKGS=""
REMPKGS=""
@@ -56,7 +51,7 @@ getpkgname() {
cleanup() {
# unlock
- rm -f "$LOCKFILE"
+ repo_unlock $reponame $arch
rm -rf "$WORKDIR"
[ "$1" ] && exit $1
}
@@ -71,17 +66,10 @@ die() {
cleanup 1
}
-# check for locks
-if [ -f "$LOCKFILE" ]; then
- owner="$(/usr/bin/stat -c %U $LOCKFILE)"
- echo "error: db generation is already in progress (started by $owner)"
- exit 1
-fi
-
trap ctrl_c 2
-trap cleanup 0
+trap cleanup 0 1
-/bin/touch "$LOCKFILE"
+repo_lock $reponame $arch
/bin/mkdir -p "$WORKDIR/build"
cd "$WORKDIR"