blob: 7be91db4a74fb6665bf78d54cd58747ca242d8af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
#! /bin/sh
set -euf
TIGHTNANI_HOST="${TIGHTNANI_HOST-http://euer.krebsco.de:9111}"
if [ $# -ne 2 ];then
echo "usage: `basename $0` (install|remove) PACKAGE"
exit 23
fi
## find package manager
if ! :; then : # dummy, so the rest has a common format
elif for PACKER_CMD in yum
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='-y install'
REMOVE_PARAM='-y remove'
elif for PACKER_CMD in brew
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='install'
REMOVE_PARAM='remove'
elif for PACKER_CMD in bauerbill packer yaourt pacman
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='--noconfirm -S'
REMOVE_PARAM='--needed -Rcs'
elif for PACKER_CMD in aptitude apt-get
do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then
INSTALL_PARAM='--yes install'
REMOVE_PARAM='--yes remove'
else
echo "Error 2: no known package manager found; no punani for you!" >&2
exit 23
fi
# find the package name
PKG="$2"
RESOLVED=`wget -O- $TIGHTNANI_HOST/$PACKER_CMD/$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
|