summaryrefslogtreecommitdiffstats
path: root/punani
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2011-11-16 19:29:44 +0100
committermakefu <github@syntax-fehler.de>2011-11-16 19:29:44 +0100
commitf5c086a61ed2cf493d2e6edb0edf0f32230bb615 (patch)
treed88b666f45a492176fc32c1d7b423573294a203d /punani
parentfb10cccee4a7683777e2009aeb104ceca61ef05e (diff)
//punani/tightnani_client: initial commit
the tigtnani client finds your package manager and the required parameters to handle the manager. currently it is able to remove and install : pacman (and derivates), apt (and derivates), yum and brew. Nothing is tested so be aware
Diffstat (limited to 'punani')
-rwxr-xr-xpunani/tightnani/tightnani_client59
-rw-r--r--punani/tightnani/tightnani_db6
2 files changed, 64 insertions, 1 deletions
diff --git a/punani/tightnani/tightnani_client b/punani/tightnani/tightnani_client
new file mode 100755
index 00000000..d2a598d3
--- /dev/null
+++ b/punani/tightnani/tightnani_client
@@ -0,0 +1,59 @@
+#!/bin/bash
+set -xeuf
+
+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`
+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
diff --git a/punani/tightnani/tightnani_db b/punani/tightnani/tightnani_db
index d15a9ad4..322e28f8 100644
--- a/punani/tightnani/tightnani_db
+++ b/punani/tightnani/tightnani_db
@@ -21,5 +21,9 @@
"python3" : {
"apt-get" : "python3",
"pacman" : "python"
- }
+ },
+ "tinc" : {
+ "apt-get" : "tinc",
+ "yaourt" : "tinc"
+ }
}