aur-buildbot/buildpkg

46 lines
987 B
Bash
Executable File

#!/bin/bash
# Get package name
PACKAGE=${1}
shift
# Defaults
XDG_CACHE_HOME=${XDG_CACHE_HOME:="${HOME}/.cache"}
PKG_SOURCE_DIR="$XDG_CACHE_HOME/aursync/$PACKAGE"
MAIL_RECIPIENT=${INVOKER:="mark@Willywonka"}
if [ ! "$(whoami)" == "builduser" ]; then
su builduser -c "${0}" "${PACKAGE}"
exit
fi
# Update packages
echo "#### Updating packages"
sudo pacman --noconfirm -Syu
# aursync starts 'less' to show files, no thanks
export PAGER=cat
# Check for previous failed build and clean up
if [ -f "$PKG_SOURCE_DIR/FAILED" ]; then
echo "#### Cleaning up previous failed build"
rm -rf "$PKG_SOURCE_DIR"
fi
# Start aursync
LOGF=$(mktemp)
(
set -o pipefail
aursync -n ${PACKAGE} | tee ${LOGF}
)
# Mark package source dir failed
if [ ! $? -eq 0 ]; then
touch "$PKG_SOURCE_DIR/FAILED"
echo "#### Build failed"
cat ${LOGF} | mail -s "Build for AUR package '$PACKAGE' failed" ${MAIL_RECIPIENT}
fi
rm ${LOGF}
# vim:ft=sh