From a77e638c773d8a492f8c48e8c15474030a7e3d71 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Mon, 12 Dec 2011 22:36:57 +0100 Subject: 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 Signed-off-by: Dan McGee --- contrib/paclist.in | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'contrib/paclist.in') diff --git a/contrib/paclist.in b/contrib/paclist.in index 8623049f..7883e21b 100755 --- a/contrib/paclist.in +++ b/contrib/paclist.in @@ -18,6 +18,7 @@ # along with this program. If not, see . declare -r myname='paclist' +declare -r myver='@PACKAGE_VERSION@' export TEXTDOMAIN='pacman' export TEXTDOMAINDIR='/usr/share/locale' @@ -29,13 +30,31 @@ if ! type gettext &>/dev/null; then } fi -if [[ -z $1 || $1 = -@(h|-help) ]]; then +usage() { printf '%s - List all packages installed from a given repo\n' "$myname" printf 'Usage: %s \n' "$myname" printf 'Example: %s testing\n' "$myname" +} + +version() { + printf "%s %s\n" "$myname" "$myver" + echo 'Copyright (C) 2008 Dan McGee ' + echo 'Copyright (C) 2011 Dave Reisner ' +} + +if [[ -z $1 ]]; then + usage exit 1 fi +if [[ $1 = -@(h|-help) ]]; then + usage + exit 0 +elif [[ $1 = -@(V|-version) ]]; then + version + exit 0 +fi + printf -v installed '[%s]' "$(gettext installed)" pacman -Sl $1 | awk -v i="$installed" '$NF == i { print $2,$3 }' -- cgit v1.2.3-54-g00ecf