Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   ArchLinux Pacman Development (http://www.linux-archive.org/archlinux-pacman-development/)
-   -   contrib/*: Support the "--help" and "--version" options (http://www.linux-archive.org/archlinux-pacman-development/607262-contrib-support-help-version-options.html)

Dan McGee 12-06-2011 09:38 PM

contrib/*: Support the "--help" and "--version" options
 
On Tue, Dec 6, 2011 at 3:29 PM, Lukas Fleischer
<archlinux@cryptocrack.de> wrote:
> Can some autotools wizard please check if I broke anything here? `make
> distcheck` still looks good to me but I'm not 100% sure what I broke by
> adding all scripts to "bin_SCRIPTS" :)

Before: `make install` does not install contrib/.
After: `make install` installs contrib/. So probably not what we want,
at least recursively or by default. It would be nice that if you were
actually in contrib, `make install` would do what one expected (and
kill the ugly hardcoding of each script needed to currently install
[1]). Autotools probably makes a setup like this a bitch though.
Thoughts from anyone else?

-Dan

[1] http://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/pacman-contrib&id=375c3222509ba830de48a3365ceb8ae72d491a7 c

Lukas Fleischer 12-06-2011 09:58 PM

contrib/*: Support the "--help" and "--version" options
 
On Tue, Dec 06, 2011 at 04:38:41PM -0600, Dan McGee wrote:
> On Tue, Dec 6, 2011 at 3:29 PM, Lukas Fleischer
> <archlinux@cryptocrack.de> wrote:
> > Can some autotools wizard please check if I broke anything here? `make
> > distcheck` still looks good to me but I'm not 100% sure what I broke by
> > adding all scripts to "bin_SCRIPTS" :)
>
> Before: `make install` does not install contrib/.
> After: `make install` installs contrib/. So probably not what we want,
> at least recursively or by default. It would be nice that if you were
> actually in contrib, `make install` would do what one expected (and
> kill the ugly hardcoding of each script needed to currently install
> [1]). Autotools probably makes a setup like this a bitch though.
> Thoughts from anyone else?

How about removing "contrib" from "SUBDIRS" in our main Makefile.am and
adding something like "DIST_SUBDIRS = $(SUBDIRS) contrib"? This way,
contrib scripts won't be installed when running `make install` in the
top level source directory but can be easily installed by running `make
install` in "contrib/"...

>
> -Dan
>
> [1] http://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/pacman-contrib&id=375c3222509ba830de48a3365ceb8ae72d491a7 c

Dan McGee 12-06-2011 10:05 PM

contrib/*: Support the "--help" and "--version" options
 
On Tue, Dec 6, 2011 at 4:58 PM, Lukas Fleischer
<archlinux@cryptocrack.de> wrote:
> On Tue, Dec 06, 2011 at 04:38:41PM -0600, Dan McGee wrote:
>> On Tue, Dec 6, 2011 at 3:29 PM, Lukas Fleischer
>> <archlinux@cryptocrack.de> wrote:
>> > Can some autotools wizard please check if I broke anything here? `make
>> > distcheck` still looks good to me but I'm not 100% sure what I broke by
>> > adding all scripts to "bin_SCRIPTS" :)
>>
>> Before: `make install` does not install contrib/.
>> After: `make install` installs contrib/. So probably not what we want,
>> at least recursively or by default. It would be nice that if you were
>> actually in contrib, `make install` would do what one expected (and
>> kill the ugly hardcoding of each script needed to currently install
>> [1]). Autotools probably makes a setup like this a bitch though.
>> Thoughts from anyone else?
>
> How about removing "contrib" from "SUBDIRS" in our main Makefile.am and
> adding something like "DIST_SUBDIRS = $(SUBDIRS) contrib"? This way,
> contrib scripts won't be installed when running `make install` in the
> top level source directory but can be easily installed by running `make
> install` in "contrib/"...

The problem there is it completely stops make from descending in
there, and as I've seen many times before (namely with docs), it gets
ugly when I have to package it. I think you'd be out of luck because
your Makefile wouldn't even be generated in there, and thus *.in never
gets converted to the scripts and other files.

-Dan

Lukas Fleischer 12-07-2011 03:49 PM

contrib/*: Support the "--help" and "--version" options
 
On Tue, Dec 06, 2011 at 05:05:20PM -0600, Dan McGee wrote:
> On Tue, Dec 6, 2011 at 4:58 PM, Lukas Fleischer
> <archlinux@cryptocrack.de> wrote:
> > On Tue, Dec 06, 2011 at 04:38:41PM -0600, Dan McGee wrote:
> >> On Tue, Dec 6, 2011 at 3:29 PM, Lukas Fleischer
> >> <archlinux@cryptocrack.de> wrote:
> >> > Can some autotools wizard please check if I broke anything here? `make
> >> > distcheck` still looks good to me but I'm not 100% sure what I broke by
> >> > adding all scripts to "bin_SCRIPTS" :)
> >>
> >> Before: `make install` does not install contrib/.
> >> After: `make install` installs contrib/. So probably not what we want,
> >> at least recursively or by default. It would be nice that if you were
> >> actually in contrib, `make install` would do what one expected (and
> >> kill the ugly hardcoding of each script needed to currently install
> >> [1]). Autotools probably makes a setup like this a bitch though.
> >> Thoughts from anyone else?
> >
> > How about removing "contrib" from "SUBDIRS" in our main Makefile.am and
> > adding something like "DIST_SUBDIRS = $(SUBDIRS) contrib"? This way,
> > contrib scripts won't be installed when running `make install` in the
> > top level source directory but can be easily installed by running `make
> > install` in "contrib/"...
>
> The problem there is it completely stops make from descending in
> there, and as I've seen many times before (namely with docs), it gets
> ugly when I have to package it. I think you'd be out of luck because
> your Makefile wouldn't even be generated in there, and thus *.in never
> gets converted to the scripts and other files.

It doesn't completely stop make from descending in there. As discussed
on IRC, directories listed in "DIST_SUBDIRS" will still be honored when
running `make dist`. The only difference is that we would have to run
`make` and `make install` separately in "contrib/". This makes sense to
me because:

* I consider contrib scripts a sub-project of (and not part of) pacman.
If you say that they actually do belong to pacman, there should be a
possibility to install contrib scripts when using make(1) (e.g. by
introducing a configure option like "--with-contrib"). This seems very
natural, at least.

Given that we probably do not want to install contrib scripts together
with pacman and prefer separate install trees/procedures, it doesn't
make any sense to build contrib scripts in the same procedure we use
for building pacman, also. Basically, saying that you will have to
run `make install` separately since it's a different sub-project but
build it when building the main project feels a bit obscure...

tl;dr: To me, only one of these options make sense:

- Make contrib scripts optional but build *and* install them together
with pacman (that means "introduce a configure option").

- Use a different build *and* install procedure for contrib scripts
(that means "use DIST_SUBDIRS"!).

* "I am used to run `make` in the top level source directory to build
everything." might be a valid reason for you but isn't a valid point
for me. We should do things right and look at things from a user
perspective, laziness doesn't count :p

* This makes the pacman-contrib PKGBUILD damn easy (just cd(1) to the
"contrib/" directory instead of the pacman top level source directory
and run the usual `make` in build(), `make install` in package()).

Just my two cents...

Allan McRae 12-10-2011 10:28 AM

contrib/*: Support the "--help" and "--version" options
 
On 08/12/11 02:49, Lukas Fleischer wrote:
> On Tue, Dec 06, 2011 at 05:05:20PM -0600, Dan McGee wrote:
>> On Tue, Dec 6, 2011 at 4:58 PM, Lukas Fleischer
>> <archlinux@cryptocrack.de> wrote:
>>> On Tue, Dec 06, 2011 at 04:38:41PM -0600, Dan McGee wrote:
>>>> On Tue, Dec 6, 2011 at 3:29 PM, Lukas Fleischer
>>>> <archlinux@cryptocrack.de> wrote:
>>>>> Can some autotools wizard please check if I broke anything here? `make
>>>>> distcheck` still looks good to me but I'm not 100% sure what I broke by
>>>>> adding all scripts to "bin_SCRIPTS" :)
>>>>
>>>> Before: `make install` does not install contrib/.
>>>> After: `make install` installs contrib/. So probably not what we want,
>>>> at least recursively or by default. It would be nice that if you were
>>>> actually in contrib, `make install` would do what one expected (and
>>>> kill the ugly hardcoding of each script needed to currently install
>>>> [1]). Autotools probably makes a setup like this a bitch though.
>>>> Thoughts from anyone else?
>>>
>>> How about removing "contrib" from "SUBDIRS" in our main Makefile.am and
>>> adding something like "DIST_SUBDIRS = $(SUBDIRS) contrib"? This way,
>>> contrib scripts won't be installed when running `make install` in the
>>> top level source directory but can be easily installed by running `make
>>> install` in "contrib/"...
>>
>> The problem there is it completely stops make from descending in
>> there, and as I've seen many times before (namely with docs), it gets
>> ugly when I have to package it. I think you'd be out of luck because
>> your Makefile wouldn't even be generated in there, and thus *.in never
>> gets converted to the scripts and other files.
>
> It doesn't completely stop make from descending in there. As discussed
> on IRC, directories listed in "DIST_SUBDIRS" will still be honored when
> running `make dist`. The only difference is that we would have to run
> `make` and `make install` separately in "contrib/". This makes sense to
> me because:
>
> * I consider contrib scripts a sub-project of (and not part of) pacman.
> If you say that they actually do belong to pacman, there should be a
> possibility to install contrib scripts when using make(1) (e.g. by
> introducing a configure option like "--with-contrib"). This seems very
> natural, at least.
>
> Given that we probably do not want to install contrib scripts together
> with pacman and prefer separate install trees/procedures, it doesn't
> make any sense to build contrib scripts in the same procedure we use
> for building pacman, also. Basically, saying that you will have to
> run `make install` separately since it's a different sub-project but
> build it when building the main project feels a bit obscure...
>
> tl;dr: To me, only one of these options make sense:
>
> - Make contrib scripts optional but build *and* install them together
> with pacman (that means "introduce a configure option").
>
> - Use a different build *and* install procedure for contrib scripts
> (that means "use DIST_SUBDIRS"!).

This option makes sense to me (and I have seen that sort of idea used
elsewhere).

One query about this approach... Will running ./configure still
generate the Makefile in contrib/ when doing this? Because having to
maintain a separate configure script that does the same substitutions as
the main one would be annoying.

Allan

Lukas Fleischer 12-10-2011 10:41 AM

contrib/*: Support the "--help" and "--version" options
 
On Sat, Dec 10, 2011 at 09:28:03PM +1000, Allan McRae wrote:
> On 08/12/11 02:49, Lukas Fleischer wrote:
> > On Tue, Dec 06, 2011 at 05:05:20PM -0600, Dan McGee wrote:
> >> On Tue, Dec 6, 2011 at 4:58 PM, Lukas Fleischer
> >> <archlinux@cryptocrack.de> wrote:
> >>> On Tue, Dec 06, 2011 at 04:38:41PM -0600, Dan McGee wrote:
> >>>> On Tue, Dec 6, 2011 at 3:29 PM, Lukas Fleischer
> >>>> <archlinux@cryptocrack.de> wrote:
> >>>>> Can some autotools wizard please check if I broke anything here? `make
> >>>>> distcheck` still looks good to me but I'm not 100% sure what I broke by
> >>>>> adding all scripts to "bin_SCRIPTS" :)
> >>>>
> >>>> Before: `make install` does not install contrib/.
> >>>> After: `make install` installs contrib/. So probably not what we want,
> >>>> at least recursively or by default. It would be nice that if you were
> >>>> actually in contrib, `make install` would do what one expected (and
> >>>> kill the ugly hardcoding of each script needed to currently install
> >>>> [1]). Autotools probably makes a setup like this a bitch though.
> >>>> Thoughts from anyone else?
> >>>
> >>> How about removing "contrib" from "SUBDIRS" in our main Makefile.am and
> >>> adding something like "DIST_SUBDIRS = $(SUBDIRS) contrib"? This way,
> >>> contrib scripts won't be installed when running `make install` in the
> >>> top level source directory but can be easily installed by running `make
> >>> install` in "contrib/"...
> >>
> >> The problem there is it completely stops make from descending in
> >> there, and as I've seen many times before (namely with docs), it gets
> >> ugly when I have to package it. I think you'd be out of luck because
> >> your Makefile wouldn't even be generated in there, and thus *.in never
> >> gets converted to the scripts and other files.
> >
> > It doesn't completely stop make from descending in there. As discussed
> > on IRC, directories listed in "DIST_SUBDIRS" will still be honored when
> > running `make dist`. The only difference is that we would have to run
> > `make` and `make install` separately in "contrib/". This makes sense to
> > me because:
> >
> > * I consider contrib scripts a sub-project of (and not part of) pacman.
> > If you say that they actually do belong to pacman, there should be a
> > possibility to install contrib scripts when using make(1) (e.g. by
> > introducing a configure option like "--with-contrib"). This seems very
> > natural, at least.
> >
> > Given that we probably do not want to install contrib scripts together
> > with pacman and prefer separate install trees/procedures, it doesn't
> > make any sense to build contrib scripts in the same procedure we use
> > for building pacman, also. Basically, saying that you will have to
> > run `make install` separately since it's a different sub-project but
> > build it when building the main project feels a bit obscure...
> >
> > tl;dr: To me, only one of these options make sense:
> >
> > - Make contrib scripts optional but build *and* install them together
> > with pacman (that means "introduce a configure option").
> >
> > - Use a different build *and* install procedure for contrib scripts
> > (that means "use DIST_SUBDIRS"!).
>
> This option makes sense to me (and I have seen that sort of idea used
> elsewhere).
>
> One query about this approach... Will running ./configure still
> generate the Makefile in contrib/ when doing this? Because having to
> maintain a separate configure script that does the same substitutions as
> the main one would be annoying.

Yeah, it will still generate the Makefile. I tested this running
`./autoclean.sh; ./autogen.sh; ./configure`.

>
> Allan

Lukas Fleischer 12-12-2011 08:36 PM

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>
---
* Use "[[ $1 = -@(h|-help) ]]" instead of "[[ $1 == "--help" || $1 ==
"-h" ]]" everywhere.

* Deal with new contrib script pacsysclean.

contrib/Makefile.am | 14 ++++++++++++++
contrib/bacman.in | 18 ++++++++++--------
contrib/paccache.in | 20 +++++++++++++++++---
contrib/pacdiff.in | 12 +++++++++++-
contrib/paclist.in | 21 ++++++++++++++++++++-
contrib/paclog-pkglist.in | 19 ++++++++++++++++---
contrib/pacscripts.in | 10 ++++++++--
contrib/pacsearch.in | 20 +++++++++++++++-----
contrib/pacsysclean.in | 13 +++++++++++--
9 files changed, 122 insertions(+), 25 deletions(-)

diff --git a/contrib/Makefile.am b/contrib/Makefile.am
index c9f6365..8751fd9 100644
--- a/contrib/Makefile.am
+++ b/contrib/Makefile.am
@@ -1,3 +1,9 @@
+# enforce that all scripts have a --help and --version option
+AUTOMAKE_OPTIONS = std-options
+
+bin_SCRIPTS =
+ $(OURSCRIPTS)
+
OURSCRIPTS =
bacman
paccache
@@ -30,9 +36,17 @@ EXTRA_DIST =
# Files that should be removed, but which Automake does not know.
MOSTLYCLEANFILES = $(OURSCRIPTS) $(OURFILES) *.tmp

+if USE_GIT_VERSION
+GIT_VERSION := $(shell sh -c 'git describe --abbrev=4 --dirty | sed s/^v//')
+REAL_PACKAGE_VERSION = $(GIT_VERSION)
+else
+REAL_PACKAGE_VERSION = $(PACKAGE_VERSION)
+endif
+
edit = sed
-e 's|@sysconfdir[@]|$(sysconfdir)|g'
-e 's|@localstatedir[@]|$(localstatedir)|g'
+ -e 's|@PACKAGE_VERSION[@]|$(REAL_PACKAGE_VERSION)|g'
-e 's|@SIZECMD[@]|$(SIZECMD)|g'
-e '1s|!/bin/bash|!$(BASH_SHELL)|g'

diff --git a/contrib/bacman.in b/contrib/bacman.in
index 00d0691..9362356 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
" "$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
diff --git a/contrib/paccache.in b/contrib/paccache.in
index b95b964..da65f47 100755
--- a/contrib/paccache.in
+++ b/contrib/paccache.in
@@ -21,6 +21,7 @@
shopt -s extglob

declare -r myname='paccache'
+declare -r myver='@PACKAGE_VERSION@'

declare -a candidates=() cmdopts=() whitelist=() blacklist=()
declare -i delete=0 dryrun=0 filecount=0 move=0 needsroot=0 totalsaved=0 verbose=0
@@ -202,19 +203,32 @@ containing pacman package tarballs.
EOF
}

+version() {
+ printf "%s %s
" "$myname" "$myver"
+ echo 'Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>'
+}
+
if (( ! UID )); then
error "Do not run this script as root. You will be prompted for privilege escalation."
exit 42
fi

-while getopts ':a:c:dfhi:k:m:rsuvz' opt; do
+# TODO: remove this workaround and use a sane command line parser (like the
+# parse_options library from scripts/) here
+if [[ $1 = -@(h|-help) ]]; then
+ usage
+ exit 0
+elif [[ $1 = -@(V|-version) ]]; then
+ version
+ exit 0
+fi
+
+while getopts ':a:c:dfi:k:m:rsuvz' opt; do
case $opt in
a) scanarch=$OPTARG ;;
c) cachedir=$OPTARG ;;
d) dryrun=1 ;;
f) cmdopts=(-f) ;;
- h) usage
- exit 0 ;;
i) if [[ $OPTARG = '-' ]]; then
[[ ! -t 0 ]] && IFS=$'
' read -r -d ' -a ign
else
diff --git a/contrib/pacdiff.in b/contrib/pacdiff.in
index 79cf809..bfafda2 100755
--- a/contrib/pacdiff.in
+++ b/contrib/pacdiff.in
@@ -18,6 +18,7 @@
#

declare -r myname='pacdiff'
+declare -r myver='@PACKAGE_VERSION@'

diffprog=${DIFFPROG:-vimdiff}
diffsearchpath=${DIFFSEARCHPATH:-/etc}
@@ -32,6 +33,11 @@ usage() {
echo "Example : DIFFPROG=meld DIFFSEARCHPATH="/boot /etc /usr" $myname"
}

+version() {
+ printf "%s %s
" "$myname" "$myver"
+ echo 'Copyright (C) 2007 Aaron Griffin <aaronmgriffin@gmail.com>'
+}
+
cmd() {
if [ $locate -eq 1 ]; then
locate -0 -e -b *.pacnew *.pacorig *.pacsave
@@ -44,8 +50,12 @@ if [ $# -gt 0 ]; then
case $1 in
-l|--locate)
locate=1;;
- *)
+ -V|--version)
+ version; exit 0;;
+ -h|--help)
usage; exit 0;;
+ *)
+ usage; exit 1;;
esac
fi

diff --git a/contrib/paclist.in b/contrib/paclist.in
index 8623049..7883e21 100755
--- a/contrib/paclist.in
+++ b/contrib/paclist.in
@@ -18,6 +18,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

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
' "$myname"
printf 'Usage: %s <repo>
' "$myname"
printf 'Example: %s testing
' "$myname"
+}
+
+version() {
+ printf "%s %s
" "$myname" "$myver"
+ echo 'Copyright (C) 2008 Dan McGee <dpmcgee@gmail.com>'
+ echo 'Copyright (C) 2011 Dave Reisner <dreisner@archlinux.org>'
+}
+
+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 }'

diff --git a/contrib/paclog-pkglist.in b/contrib/paclog-pkglist.in
index 0b27bf3..222bbc4 100755
--- a/contrib/paclog-pkglist.in
+++ b/contrib/paclog-pkglist.in
@@ -18,16 +18,29 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.

declare -r myname='paclog-pkglist'
+declare -r myver='@PACKAGE_VERSION@'

export TEXTDOMAIN='pacman'
export TEXTDOMAINDIR='/usr/share/locale'
declare logfile=${1:-@localstatedir@/log/pacman.log}

+usage() {
+ printf 'usage: %s [pacman log]
' "$myname"
+ printf 'example: %s @localstatedir@/log/pacman.log
' "$myname"
+ printf '
defaults to: @localstatedir@/log/pacman.log
'
+}
+
+version() {
+ printf "%s %s
" "$myname" "$myver"
+ echo 'Copyright (C) 2011 Dave Reisner <dave@archlinux.org>'
+}
+
if [[ $1 ]]; then
if [[ $1 = -@(h|-help) ]]; then
- printf 'usage: %s [pacman log]
' "$myname"
- printf 'example: %s @localstatedir@/log/pacman.log
' "$myname"
- printf '
defaults to: @localstatedir@/log/pacman.log
'
+ usage
+ exit 0
+ elif [[ $1 = -@(V|-version) ]]; then
+ version
exit 0
elif [[ ! -e $logfile ]]; then
printf $"target not found: %s
" "$1"
diff --git a/contrib/pacscripts.in b/contrib/pacscripts.in
index 967f782..8468714 100755
--- a/contrib/pacscripts.in
+++ b/contrib/pacscripts.in
@@ -25,7 +25,7 @@ set -o nounset
set -o errexit

declare -r myname='pacscripts'
-progver="0.4"
+declare -r myver='@PACKAGE_VERSION@'

conf="@sysconfdir@/pacman.conf"

@@ -57,6 +57,12 @@ usage() {
echo "Example: $myname gconf-editor-2.24.1-1-x86_64.pkg.tar.gz"
}

+version() {
+ printf "%s %s
" "$myname" "$myver"
+ echo 'Copyright (c) 2009 Giulio "giulivo" Fidente <giulivo.navigante@gmail.com>'
+ echo 'Copyright (c) 2009 Xavier Chantry <shiningxc@gmail.com>'
+}
+
spacman() {
if [ $EUID -eq 0 ]; then
pacman "$@"
@@ -127,6 +133,6 @@ fi

case "$1" in
--help|-h) usage; exit 0 ;;
- --version|-v) echo "$myname version $progver"; exit 0 ;;
+ --version|-V) version; exit 0 ;;
*) print_scriptlet $1 ;;
esac
diff --git a/contrib/pacsearch.in b/contrib/pacsearch.in
index 794110e..b1db8ab 100755
--- a/contrib/pacsearch.in
+++ b/contrib/pacsearch.in
@@ -25,21 +25,31 @@ use strict;
use warnings;

my $myname = 'pacsearch';
-my $version = "2.0";
+my $myver = '@PACKAGE_VERSION@';

-if ($#ARGV lt 0 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
+sub usage {
print "$myname - Add color and install information to a pacman -Ss search
";
print "Usage: $myname <pattern>
";
print "Example: $myname ^gnome
";
+}
+
+sub version {
+ printf "%s %s
", $myname, $myver;
+ print "Copyright (C) 2008-2011 Dan McGee <dan@archlinux.org>

";
+ print "Based off original shell script version:
";
+ print "Copyright (C) 2006-2007 Dan McGee <dan@archlinux.org>
";
+}
+
+if ($#ARGV lt 0 || $ARGV[0] eq "--help" || $ARGV[0] eq "-h") {
+ usage;
if ($#ARGV lt 0) {
exit 1;
}
exit 0;
}

-if ($ARGV[0] eq "--version" || $ARGV[0] eq "-v") {
- print "$myname version $version
";
- print "Copyright (C) 2006-2011 Dan McGee
";
+if ($ARGV[0] eq "--version" || $ARGV[0] eq "-V") {
+ version;
exit 0;
}

diff --git a/contrib/pacsysclean.in b/contrib/pacsysclean.in
index c87082e..17f7681 100755
--- a/contrib/pacsysclean.in
+++ b/contrib/pacsysclean.in
@@ -2,23 +2,32 @@

# pacsysclean - Sort installed packages by decreasing installed size. Useful for system clean-up.

+declare -r myname='pacsysclean'
+declare -r myver='@PACKAGE_VERSION@'
+
PACMAN_OPTS=

usage() {
- echo "pacsysclean - Sort installed packages by decreasing installed size."
+ echo "$myname - Sort installed packages by decreasing installed size."
echo
- echo "Usage: pacsysclean [options]"
+ echo "Usage: $myname [options]"
echo
echo "Options:"
echo " -o <options> Specify custom pacman query options (e.g., dt)"
echo " -h, --help Show this help message and exit"
}

+version() {
+ printf "%s %s
" "$myname" "$myver"
+ echo 'Copyright (C) 2011 Eric Bélanger <snowmaniscool@gmail.com>'
+}
+

if [ -n "$1" ]; then
case "$1" in
-o) PACMAN_OPTS="${2}" ;;
-h|--help) usage; exit 0 ;;
+ -V|--version) version; exit 0 ;;
*) usage; exit 1 ;;
esac
fi
--
1.7.8


All times are GMT. The time now is 03:34 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.