summaryrefslogtreecommitdiffstats
path: root/scripts/libmakepkg
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2018-02-08 05:43:40 +0100
committerAllan McRae <allan@archlinux.org>2018-03-14 03:16:58 +0100
commitd8591dd3418d55c5736022ef003891fc03b953e0 (patch)
tree9b46ef33370c64d513208b5a048286250de078a4 /scripts/libmakepkg
parenta100cd6bca5b56ef4a8f3ec15ef39efe9d23f1f8 (diff)
downloadpacman-d8591dd3418d55c5736022ef003891fc03b953e0.tar.gz
pacman-d8591dd3418d55c5736022ef003891fc03b953e0.tar.xz
makepkg --packagelist: just list the built package files we will build
Currently this seems to be only theoretically useful. The most likely reason for wanting a packagelist is in order to script makepkg and derive the filenames for the packages we want to install or repo-add, but in the current implementation this requires a lot of additional post-processing which must be duplicated in every utility to wrap makepkg. - It is of minimal use to know what packages might get created on some other device utilizing a different CPU/OS architecture, so don't list them. - It is non-trivial to reimplement makepkg's logic for sourcing any of several makepkg.conf configuration files, then applying environment overrides in order to get the PKGDEST and PKGEXT, so include them directly in the returned filenames. - Output is delimited by newlines, for readability. For maximum parsing reliability, libmakepkg needs to learn how to lint the PKGDEST and PKGEXT variables to ensure they do not contain newlines, which will be submitted in a separate patch. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'scripts/libmakepkg')
-rw-r--r--scripts/libmakepkg/util/pkgbuild.sh.in12
1 files changed, 5 insertions, 7 deletions
diff --git a/scripts/libmakepkg/util/pkgbuild.sh.in b/scripts/libmakepkg/util/pkgbuild.sh.in
index 2a4bd3af..6cfda0b3 100644
--- a/scripts/libmakepkg/util/pkgbuild.sh.in
+++ b/scripts/libmakepkg/util/pkgbuild.sh.in
@@ -149,14 +149,12 @@ print_all_package_names() {
local version=$(get_full_version)
local architecture pkg opts a
for pkg in ${pkgname[@]}; do
- get_pkgbuild_attribute "$pkg" 'arch' 1 architecture
+ architecture=$(get_pkg_arch $pkg)
get_pkgbuild_attribute "$pkg" 'options' 1 opts
- for a in ${architecture[@]}; do
- printf "%s-%s-%s\n" "$pkg" "$version" "$a"
- if in_opt_array "debug" ${opts[@]} && in_opt_array "strip" ${opts[@]}; then
- printf "%s-%s-%s-%s\n" "$pkg" "@DEBUGSUFFIX@" "$version" "$a"
- fi
- done
+ printf "%s/%s-%s-%s%s\n" "$PKGDEST" "$pkg" "$version" "$architecture" "$PKGEXT"
+ if in_opt_array "debug" ${opts[@]} && in_opt_array "strip" ${opts[@]}; then
+ printf "%s/%s-%s-%s-%s%s\n" "$PKGDEST" "$pkg" "@DEBUGSUFFIX@" "$version" "$architecture" "$PKGEXT"
+ fi
done
}