fix(build): re-source the PKGBUILD to update changed values
During certain operations like --edit, --pkgver etc the PKGBUILD may change since last sourced. If a modified checksum of the PKGBUILD is detected, re-source it before processing. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
This commit is contained in:
parent
ef04960b98
commit
e413b65df3
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue