makepkg looks for a package() function when building a single package
but package_$pkgname() style package functions when building a split
package.  This patch allows the use of a package_$pkgname() function
when building a single package for consistency.  This is achieved by
having makepkg consider a non-split package with a package_$pkgname()
function as a split package (creating just the one package).

Fixes FS#16622.

Signed-off-by: Allan McRae <[email protected]>
---
 scripts/makepkg.sh.in |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index dd5f951..a576c52 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1742,10 +1742,6 @@ if [ "$GENINTEG" -eq 1 ]; then
        exit 0 # $E_OK
 fi
 
-if [ "$(type -t package)" = "function" ]; then
-       PKGFUNC=1
-fi
-
 # check the PKGBUILD for some basic requirements
 check_sanity || exit 1
 
@@ -1760,6 +1756,12 @@ if [ "${#pkgna...@]}" -gt "1" ]; then
        SPLITPKG=1
 fi
 
+if [ "$(type -t package)" = "function" ]; then
+       PKGFUNC=1
+elif [ $SPLITPKG -eq 0 -a "$(type -t package_${pkgname})" = "function" ]; then
+       SPLITPKG=1
+fi
+
 pkgbase=${pkgbase:-${pkgname[0]}}
 
 if [ -n "${pkgli...@]}" ]; then
-- 
1.6.5.1


Reply via email to