summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2019-01-04 13:09:38 +1000
committerAllan McRae <allan@archlinux.org>2019-01-04 15:43:41 +1000
commit2f15921230a424c57c13dc0ba0776d87c2f590c4 (patch)
tree80b2a8c50dff1dc187753518011388eb70b4ce6e
parent7c5958e0eb8f77feab743adcce05b8bfa600b69e (diff)
downloadpacman-2f15921230a424c57c13dc0ba0776d87c2f590c4.tar.gz
pacman-2f15921230a424c57c13dc0ba0776d87c2f590c4.zip
makepkg: Create a single-package packaging function
Merge the similar code handling unsplit PKGBUILDs and individual packages in a split PKGBUILD and make it a new function. Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in31
1 files changed, 15 insertions, 16 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 33b3a70e..e3a392d4 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -922,20 +922,25 @@ restore_package_variables() {
done
}
+run_single_packaging() {
+ pkgdir="$pkgdirbase/$pkgname"
+ mkdir "$pkgdir"
+ if [[ -n $1 ]] || (( PKGFUNC )); then
+ run_package $1
+ fi
+ tidy_install
+ lint_package || exit $E_PACKAGE_FAILED
+ create_package
+}
+
run_split_packaging() {
local pkgname_backup=("${pkgname[@]}")
backup_package_variables
for pkgname in ${pkgname_backup[@]}; do
- pkgdir="$pkgdirbase/$pkgname"
- mkdir "$pkgdir"
- run_package $pkgname
- tidy_install
- lint_package || exit $E_PACKAGE_FAILED
- create_package
+ run_single_packaging $pkgname
restore_package_variables
done
pkgname=("${pkgname_backup[@]}")
- create_debug_package
}
usage() {
@@ -1337,18 +1342,12 @@ if (( INFAKEROOT )); then
chmod 755 "$pkgdirbase"
if (( ! SPLITPKG )); then
- pkgdir="$pkgdirbase/$pkgname"
- mkdir "$pkgdir"
- if (( PKGFUNC )); then
- run_package
- fi
- tidy_install
- lint_package || exit $E_PACKAGE_FAILED
- create_package
- create_debug_package
+ run_single_packaging
else
run_split_packaging
fi
+
+ create_debug_package
msg "$(gettext "Leaving %s environment.")" "fakeroot"
exit $E_OK