arch/build-pkg.sh
2021-05-02 18:02:20 +02:00

71 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
function build-pkg() {
# $1: package-name
local PKG
PKG="$1"
# check if PKGBUILD exists, otherwise skip
[ -f "pkg/${PKG}/PKGBUILD" ] || {
echo "Package ${PKG} does not contain a PKGBUILD file - skipping it!"; return 0;
}
cd "pkg/${PKG}" || return $?
# build and copy to /home/custompkgs
aur build -c || {
echo "Package ${PKG} failed!";
FAILED_PKGS+=("${PKG}");
}
## build
# makepkg -Ccsr || return $?
## copy to /home/custompkgs
# cp "${PKG}-"*.pkg.tar.zst /home/custompkgs/ || return $?
cd ../.. || return $?
}
function build-all() {
for PKG in pkg/*; do
build-pkg "$(basename "${PKG}")" || return $?
done
}
function main() {
# usage:
# either zero arguments to build all packages
# or the names of the packages to build as arguments
FAILED_PKGS=()
if [ "$#" -gt "0" ]; then
# at least one argument is given
for PKG in "$@"; do
build-pkg "$PKG" || return $?
done
else
# no arguments given
build-all || return $?
fi
# push remote repository
echo ""
arch-repo-push-new || exit
if [ "${#FAILED_PKGS[@]}" -gt "0" ]; then
echo ""
echo "Warning: Not all packages were build successfully: ${FAILED_PKGS[*]}"
return 1
fi
}
main "$@"