summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2009-07-04 03:16:14 +1000
committerAllan McRae <allan@archlinux.org>2009-07-10 16:29:58 +1000
commit6092dda1775a3d887d557c0e4961645a4ed67064 (patch)
tree9f47c42438a22f4a651beb211f49bb131f7abdbb
parente72cce352a4f43e371998dc8985b5fa2e0102216 (diff)
downloadpacman-6092dda1775a3d887d557c0e4961645a4ed67064.tar.xz
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>
-rw-r--r--scripts/makepkg.sh.in14
1 files changed, 11 insertions, 3 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 8aa6cfcc..4d4ec369 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -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