diff options
author | makefu <github@syntax-fehler.de> | 2011-11-16 19:29:44 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2011-11-16 19:29:44 +0100 |
commit | f5c086a61ed2cf493d2e6edb0edf0f32230bb615 (patch) | |
tree | d88b666f45a492176fc32c1d7b423573294a203d | |
parent | fb10cccee4a7683777e2009aeb104ceca61ef05e (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
-rwxr-xr-x | punani/tightnani/tightnani_client | 59 | ||||
-rw-r--r-- | punani/tightnani/tightnani_db | 6 |
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" + } } |