diff options
author | makefu <github@syntax-fehler.de> | 2013-11-19 08:35:51 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2013-11-19 08:35:51 +0100 |
commit | 5788b95fe7834d3049df9de1009f3d8dbc34fea2 (patch) | |
tree | 76675a9579c7c5e269825bfa73d29fe5256b8afb /ship/src/punani | |
parent | c15a8d15e910a39a641b21df08e13325a0e29293 (diff) | |
parent | 6f956cfe65ee00871bc9be19b2acadabb6638a69 (diff) |
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'ship/src/punani')
-rwxr-xr-x | ship/src/punani | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/ship/src/punani b/ship/src/punani index ceabd667..2c956f02 100755 --- a/ship/src/punani +++ b/ship/src/punani @@ -1,4 +1,50 @@ #! /bin/sh #@info #@include punani +punani(){ + _punani_usage='punani {install,remove,has,owner} PACKAGE...' + _punani_select_packer || die 'no package manager found; no punani for you!' + + ACTION="$1"; shift + + if test $# = 0; then + error 'no PACKAGE specified.' + die "usage: $_punani_usage" + fi + + for PKG; do + RES="`_punani_resolve_package $PKG`" || + die "could not resolve '$PKG'; no punani for you!" + + case "$ACTION" in + install) + if punani_has $RES; then + info "$RES already installed, skipping" + else + punani_install $RES || error "cannot install $RES with $PACKER" + fi + ;; + remove) + if ! punani_has $RES; then + info "$RES not installed, skipping" + else + punani_remove $RES || error "cannot install $RES with $PACKER" + fi + ;; + has) + if punani_has $RES; then + info "$RES is installed" + else + info "$RES is not installed" + fi + ;; + owner) + punani_owner $RES + ;; + *) + error "bad action: $ACTION" + die "usage: $_punani_usage" + esac + done +} punani "$@" |