summaryrefslogtreecommitdiff
path: root/contrib/bacman.in
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2011-12-12 22:36:57 +0100
committerDan McGee <dan@archlinux.org>2011-12-23 14:49:46 -0600
commita77e638c773d8a492f8c48e8c15474030a7e3d71 (patch)
treead13d9931fc9e88ba39e7356ca79cfd619014415 /contrib/bacman.in
parentcd75ae46ab10fe295c5a3d3054a3b17eff31122a (diff)
downloadpacman-a77e638c773d8a492f8c48e8c15474030a7e3d71.tar.xz
contrib/*: Support the "--help" and "--version" options
Add "--help"/"-h" and "--version"/"-V" support to all contrib scripts. Also, update scripts that used "-v" as a short option for "--version" and use "-V" for the sake of consistency. Additionally: * Move version and usage messages to separate convenience functions in all scripts. * Add a workaround to paccache to support "--help" and "--version". This should be replaced by a proper POSIX-compliant command line parser that supports long options in a future patch. * Add a "$myver" variable to all scripts and use it whenever we refer to the program version (e.g. in version messages). Also, use the pacman version number everywhere instead of using a different versioning scheme for each contrib script. This is achieved by adding a "PACKAGE_VERSION" placeholder that is replaced by sed(1) when the script is built. * Ensure we always return with exit status 0 if "--help" is used and return with exit status 1 if we display the usage message due to invalid arguments. * Add "AUTOMAKE_OPTIONS = std-options" and add all scripts to "bin_SCRIPTS" to make `make installcheck` check that installed scripts actually support the "--help" and "--version" options. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'contrib/bacman.in')
-rwxr-xr-xcontrib/bacman.in18
1 files changed, 10 insertions, 8 deletions
diff --git a/contrib/bacman.in b/contrib/bacman.in
index 00d0691b..93623565 100755
--- a/contrib/bacman.in
+++ b/contrib/bacman.in
@@ -24,7 +24,7 @@ shopt -s extglob
shopt -s nullglob
declare -r myname='bacman'
-readonly progver="0.2.1"
+declare -r myver='@PACKAGE_VERSION@'
#
# User Friendliness
@@ -35,19 +35,21 @@ usage() {
echo "Example: $myname kernel26"
}
+version() {
+ printf "%s %s\n" "$myname" "$myver"
+ echo 'Copyright (C) 2008 locci <carlocci_at_gmail_dot_com>'
+}
+
if (( $# != 1 )); then
usage
exit 1
fi
-if [[ $1 == "--help" || $1 == "-h" ]]; then
+if [[ $1 = -@(h|-help) ]]; then
usage
exit 0
-fi
-
-if [[ $1 == "--version" || $1 == "-v" ]]; then
- echo "$myname version $progver"
- echo "Copyright (C) 2008 locci"
+elif [[ $1 = -@(V|-version) ]]; then
+ version
exit 0
fi
@@ -177,7 +179,7 @@ pkg_size=$(du -sk | awk '{print $1 * 1024}')
# TODO adopt makepkg's write_pkginfo() into this or scripts/library
#
echo Generating .PKGINFO metadata...
-echo "# Generated by $myname $progver" > .PKGINFO
+echo "# Generated by $myname $myver" > .PKGINFO
if [[ $INFAKEROOT == "1" ]]; then
echo "# Using $(fakeroot -v)" >> .PKGINFO
fi