2017-04-12 13:30:53 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
|
|
log()
|
|
|
|
|
{
|
|
|
|
|
echo $@ >&2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
err()
|
|
|
|
|
{
|
|
|
|
|
echo $@ >&2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fatal()
|
|
|
|
|
{
|
|
|
|
|
err "Giving up: $@"
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
usage()
|
|
|
|
|
{
|
|
|
|
|
cat<<-EOT
|
|
|
|
|
$myname cmd args
|
|
|
|
|
EOT
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
run()
|
|
|
|
|
{
|
|
|
|
|
log "Running ==== $@"
|
2017-04-12 13:45:19 +00:00
|
|
|
eval "$@"
|
2017-04-12 13:30:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cmd_install()
|
|
|
|
|
{
|
2017-04-12 13:45:19 +00:00
|
|
|
local env opts global_opts
|
|
|
|
|
local non_interactive
|
|
|
|
|
|
|
|
|
|
set -- `getopt 'y' $*`
|
|
|
|
|
while [ "$1" != -- ] ; do
|
|
|
|
|
case "$1" in
|
|
|
|
|
-y)
|
|
|
|
|
non_interactive=1
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
shift
|
|
|
|
|
done
|
|
|
|
|
shift
|
|
|
|
|
|
2017-04-12 13:30:53 +00:00
|
|
|
case $ID in
|
|
|
|
|
opensuse|suse)
|
2017-04-12 13:45:19 +00:00
|
|
|
[ "$non_interactive" = 1 ] && global_opts="$global_opts --non-interactive"
|
|
|
|
|
eval run sudo $env zypper $global_opts install "$@"
|
2017-04-12 13:30:53 +00:00
|
|
|
;;
|
|
|
|
|
debian)
|
2017-04-12 13:45:19 +00:00
|
|
|
[ "$non_interactive" = 1 ] && {
|
|
|
|
|
global_opts="$global_opts -yq"
|
|
|
|
|
env="$env DEBIAN_FRONTEND=noninteractive"
|
|
|
|
|
}
|
|
|
|
|
eval run sudo $env apt-get $global_opts install "$@"
|
2017-04-12 13:30:53 +00:00
|
|
|
;;
|
|
|
|
|
*)
|
2017-04-28 08:45:55 +00:00
|
|
|
fatal "Tried to install on unsupported platform \"$ID\""
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cmd_refresh()
|
|
|
|
|
{
|
|
|
|
|
case $ID in
|
|
|
|
|
opensuse|suse)
|
|
|
|
|
eval run sudo $env zypper $global_opts refresh "$@"
|
|
|
|
|
;;
|
|
|
|
|
debian)
|
|
|
|
|
eval run sudo $env apt-get $global_opts update "$@"
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
fatal "Tried to update unsupported platform \"$ID\""
|
2017-04-12 13:30:53 +00:00
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# -- here we go
|
|
|
|
|
myname=`basename $0`
|
|
|
|
|
. /etc/os-release
|
|
|
|
|
cmd="$1"
|
|
|
|
|
shift
|
|
|
|
|
eval cmd_$cmd "$@"
|
|
|
|
|
|