diff options
author | Allan McRae <allan@archlinux.org> | 2009-07-03 19:16:14 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2009-07-10 08:29:58 +0200 |
commit | 6092dda1775a3d887d557c0e4961645a4ed67064 (patch) | |
tree | 9f47c42438a22f4a651beb211f49bb131f7abdbb | |
parent | e72cce352a4f43e371998dc8985b5fa2e0102216 (diff) | |
download | pacman-6092dda1775a3d887d557c0e4961645a4ed67064.tar.gz pacman-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.in | 14 |
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 |