diff options
-rwxr-xr-x | punani/bin/punani | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/punani/bin/punani b/punani/bin/punani index a7e86d96..4be74f77 100755 --- a/punani/bin/punani +++ b/punani/bin/punani @@ -2,11 +2,8 @@ set -euf PUNANI_HOST="${PUNANI_HOST-http://euer.krebsco.de:9111}" - -if [ $# -ne 2 ];then - echo "usage: `basename $0` (install|remove) PACKAGE" - exit 23 -fi +ACTION="$1"; shift +PKGS="$*" ## find package manager if ! :; then : # dummy case, so the rest has a common format @@ -37,15 +34,22 @@ else fi ## find package name -PKG="$2" -RESOLVED=`wget -O- $PUNANI_HOST/$PACKER_CMD/$PKG 2>/dev/null || :` -if [ ! "$RESOLVED" ];then - echo "Error 2: could not resolve '$PKG'; no punani for you!" >&2 - exit 23 +if test -n "$PKGS"; then + for PKG in $PKGS; do + RES="`wget -O- $PUNANI_HOST/$PACKER_CMD/$PKG 2>/dev/null || :`" + if [ ! "$RES" ]; then + echo "Error 2: could not resolve '$PKG'; no punani for you!" >&2 + exit 23 + fi + RESOLVED="${RESOLVED+$RESOLVED }$RES" + done +else + echo "Error 1: no PACKAGE specified." >&2 + ACTION="usage" fi ## dispatch -case "$1" in +case "$ACTION" in install) set -x exec sudo $PACKER_CMD $INSTALL_PARAM $RESOLVED @@ -55,5 +59,6 @@ case "$1" in exec sudo $PACKER_CMD $REMOVE_PARAM $RESOLVED ;; *) - echo "usage: `basename $0` (install|remove) PACKAGE" + echo "usage: `basename $0` (install|remove) PACKAGE..." + exit 23 esac |