diff options
author | Daniel Friesel <derf@derf.homelinux.org> | 2008-11-26 18:56:00 +0100 |
---|---|---|
committer | Daniel Friesel <derf@derf.homelinux.org> | 2008-11-26 18:56:00 +0100 |
commit | 40cb22fb40e01f92fc4d7511e23ca1a3c21ae29c (patch) | |
tree | b0799abe1d5d4332547a6a2172a5223131c99f2c | |
parent | efe7708a906daf792316559959c789f2d7f85fa6 (diff) |
pkg: Added commandline options
No completion for now, though, since something does not quite work there
-rwxr-xr-x | bin/pkg | 23 | ||||
-rw-r--r-- | man/1/pkg | 32 |
2 files changed, 51 insertions, 4 deletions
@@ -70,6 +70,26 @@ if [[ -f $HOME/.pkg.conf ]] { export PDIR export PKG_ROOT +## +## commandline parsing +## + +# commandline options override everything else +while [[ $1 == [-+]* ]] { + case $1 in + -q|--quiet) SILENT=1 ;; + +q|--no-quiiet) SILENT=0 ;; + -au|--auto-update) AUTOUPDATE=1 ;; + +au|--no-auto-update) AUTOUPDATE=0 ;; + -co|--checklinks-options) CL_OPTIONS+=$1; shift ;; + -p|--packagedir) PDIR=$1; shift ;; + *) die "Unknown argument: '$1'\n" ;; + esac + shift +} + +action=$1 +shift ## ## Make sure everything's sane @@ -691,9 +711,6 @@ function pkg_log { # Note: # wrap foobar "$1" <- the "" are neccessary here, since $1 is optional (and therefore may be empty) - -action=$1 -shift case $action in add) pkg_add $* ;; delete) pkg_remove $* ;; @@ -6,7 +6,7 @@ pkg - Package maintenance utility =head1 SYNOPSIS -B<pkg> I<action> [ I<arguments> ] +B<pkg> [I<options>] I<action> [I<arguments>] =head1 DESCRIPTION @@ -81,6 +81,36 @@ If no argument is given, updates all installed packages =back +=head1 OPTIONS + +B<pkg> accepts both long and short options. +Options marked as [boolean] may be negated, +the short options by using '+' instead of '-' as prefix (like '+au'), +the long options by prepending a 'no', like '--no-auto-update'. + +Options always override the configuration file and the environment variables. + +=over + +=item B<-q>, B<--quiet> [boolean] + +Enable quiet mode, don't print progress. Useful for scripting + +=item B<-au>, B<--auto-update> [boolean] + +Automatically update the package list before doing certain actions + +=item B<-co>, B<--checklinks-options> I<option> + +Append I<option> to the options checklinks is invoked with. +Only one option is allowed. To append more options, repeat the argument + +=item B<-p>, B<--package-dir> I<directory> + +Use I<directory> as local package directory + +=back + =head1 FILES =over |