diff options
author | Dan McGee <dan@archlinux.org> | 2007-05-29 22:53:15 +0200 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-05-29 22:53:15 +0200 |
commit | 103c7243a2d50dd46c0b5efefdc2e1b1d24e30e0 (patch) | |
tree | ad7914cb0864b1ae80f44dc49f967e20f888db59 | |
parent | 2760828e9dff1250c1160b7df2f376107ffe134f (diff) | |
download | pacman-103c7243a2d50dd46c0b5efefdc2e1b1d24e30e0.tar.gz pacman-103c7243a2d50dd46c0b5efefdc2e1b1d24e30e0.tar.xz |
Get --help and --version options working on all scripts
Added the autoconf option std-options to the scripts/ directory, which
checks to ensure all programs have both --help and --version options. A
few things needed cleaning up to get this working. To test these types
of options, use the 'make distcheck' target.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | scripts/.gitignore | 1 | ||||
-rw-r--r-- | scripts/Makefile.am | 5 | ||||
-rw-r--r-- | scripts/abs.in | 4 | ||||
-rw-r--r-- | scripts/makepkg.in | 27 | ||||
-rw-r--r-- | scripts/makeworld.in | 88 | ||||
-rw-r--r-- | scripts/pacman-optimize.in | 40 | ||||
-rw-r--r--[-rwxr-xr-x] | scripts/rankmirrors.in (renamed from scripts/rankmirrors) | 7 |
8 files changed, 104 insertions, 72 deletions
diff --git a/configure.ac b/configure.ac index dec2bb44..c79cea8f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,7 @@ +dnl Process this file with autoconf to produce a configure script. +dnl Minimum version of autoconf required AC_PREREQ(2.59) + dnl Update it right before the release since $pkgver_foo are all _post_ release snapshots AC_INIT([Pacman package manager], 3.1.0-dev, [pacman-dev@archlinux.org], [pacman]) AC_LANG([C]) @@ -222,6 +225,7 @@ scripts/gensync scripts/makepkg scripts/makeworld scripts/pacman-optimize +scripts/rankmirrors scripts/repo-add scripts/repo-remove scripts/updatesync diff --git a/scripts/.gitignore b/scripts/.gitignore index 58630324..17a2a41e 100644 --- a/scripts/.gitignore +++ b/scripts/.gitignore @@ -3,6 +3,7 @@ gensync makepkg makeworld pacman-optimize +rankmirrors repo-add repo-remove updatesync diff --git a/scripts/Makefile.am b/scripts/Makefile.am index ddacb0e6..45f0957d 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -1,6 +1,5 @@ -# TODO: this would be nice to enable, but we need --help and --version -# flags on all of our scripts first (this is what it checks) -#AUTOMAKE_OPTIONS = std-options +# enforce that all scripts have a --help and --version option +AUTOMAKE_OPTIONS = std-options bin_SCRIPTS = \ abs \ diff --git a/scripts/abs.in b/scripts/abs.in index b30c1752..7ed677d4 100644 --- a/scripts/abs.in +++ b/scripts/abs.in @@ -67,12 +67,12 @@ update() { done } -if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then +if [ "$1" = "-h" -o "$1" = "--help" ]; then usage exit 0 fi -if [ "$1" = "-V" ] || [ "$1" = "--version" ]; then +if [ "$1" = "-V" -o "$1" = "--version" ]; then version exit 0 fi diff --git a/scripts/makepkg.in b/scripts/makepkg.in index 0d147041..2884e5db 100644 --- a/scripts/makepkg.in +++ b/scripts/makepkg.in @@ -600,7 +600,7 @@ installpackage() { } usage() { - printf "$(gettext "makepkg version %s")\n" "$myver" + printf "$(gettext "makepkg (pacman) %s")\n" "$myver" echo printf "$(gettext "Usage: %s [options]")\n" "$0" echo @@ -633,6 +633,15 @@ usage() { echo } +version() { + printf "$(gettext "makepkg (pacman) %s")\n" "$myver" + echo "$(gettext "Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>.")" + echo + echo "$(gettext "This is free software; see the source for copying conditions.")" + echo "$(gettext "There is NO WARRANTY, to the extent permitted by law.")" + echo +} + ARGLIST=$@ #preserve environment variables @@ -684,6 +693,10 @@ while [ "$#" -ne "0" ]; do usage exit 0 ;; + --version) + version + exit 0 + ;; --*) usage exit 1 @@ -699,10 +712,6 @@ while [ "$#" -ne "0" ]; do f) FORCE=1 ;; F) INFAKEROOT=1 ;; g) GENINTEG=1 ;; - h) - usage - exit 0 - ;; i) INSTALL=1 ;; L) LOGGING=1 ;; m) USE_COLOR="n" ;; @@ -712,6 +721,14 @@ while [ "$#" -ne "0" ]; do R) REPKG=1 ;; s) DEP_BIN=1 ;; S) SUDO=1 ;; + h) + usage + exit 0 + ;; + V) + version + exit 0 + ;; -) OPTIND=0 break diff --git a/scripts/makeworld.in b/scripts/makeworld.in index 8783fc9d..ca5b7261 100644 --- a/scripts/makeworld.in +++ b/scripts/makeworld.in @@ -58,7 +58,7 @@ version() { printf "Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>.\n" echo printf "This is free software; see the source for copying conditions.\n" - printf "There is NO WARRANTY, to the extent permitted by the law.\n" + printf "There is NO WARRANTY, to the extent permitted by law.\n" echo } @@ -83,53 +83,53 @@ for arg in $*; do --nobuild) MAKEPKG_OPTS="$MAKEPKG_OPTS -o" ;; --nocolor) MAKEPKG_OPTS="$MAKEPKG_OPTS -m" ;; --help) - usage - exit 0 - ;; + usage + exit 0 + ;; --version) - version - exit 0 - ;; + version + exit 0 + ;; --*) - usage - exit 1 - ;; + usage + exit 1 + ;; -*) - while getopts "chisSbdfrBCemoSV-" opt; do - case $opt in - c) MAKEPKG_OPTS="$MAKEPKG_OPTS -c" ;; - i) MAKEPKG_OPTS="$MAKEPKG_OPTS -i" ;; - s) MAKEPKG_OPTS="$MAKEPKG_OPTS -s" ;; - b) MAKEPKG_OPTS="$MAKEPKG_OPTS -b" ;; - d) MAKEPKG_OPTS="$MAKEPKG_OPTS -d" ;; - f) MAKEPKG_OPTS="$MAKEPKG_OPTS -f" ;; - r) MAKEPKG_OPTS="$MAKEPKG_OPTS -r" ;; - B) MAKEPKG_OPTS="$MAKEPKG_OPTS -B" ;; - C) MAKEPKG_OPTS="$MAKEPKG_OPTS -C" ;; - e) MAKEPKG_OPTS="$MAKEPKG_OPTS -e" ;; - m) MAKEPKG_OPTS="$MAKEPKG_OPTS -m" ;; - o) MAKEPKG_OPTS="$MAKEPKG_OPTS -o" ;; - S) MAKEPKG_OPTS="$MAKEPKG_OPTS -S" ;; - h) - usage - exit 0 - ;; - V) - version - exit 0 - ;; - -) - OPTIND=0 - break - ;; - esac - done - ;; + while getopts "chisSbdfrBCemoSV-" opt; do + case $opt in + c) MAKEPKG_OPTS="$MAKEPKG_OPTS -c" ;; + i) MAKEPKG_OPTS="$MAKEPKG_OPTS -i" ;; + s) MAKEPKG_OPTS="$MAKEPKG_OPTS -s" ;; + b) MAKEPKG_OPTS="$MAKEPKG_OPTS -b" ;; + d) MAKEPKG_OPTS="$MAKEPKG_OPTS -d" ;; + f) MAKEPKG_OPTS="$MAKEPKG_OPTS -f" ;; + r) MAKEPKG_OPTS="$MAKEPKG_OPTS -r" ;; + B) MAKEPKG_OPTS="$MAKEPKG_OPTS -B" ;; + C) MAKEPKG_OPTS="$MAKEPKG_OPTS -C" ;; + e) MAKEPKG_OPTS="$MAKEPKG_OPTS -e" ;; + m) MAKEPKG_OPTS="$MAKEPKG_OPTS -m" ;; + o) MAKEPKG_OPTS="$MAKEPKG_OPTS -o" ;; + S) MAKEPKG_OPTS="$MAKEPKG_OPTS -S" ;; + h) + usage + exit 0 + ;; + V) + version + exit 0 + ;; + -) + OPTIND=0 + break + ;; + esac + done + ;; *) - dest=$arg - shift - break - ;; + dest=$arg + shift + break + ;; esac shift if [ "$dest" != "" ]; then diff --git a/scripts/pacman-optimize.in b/scripts/pacman-optimize.in index 2bfec40e..cce4a5c1 100644 --- a/scripts/pacman-optimize.in +++ b/scripts/pacman-optimize.in @@ -21,6 +21,11 @@ # myver='@PACKAGE_VERSION@' +#TODO replace with configure-time db location +dbroot="/var/lib/pacman" +#TODO replace with configure-time lockfile location +lockfile="/tmp/pacman.lck" + error() { if [ "$USECOLOR" = "YES" -o "$USECOLOR" = "yes" ]; then @@ -30,11 +35,12 @@ error() { fi } -source /etc/rc.conf #for USECOLOR -source /etc/rc.d/functions +# determine current USECOLOR setting +#[ -f "/etc/rc.conf" ] && source /etc/rc.conf +#[ -f "/etc/rc.d/functions" ] && source /etc/rc.d/functions usage() { - echo "pacman-optimize $myver" + echo "pacman-optimize (pacman) $myver" echo "usage: $0 [pacman_db_root]" echo echo "pacman-optimize is a little hack that should improve the performance" @@ -64,26 +70,26 @@ die() { } die_r() { - rm -f /tmp/pacman.lck + rm -f $lockfile die $@ } -dbroot="/var/lib/pacman" +if [ "$1" = "-h" -o "$1" = "--help" ]; then + usage + exit 0 +fi + +if [ "$1" = "-V" -o "$1" = "--version" ]; then + version + exit 0 +fi if [ "$1" != "" ]; then - if [ "$1" = "-h" -o "$1" = "--help" ]; then - usage - exit 0 - fi - if [ "$1" = "-V" -o "$1" = "--version" ]; then - version - exit 0 - fi dbroot="$1" fi # make sure pacman isn't running -if [ -f /tmp/pacman.lck ]; then +if [ -f $lockfile ]; then die "Pacman lockfile was found. Cannot run while pacman is running." fi @@ -96,7 +102,7 @@ if [ ! -w "$dbroot" ]; then fi # do not let pacman run while we do this -touch /tmp/pacman.lck +touch $lockfile # step 1: sum the old db stat_busy "Md5sum'ing the old database" @@ -134,7 +140,7 @@ if [ $? -ne 0 ]; then # failed stat_fail # leave /tmp/pacsums.old and .new for checking to see what doesn't match up - rm -rf "$dbroot.new" /tmp/pacman.lck /tmp/pacmanDB.tgz + rm -rf "$dbroot.new" $lockfile /tmp/pacmanDB.tgz die_r "integrity check FAILED, reverting to old database" fi stat_done @@ -147,7 +153,7 @@ tar -zxpf /tmp/pacmanDB.tgz -C "$dbroot"/ stat_done # remove the lock file, sum files, and .tgz of database -rm -f /tmp/pacman.lck /tmp/pacsums.old /tmp/pacsums.new /tmp/pacmanDB.tgz +rm -f $lockfile /tmp/pacsums.old /tmp/pacsums.new /tmp/pacmanDB.tgz echo echo "Finished. Your pacman database has been optimized." diff --git a/scripts/rankmirrors b/scripts/rankmirrors.in index 3eb10b5a..da0811c0 100755..100644 --- a/scripts/rankmirrors +++ b/scripts/rankmirrors.in @@ -25,10 +25,12 @@ from optparse import OptionParser def createOptParser(): usage = "usage: %prog [options] MIRRORFILE | URL" + version = '%prog (pacman) @PACKAGE_VERSION@' description = "Ranks pacman mirrors by their connection and opening " \ "speed. Pacman mirror files are located in /etc/pacman.d/. It " \ "can also rank one mirror if the URL is provided." - parser = OptionParser(usage = usage, description = description) + parser = OptionParser(usage = usage, version = version, + description = description) parser.add_option("-n", type = "int", dest = "num", default = 0, help = "number of servers to output, 0 for all") parser.add_option("-t", "--times", action = "store_true", @@ -39,6 +41,9 @@ def createOptParser(): parser.add_option("-v", "--verbose", action = "store_true", dest = "verbose", default = False, help = "be verbose in ouptut") + # The following two options should be automatic + #parser.add_option("-h", "--help", action = "help") + #parser.add_option("-V", "--version", action = "version") return parser def timeCmd(cmd): |