summaryrefslogtreecommitdiff
path: root/lib/talloc/script/release-script.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/talloc/script/release-script.sh')
-rwxr-xr-xlib/talloc/script/release-script.sh41
1 files changed, 24 insertions, 17 deletions
diff --git a/lib/talloc/script/release-script.sh b/lib/talloc/script/release-script.sh
index fd5c1eff5d..2f354ab35a 100755
--- a/lib/talloc/script/release-script.sh
+++ b/lib/talloc/script/release-script.sh
@@ -10,19 +10,6 @@ if [ ! -d "lib/talloc" ]; then
exit 1
fi
-# Check exports and signatures are up to date
-pushd lib/talloc
-./script/abi_checks.sh talloc talloc.h
-abicheck=$?
-popd
-if [ ! "$abicheck" = "0" ]; then
- echo "ERROR: ABI Checks produced warnings!"
- exit 1
-fi
-
-git clean -f -x -d lib/talloc
-git clean -f -x -d lib/replace
-
curbranch=`git branch |grep "^*" | tr -d "* "`
version=$1
@@ -35,15 +22,36 @@ if [ ! "$?" = "0" ]; then
exit 1
fi
+function cleanquit {
+ #Clean up
+ git checkout $curbranch
+ git branch -d talloc-release-script-${strver}
+ exit $1
+}
+
+# NOTE: use cleanquit after this point
git checkout talloc-release-script-${strver}
# Test configure agrees with us
confver=`grep "^AC_INIT" lib/talloc/configure.ac | tr -d "AC_INIT(talloc, " | tr -d ")"`
if [ ! "$confver" = "$version" ]; then
echo "Wrong version, requested release for ${version}, found ${confver}"
- exit 1
+ cleanquit 1
+fi
+
+# Check exports and signatures are up to date
+pushd lib/talloc
+./script/abi_checks.sh talloc talloc.h
+abicheck=$?
+popd
+if [ ! "$abicheck" = "0" ]; then
+ echo "ERROR: ABI Checks produced warnings!"
+ cleanquit 1
fi
+git clean -f -x -d lib/talloc
+git clean -f -x -d lib/replace
+
# Now build tarball
cp -a lib/talloc talloc-${version}
cp -a lib/replace talloc-${version}/libreplace
@@ -53,6 +61,5 @@ popd
tar cvzf talloc-${version}.tar.gz talloc-${version}
rm -fr talloc-${version}
-#Clean up
-git checkout $curbranch
-git branch -d talloc-release-script-${strver}
+cleanquit 0
+