makepkg: check for package functions when package splitting

Makes sure the required package functions are present when using package
splitting.  Also moves setting of pkgbase variable outside the
check_sanity function to somewhere more appropriate.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2009-07-04 03:16:14 +10:00
parent e72cce352a
commit 6092dda177
1 changed files with 11 additions and 3 deletions

View File

@ -1135,9 +1135,6 @@ check_sanity() {
if [ "$arch" = 'any' ]; then
CARCH='any'
fi
pkgbase=${pkgbase:-${pkgname[0]}}
if ! in_array $CARCH ${arch[@]}; then
if [ "$IGNOREARCH" -eq 0 ]; then
error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgbase" "$CARCH"
@ -1179,6 +1176,15 @@ check_sanity() {
return 1
fi
if [ "${#pkgname[@]}" -gt "1" ]; then
for pkg in ${pkgname[@]}; do
if [ "$(type -t package_${pkg})" != "function" ]; then
error "$(gettext "missing package function for split package '%s'")" "$pkg"
return 1
fi
done
fi
return 0
}
@ -1655,6 +1661,8 @@ if [ "${#pkgname[@]}" -gt "1" ]; then
SPLITPKG=1
fi
pkgbase=${pkgbase:-${pkgname[0]}}
if [ "$SPLITPKG" -eq 0 ]; then
if [ -f "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" \
-a "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" -eq 0 ]; then