makepkg: delay checking for build package with pkgver()
If a pkgver() function is specified, delay checking the package is built until the pkgver is updated.. Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
7e4aa9e524
commit
a818766c6e
1 changed files with 57 additions and 46 deletions
|
@ -75,6 +75,7 @@ PREPAREFUNC=0
|
||||||
BUILDFUNC=0
|
BUILDFUNC=0
|
||||||
CHECKFUNC=0
|
CHECKFUNC=0
|
||||||
PKGFUNC=0
|
PKGFUNC=0
|
||||||
|
PKGVERFUNC=0
|
||||||
SPLITPKG=0
|
SPLITPKG=0
|
||||||
PKGLIST=()
|
PKGLIST=()
|
||||||
SIGNPKG=''
|
SIGNPKG=''
|
||||||
|
@ -609,9 +610,10 @@ download_sources() {
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if declare -f pkgver >/dev/null && (( GET_VCS )); then
|
if (( PKGVERFUNC && GET_VCS )); then
|
||||||
update_pkgver
|
update_pkgver
|
||||||
check_pkgver || exit 1
|
check_pkgver || exit 1
|
||||||
|
check_build_status
|
||||||
fi
|
fi
|
||||||
|
|
||||||
popd &>/dev/null
|
popd &>/dev/null
|
||||||
|
@ -1875,7 +1877,7 @@ check_sanity() {
|
||||||
ret=1
|
ret=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! declare -f pkgver >/dev/null; then
|
if (( ! PKGVERFUNC )) ; then
|
||||||
check_pkgver || ret=1
|
check_pkgver || ret=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -2113,6 +2115,53 @@ check_software() {
|
||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_build_status() {
|
||||||
|
if (( ! SPLITPKG )); then
|
||||||
|
fullver=$(get_full_version)
|
||||||
|
pkgarch=$(get_pkg_arch)
|
||||||
|
if [[ -f $PKGDEST/${pkgname}-${fullver}-${pkgarch}${PKGEXT} ]] \
|
||||||
|
&& ! (( FORCE || SOURCEONLY || NOBUILD )); then
|
||||||
|
if (( INSTALL )); then
|
||||||
|
warning "$(gettext "A package has already been built, installing existing package...")"
|
||||||
|
install_package
|
||||||
|
exit $?
|
||||||
|
else
|
||||||
|
error "$(gettext "A package has already been built. (use %s to overwrite)")" "-f"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
allpkgbuilt=1
|
||||||
|
somepkgbuilt=0
|
||||||
|
for pkg in ${pkgname[@]}; do
|
||||||
|
fullver=$(get_full_version $pkg)
|
||||||
|
pkgarch=$(get_pkg_arch $pkg)
|
||||||
|
if [[ -f $PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT} ]]; then
|
||||||
|
somepkgbuilt=1
|
||||||
|
else
|
||||||
|
allpkgbuilt=0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if ! (( FORCE || SOURCEONLY || NOBUILD )); then
|
||||||
|
if (( allpkgbuilt )); then
|
||||||
|
if (( INSTALL )); then
|
||||||
|
warning "$(gettext "The package group has already been built, installing existing packages...")"
|
||||||
|
install_package
|
||||||
|
exit $?
|
||||||
|
else
|
||||||
|
error "$(gettext "The package group has already been built. (use %s to overwrite)")" "-f"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if (( somepkgbuilt && ! PKGVERFUNC )); then
|
||||||
|
error "$(gettext "Part of the package group has already been built. (use %s to overwrite)")" "-f"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
unset allpkgbuilt somepkgbuilt
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
backup_package_variables() {
|
backup_package_variables() {
|
||||||
local var
|
local var
|
||||||
for var in ${splitpkg_overrides[@]}; do
|
for var in ${splitpkg_overrides[@]}; do
|
||||||
|
@ -2474,6 +2523,10 @@ if (( GENINTEG )); then
|
||||||
exit 0 # $E_OK
|
exit 0 # $E_OK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if declare -f pkgver >/dev/null; then
|
||||||
|
PKGVERFUNC=1
|
||||||
|
fi
|
||||||
|
|
||||||
# check the PKGBUILD for some basic requirements
|
# check the PKGBUILD for some basic requirements
|
||||||
check_sanity || exit 1
|
check_sanity || exit 1
|
||||||
|
|
||||||
|
@ -2520,50 +2573,8 @@ if { [[ -z $SIGNPKG ]] && check_buildenv "sign" "y"; } || [[ $SIGNPKG == 'y' ]];
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if (( ! PKGVERFUNC )); then
|
||||||
if (( ! SPLITPKG )); then
|
check_build_status
|
||||||
fullver=$(get_full_version)
|
|
||||||
pkgarch=$(get_pkg_arch)
|
|
||||||
if [[ -f $PKGDEST/${pkgname}-${fullver}-${pkgarch}${PKGEXT} ]] \
|
|
||||||
&& ! (( FORCE || SOURCEONLY || NOBUILD )); then
|
|
||||||
if (( INSTALL )); then
|
|
||||||
warning "$(gettext "A package has already been built, installing existing package...")"
|
|
||||||
install_package
|
|
||||||
exit $?
|
|
||||||
else
|
|
||||||
error "$(gettext "A package has already been built. (use %s to overwrite)")" "-f"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
allpkgbuilt=1
|
|
||||||
somepkgbuilt=0
|
|
||||||
for pkg in ${pkgname[@]}; do
|
|
||||||
fullver=$(get_full_version $pkg)
|
|
||||||
pkgarch=$(get_pkg_arch $pkg)
|
|
||||||
if [[ -f $PKGDEST/${pkg}-${fullver}-${pkgarch}${PKGEXT} ]]; then
|
|
||||||
somepkgbuilt=1
|
|
||||||
else
|
|
||||||
allpkgbuilt=0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if ! (( FORCE || SOURCEONLY || NOBUILD )); then
|
|
||||||
if (( allpkgbuilt )); then
|
|
||||||
if (( INSTALL )); then
|
|
||||||
warning "$(gettext "The package group has already been built, installing existing packages...")"
|
|
||||||
install_package
|
|
||||||
exit $?
|
|
||||||
else
|
|
||||||
error "$(gettext "The package group has already been built. (use %s to overwrite)")" "-f"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if (( somepkgbuilt )); then
|
|
||||||
error "$(gettext "Part of the package group has already been built. (use %s to overwrite)")" "-f"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
unset allpkgbuilt somepkgbuilt
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run the bare minimum in fakeroot
|
# Run the bare minimum in fakeroot
|
||||||
|
|
Loading…
Add table
Reference in a new issue