summaryrefslogtreecommitdiffstats
path: root/punani/tightnani/tightnani_client
diff options
context:
space:
mode:
Diffstat (limited to 'punani/tightnani/tightnani_client')
-rwxr-xr-xpunani/tightnani/tightnani_client59
1 files changed, 59 insertions, 0 deletions
diff --git a/punani/tightnani/tightnani_client b/punani/tightnani/tightnani_client
new file mode 100755
index 00000000..8caf669e
--- /dev/null
+++ b/punani/tightnani/tightnani_client
@@ -0,0 +1,59 @@
+#!/bin/bash
+set -euf
+
+if [ $# -ne 2 ];then
+ echo "usage: `basename $0` (install|remove) PACKAGE"
+ exit 23
+fi
+
+PACKERS="yum!-y install remove
+brew install remove
+pacman!--noconfirm -S!--needed -Rcs
+bauerbill!--noconfirm -S!--needed -Rcs
+yaourt!--noconfirm -S!--needed -Rcs
+packer!--noconfirm -S!--needed -Rcs
+apt-get!--yes install remove
+aptitude!--yes install remove"
+
+OIFS=$IFS
+PACKER=
+IFS='
+'
+
+TIGHTNANI_HOST="http://euer.krebsco.de:9111"
+# Find suitable packer
+for PACKER_LINE in $PACKERS; do
+ TRY_PACKER_CMD="$(echo "$PACKER_LINE" | cut -d ' ' -f 1)"
+ TRY_PACKER="$(echo "$TRY_PACKER_CMD" | cut -d '!' -f 1)"
+ if which $TRY_PACKER &>/dev/null; then
+ PACKER=$TRY_PACKER
+ PACKER_CMD="$(echo "$TRY_PACKER_CMD" | tr "!" " ")"
+ echo "you got $PACKER"
+ INSTALL_PARAM="$(echo "$PACKER_LINE" | cut -d ' ' -f 2 | tr "!" " ")"
+ REMOVE_PARAM="$(echo "$PACKER_LINE" | cut -d ' ' -f 3 | tr "!" " ")"
+ fi
+done
+IFS=$OIFS
+if [ ! "$PACKER" ];then
+ echo "Could not find a supported packer for you, bailing out!"
+ exit 23
+fi
+
+
+# find the package name
+PKG="$2"
+RESOLVED=`wget -O- $TIGHTNANI_HOST/$PACKER/$PKG 2>/dev/null`
+if [ ! "$RESOLVED" ];then
+ echo "Could not resolve your requested package, bailing out!"
+ exit 23
+fi
+case "$1" in
+ install)
+ exec $PACKER_CMD $INSTALL_PARAM $RESOLVED
+ ;;
+ remove)
+ exec $PACKER_CMD $REMOVE_PARAM $RESOLVED
+ ;;
+ *)
+ echo "usage: `basename $0` (install|remove) PACKAGE"
+esac