summaryrefslogtreecommitdiff
path: root/scripts/libmakepkg
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2015-05-13 00:22:24 +1000
committerAllan McRae <allan@archlinux.org>2015-05-16 14:10:42 +1000
commit8ab106eb9b21263941a4329eb89709f35b2bd178 (patch)
treec2c870756d0b0a0ab15f1b6481ff24d48de6acec /scripts/libmakepkg
parent61dd7e03bec4be2e5e331ecd0f01e43f685fb705 (diff)
downloadpacman-8ab106eb9b21263941a4329eb89709f35b2bd178.tar.xz
libmakepkg: extract get_full_version and get_pkg_arch
These functions group in with other functions that extract PKGBUILD information. Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'scripts/libmakepkg')
-rw-r--r--scripts/libmakepkg/util/pkgbuild.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/libmakepkg/util/pkgbuild.sh b/scripts/libmakepkg/util/pkgbuild.sh
index 2e97e4dc..17e4cc56 100644
--- a/scripts/libmakepkg/util/pkgbuild.sh
+++ b/scripts/libmakepkg/util/pkgbuild.sh
@@ -109,3 +109,38 @@ get_pkgbuild_attribute() {
extract_global_variable "$attrname" "$isarray" "$outputvar"
fi
}
+
+##
+# usage : get_full_version()
+# return : full version spec, including epoch (if necessary), pkgver, pkgrel
+##
+get_full_version() {
+ if (( epoch > 0 )); then
+ printf "%s\n" "$epoch:$pkgver-$pkgrel"
+ else
+ printf "%s\n" "$pkgver-$pkgrel"
+ fi
+}
+
+##
+# usage : get_pkg_arch( [$pkgname] )
+# return : architecture of the package
+##
+get_pkg_arch() {
+ if [[ -z $1 ]]; then
+ if [[ $arch = "any" ]]; then
+ printf "%s\n" "any"
+ else
+ printf "%s\n" "$CARCH"
+ fi
+ else
+ local arch_override
+ get_pkgbuild_attribute "$1" arch 1 arch_override
+ (( ${#arch_override[@]} == 0 )) && arch_override=("${arch[@]}")
+ if [[ $arch_override = "any" ]]; then
+ printf "%s\n" "any"
+ else
+ printf "%s\n" "$CARCH"
+ fi
+ fi
+}