summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xarchPackagesUpdate29
1 files changed, 21 insertions, 8 deletions
diff --git a/archPackagesUpdate b/archPackagesUpdate
index 9e53dddd5..57d70f020 100755
--- a/archPackagesUpdate
+++ b/archPackagesUpdate
@@ -11,6 +11,7 @@ pkgSrcDir="$(dirname $(readlink -f -n "$0"))"
force=false
upload=true
updateMe=true
+abortOnMakepkgError=true
# print help screen
usage()
@@ -19,16 +20,17 @@ usage()
>&2 echo 'Skript zum Updaten der selbsterstellten Archlinux-Pakete'
>&2 echo ''
>&2 echo 'Verwendung:'
- >&2 echo ' '"$0"' [ -f|--force ] [ --no-upload ] [ --no-selfUpdate ]'
- >&2 echo ' -f|--force: rebuild packages even if they look up to date'
- >&2 echo ' --no-upload: do not upload built packages from rechenknecht to jeti100'
- >&2 echo ' --no-selfUpdate: do not update this script from git'
+ >&2 echo ' '"$0"' [ -f|--force ] [ --no-upload ] [ --no-selfUpdate ] [ --no-abortOnMakepkgError ]'
+ >&2 echo ' -f|--force: rebuild packages even if they look up to date'
+ >&2 echo ' --no-upload: do not upload built packages from rechenknecht to jeti100'
+ >&2 echo ' --no-selfUpdate: do not update this script from git'
+ >&2 echo ' --no-abortOnMakepkgError: do not abort when makepkg returns non-zero'
>&2 echo ''
exit 1
}
# parse arguments
-eval set -- "$(getopt -o f --long force,no-upload,no-selfUpdate -n "$(basename "$0")" -- "$@" || echo "usage")"
+eval set -- "$(getopt -o f --long force,no-upload,no-selfUpdate,no-abortOnMakepkgError -n "$(basename "$0")" -- "$@" || echo "usage")"
while true
do
@@ -45,6 +47,10 @@ do
updateMe=false
shift
;;
+ --no-abortOnMakepkgError)
+ abortOnMakepkgError=false
+ shift
+ ;;
--)
shift
break
@@ -127,6 +133,7 @@ done
if ${aufRechenknecht}
then
sudo pacman -Syy
+ err=0
# build packages
for ((i=0; i<${#pakete[@]}; i++))
@@ -142,14 +149,18 @@ then
then
# 32-bit is built in chroot
echo 'cd "'"${tmpDir}/${paket}"'" && makepkg -fcsr --noconfirm && exit' | \
- chrootUnpriv || exit $?
+ chrootUnpriv
+ tmpErr=$?
else
# everything else is built directly
- makepkg -fcsr --noconfirm || exit $?
+ makepkg -fcsr --noconfirm
+ tmpErr=$?
fi
+ ${abortOnMakepkgError} && [ ${tmpErr} -ne 0 ] && exit ${tmpErr}
+ [ ${tmpErr} -gt ${err} ] && err=${tmpErr}
# upload packages
- if ${upload}
+ if ${upload} && [ ${tmpErr} -eq 0 ]
then
scp ${tmpDir}/${paket}/${paket}-${vers}-${arch}.pkg.tar.xz paule@127.0.0.1:${pkgDir}/${arch}/
[ "${arch}" == "any" ] && ssh paule@127.0.0.1 '\
@@ -165,6 +176,8 @@ then
fi
done
+ [ ${err} -ne 0 ] && exit ${err}
+
# update packagedb
if ${upload}
then