summaryrefslogtreecommitdiff
path: root/bin/autobuild.sh
diff options
context:
space:
mode:
authorParabola automatic package builder <dev@lists.parabolagnulinux.org>2014-06-23 15:44:26 +0000
committerParabola automatic package builder <dev@lists.parabolagnulinux.org>2014-06-23 15:44:26 +0000
commit1edf452e90fd12615d9b3974324f02b646437d5c (patch)
tree78d6986f61041cc812cbfe38b24e67c38a85d1ff /bin/autobuild.sh
parenta85e305aa6ac8a5ec1040b28e80391e9ea1f4b93 (diff)
fix
Diffstat (limited to 'bin/autobuild.sh')
-rwxr-xr-xbin/autobuild.sh34
1 files changed, 20 insertions, 14 deletions
diff --git a/bin/autobuild.sh b/bin/autobuild.sh
index ccf52ea..e12604c 100755
--- a/bin/autobuild.sh
+++ b/bin/autobuild.sh
@@ -17,11 +17,19 @@
# Get the date as the *very* first thing
newpkgver_date=$(LC_ALL=C date -u +%Y%m%d)
-################################################################################
+export PATH # because of setuid safety, path may be currently un-exported
. "$(librelib messages)"
setup_traps
-# Option parsing
+# Next: get the gitver as soon as possible, we don't want another commit to
+# change it
+if [[ $PWD != *.git ]]; then
+ die "should be run as a hook from a git repository"
+fi
+newgitver=$(git log -n1 --format='%H' master -- blacklist.txt)
+
+# Option parsing ###############################################################
+
if [[ $# != 1 ]]; then
die "%q takes exactly 1 argument" "$0"
fi
@@ -31,21 +39,19 @@ if ! [[ $PACKAGE =~ $package_re ]]; then
die "PACKAGE must be in the format REPO/PKGBASE: %s" "$PACKAGE"
fi
-# init
-lock 9 "${HOME}/packages/lockdir/${PACKAGE}" "Waiting for previous run of %q to finish" "$0"
+# It doesn't seem like it, but this is the earliest we can possibly lock
+lock 9 "${HOME}/packages/lockdir/${PACKAGE}" \
+ "Waiting for previous run of %q to finish" "$0"
+
+################################################################################
. "$(librelib conf)" || exit 1
load_files libretools || exit 1
check_vars libretools WORKDIR ABSLIBRERECV ABSLIBRESEND || exit 1
-if [[ $PWD != *.git ]]; then
- die "should be run as a hook from a git repository"
-fi
-newgitver=$(git log -n1 --format='%H' master -- blacklist.txt)
-
# Get the ABSLibre tree
gitget -f -p "$ABSLIBRESEND" checkout "$ABSLIBRERECV" "$WORKDIR/abslibre"
-if [[ -f "${WORKDIR}/abslibre/${PACKAGE}/PKGBUILD" ]]; then
+if ! [[ -f "${WORKDIR}/abslibre/${PACKAGE}/PKGBUILD" ]]; then
die "package does not exist in abslibre.git: %s" "$PACKAGE"
fi
cd "$WORKDIR/abslibre/${PACKAGE}"
@@ -54,7 +60,7 @@ cd "$WORKDIR/abslibre/${PACKAGE}"
oldgitver=$(sed -n 's/^_gitver=//p' PKGBUILD)
oldpkgver=$(sed -n 's/^pkgver=//p' PKGBUILD)
oldpkgver_date=${oldpkgver%%.*}
-oldpkgver_rel=${oldpkgver#${oldpkgver_date}}; oldpkgver_rel=${oldpkgver_rel#.} oldpkgver_rel=${oldpkgver_rel:-0}
+oldpkgver_rel=${oldpkgver#${oldpkgver_date}}; oldpkgver_rel=${oldpkgver_rel#.}; oldpkgver_rel=${oldpkgver_rel:-0}
# Make sure we actually have changes
if [[ "$newgitver" == "$oldgitver" ]]; then
@@ -71,8 +77,8 @@ else
fi
# Update the PKGBUILD
-sed -i -e 's|^pkgver=.*|pkgver=${newpkgver}|' \
- -e 's|^_gitver=.*|_gitver=${newgitver}|' \
+sed -i -e "s|^pkgver=.*|pkgver=${newpkgver}|" \
+ -e "s|^_gitver=.*|_gitver=${newgitver}|" \
-e 's|^pkgrel=.*|pkgrel=1|' \
PKGBUILD
updpkgsums
@@ -80,7 +86,7 @@ git add PKGBUILD
git commit -m 'Update libre/your-freedom'
# Build the new package
-makepkg
+makepkg -c
librestage libre
# Publish the updates