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=
|
local WORKER_SLOT=
|
||||||
|
|
||||||
# variables
|
# variables
|
||||||
local _arch path pkgbase pkgrepo source
|
local _arch path pkgbase pkgrepo source pkgbuild_checksum
|
||||||
|
|
||||||
while (( $# )); do
|
while (( $# )); do
|
||||||
case $1 in
|
case $1 in
|
||||||
|
@ -311,6 +311,7 @@ pkgctl_build() {
|
||||||
. ./PKGBUILD
|
. ./PKGBUILD
|
||||||
pkgbase=${pkgbase:-$pkgname}
|
pkgbase=${pkgbase:-$pkgname}
|
||||||
pkgrepo=${REPO}
|
pkgrepo=${REPO}
|
||||||
|
pkgbuild_checksum=$(b2sum PKGBUILD | awk '{print $1}')
|
||||||
msg "Building ${pkgbase}"
|
msg "Building ${pkgbase}"
|
||||||
|
|
||||||
# auto-detection of build target
|
# auto-detection of build target
|
||||||
|
@ -412,6 +413,12 @@ pkgctl_build() {
|
||||||
updpkgsums
|
updpkgsums
|
||||||
fi
|
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
|
# execute build
|
||||||
for arch in "${BUILD_ARCH[@]}"; do
|
for arch in "${BUILD_ARCH[@]}"; do
|
||||||
if [[ -n $arch ]]; then
|
if [[ -n $arch ]]; then
|
||||||
|
|
Loading…
Reference in New Issue