Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/src/lib/build
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/build')
-rw-r--r--src/lib/build/build.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/build/build.sh b/src/lib/build/build.sh
index a19dd37..5276653 100644
--- a/src/lib/build/build.sh
+++ b/src/lib/build/build.sh
@@ -134,7 +134,7 @@ pkgctl_build() {
local WORKER_SLOT=
# variables
- local _arch path pkgbase pkgrepo source
+ local _arch path pkgbase pkgrepo source pkgbuild_checksum
while (( $# )); do
case $1 in
@@ -311,6 +311,7 @@ pkgctl_build() {
. ./PKGBUILD
pkgbase=${pkgbase:-$pkgname}
pkgrepo=${REPO}
+ pkgbuild_checksum=$(b2sum PKGBUILD | awk '{print $1}')
msg "Building ${pkgbase}"
# auto-detection of build target
@@ -412,6 +413,12 @@ pkgctl_build() {
updpkgsums
fi
+ # re-source the PKGBUILD if it changed
+ if [[ ${pkgbuild_checksum} != "$(b2sum PKGBUILD | awk '{print $1}')" ]]; then
+ # shellcheck source=contrib/makepkg/PKGBUILD.proto
+ . ./PKGBUILD
+ fi
+
# execute build
for arch in "${BUILD_ARCH[@]}"; do
if [[ -n $arch ]]; then