mirror of
https://github.com/limosek/zaf.git
synced 2025-11-01 18:17:37 +01:00
Reworked install and shift parameters
This commit is contained in:
82
zaf
82
zaf
@@ -19,6 +19,7 @@ done
|
||||
[ -z "$ZAF_TMP_BASE" ] && ZAF_TMP_BASE=/tmp/zaf
|
||||
ZAF_TMP_DIR="${ZAF_TMP_BASE}-${USER}"
|
||||
[ -z "$ZAF_DEBUG" ] && ZAF_DEBUG=1
|
||||
export ZAF_DEBUG
|
||||
|
||||
# If debug is on, do not remove tmp dir
|
||||
if [ "$ZAF_DEBUG" -le 3 ]; then
|
||||
@@ -39,6 +40,25 @@ else
|
||||
[ -f ${ZAF_LIB_DIR}/zaf.${ZAF_OS}.sh ] && . ${ZAF_LIB_DIR}/zaf.${ZAF_OS}.sh
|
||||
fi
|
||||
|
||||
zaf_shift(){
|
||||
local s
|
||||
|
||||
if echo $1 |grep -q "="; then
|
||||
if echo $2 |grep -q "="; then
|
||||
if echo $3 |grep -q "="; then
|
||||
s=3
|
||||
else
|
||||
s=2
|
||||
fi
|
||||
else
|
||||
s=1
|
||||
fi
|
||||
else
|
||||
s=0
|
||||
fi
|
||||
echo $s
|
||||
}
|
||||
|
||||
case $1 in
|
||||
|
||||
check-agent-config)
|
||||
@@ -46,24 +66,25 @@ check-agent-config)
|
||||
;;
|
||||
|
||||
update)
|
||||
zaf_wrn "Updating repository ${ZAF_PLUGINS_GITURL}..."
|
||||
zaf_wrn "Updating repository ${ZAF_REPO_GITURL}..."
|
||||
zaf_update_repo
|
||||
;;
|
||||
|
||||
show)
|
||||
if [ -z "$2" ]; then
|
||||
shift $(zaf_shift "$@")
|
||||
if [ -z "$1" ]; then
|
||||
zaf_list_plugins | while read plugin; do
|
||||
zaf_plugin_info $ZAF_PLUGINS_DIR/$plugin/control.zaf
|
||||
done
|
||||
else
|
||||
if zaf_list_plugins | grep -q "^$2"; then
|
||||
zaf_plugin_info $ZAF_PLUGINS_DIR/$2/control.zaf
|
||||
else
|
||||
if zaf_list_plugins | grep -q "^$1"; then
|
||||
[ -f $ZAF_PLUGINS_DIR/$1/control.zaf ] && zaf_plugin_info $ZAF_PLUGINS_DIR/$1/control.zaf || zaf_err "Plugin $1 not installed."
|
||||
else
|
||||
if echo $2 |grep -q ^http; then
|
||||
zaf_prepare_plugin "$2" "$ZAF_TMP_DIR/plugin"
|
||||
if echo $1 |grep -q ^http; then
|
||||
zaf_prepare_plugin "$1" "$ZAF_TMP_DIR/plugin"
|
||||
zaf_plugin_info "$ZAF_TMP_DIR/plugin/control.zaf"
|
||||
else
|
||||
zaf_err "Plugin $2 not installed."
|
||||
zaf_err "Plugin $1 not installed."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -74,37 +95,39 @@ plugins)
|
||||
;;
|
||||
|
||||
items)
|
||||
if [ -z "$2" ]; then
|
||||
shift $(zaf_shift "$@")
|
||||
if [ -z "$1" ]; then
|
||||
zaf_list_items
|
||||
else
|
||||
zaf_list_plugin_items "$2"
|
||||
zaf_list_plugin_items "$1"
|
||||
fi
|
||||
;;
|
||||
|
||||
test)
|
||||
if echo $2|grep -q '\.'; then
|
||||
zaf_test_item "$2"
|
||||
shift $(zaf_shift "$@")
|
||||
if echo $1|grep -q '\.'; then
|
||||
zaf_test_item "$1"
|
||||
exit
|
||||
fi
|
||||
if [ -n "$2" ]; then
|
||||
shift
|
||||
if [ -n "$1" ]; then
|
||||
plugins="$@"
|
||||
else
|
||||
plugins="$(zaf_list_plugins)"
|
||||
fi
|
||||
for p in $plugins; do
|
||||
! zaf_is_plugin $p && zaf_err "Unknown plugin $p"
|
||||
for i in $(zaf_list_plugin_items $p); do
|
||||
echo $i: $(zaf_test_item $i)
|
||||
done
|
||||
done
|
||||
;;
|
||||
get)
|
||||
if echo $2|grep -q '\.'; then
|
||||
zaf_get_item "$2"
|
||||
shift $(zaf_shift "$@")
|
||||
if echo $1|grep -q '\.'; then
|
||||
zaf_get_item "$1"
|
||||
exit
|
||||
fi
|
||||
if [ -n "$2" ]; then
|
||||
shift
|
||||
if [ -n "$1" ]; then
|
||||
plugins="$@"
|
||||
else
|
||||
plugins="$(zaf_list_plugins)"
|
||||
@@ -116,7 +139,7 @@ get)
|
||||
done
|
||||
;;
|
||||
install)
|
||||
shift;
|
||||
shift $(zaf_shift "$@")
|
||||
[ -z "$1" ] && echo "$0 install plugin [plugin]..."
|
||||
for p in $@; do
|
||||
if zaf_is_plugin "$p"; then
|
||||
@@ -130,7 +153,8 @@ install)
|
||||
;;
|
||||
|
||||
reinstall)
|
||||
shift;
|
||||
shift $(zaf_shift "$@")
|
||||
shift
|
||||
[ -z "$1" ] && echo "$0 reinstall plugin [plugin]..."
|
||||
for p in $@; do
|
||||
if zaf_is_plugin "$p"; then
|
||||
@@ -144,7 +168,7 @@ reinstall)
|
||||
;;
|
||||
|
||||
remove)
|
||||
shift;
|
||||
shift $(zaf_shift "$@")
|
||||
[ -z "$1" ] && echo "$0 remove plugin [plugin]..."
|
||||
for p in $@; do
|
||||
if zaf_is_plugin "$p"; then
|
||||
@@ -156,26 +180,23 @@ remove)
|
||||
;;
|
||||
|
||||
self-upgrade)
|
||||
shift $(zaf_shift "$@")
|
||||
zaf_os_specific zaf_check_deps zaf && zaf_err "Zaf is installed as system package. Cannot self-upgrade."
|
||||
rm -rf /tmp/zaf-installer && mkdir /tmp/zaf-installer
|
||||
if ! which curl >/dev/null;
|
||||
then
|
||||
zaf_err "Curl not found. Cannot continue. Please install it."
|
||||
fi
|
||||
[ -z "$2" ] && auto=auto
|
||||
set -e
|
||||
mkdir -p /tmp/zaf-installer \
|
||||
&& cd /tmp/zaf-installer \
|
||||
&& (for i in lib/zaf.lib.sh lib/os.lib.sh lib/ctrl.lib.sh install.sh ; do echo curl -f -k -s -L -o - "$ZAF_URL/$i" >&2; curl -f -k -s -L -o - "$ZAF_URL/$i"; done) >install.sh \
|
||||
&& chmod +x install.sh \
|
||||
&& exec ./install.sh $auto "$@"
|
||||
[ -z "$1" ] && auto=auto
|
||||
zaf_fetch_url $ZAF_URL/$ZAF_VERSION/install.sh | exec sh -s "$@"
|
||||
exit
|
||||
;;
|
||||
|
||||
self-remove)
|
||||
shift $(zaf_shift "$@")
|
||||
zaf_os_specific zaf_check_deps zaf && zaf_err "Zaf is installed as system package. Cannot self-remove."
|
||||
. /etc/zaf.conf
|
||||
if [ "$2" = "force" ]; then
|
||||
if [ "$1" = "force" ]; then
|
||||
rm -rf /etc/zaf.conf ${ZAF_PLUGINS_DIR} ${ZAF_REPO_DIR} ${ZAF_LIB_DIR} \
|
||||
${ZAF_BIN_DIR}/zaf ${ZAF_AGENT_CONFIGD}/zaf_*
|
||||
else
|
||||
@@ -190,6 +211,8 @@ self-remove)
|
||||
|
||||
*)
|
||||
echo "$0 Version ${ZAF_VERSION}. Please use some of this commands:"
|
||||
echo "$0 Cmd [ZAF_OPTION=value] ..."
|
||||
echo "Commands:"
|
||||
echo "$0 update To update repo"
|
||||
echo "$0 plugins To list installed plugins"
|
||||
echo "$0 show [plugin] To show installed plugins or plugin info"
|
||||
@@ -200,6 +223,7 @@ self-remove)
|
||||
echo "$0 remove plugin To remove plugin"
|
||||
echo "$0 self-upgrade To self-upgrade zaf"
|
||||
echo "$0 self-remove To self-remove zaf and its config"
|
||||
echo
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user