From 5020fb59510a981bd021e5d34fee268d26eb40a0 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Tue, 19 Feb 2013 17:08:54 +0100 Subject: [PATCH] Ajout : lib/log.sh . --- lib/functions.sh | 25 ++----------------------- lib/log.sh | 39 +++++++++++++++++++++++++++++++++++++++ lib/mk.sh | 24 ++++++++++++++++++++++++ vm_host | 3 ++- vm_hosted | 3 ++- vm_remote | 5 +++-- 6 files changed, 72 insertions(+), 27 deletions(-) create mode 100644 lib/log.sh create mode 100644 lib/mk.sh diff --git a/lib/functions.sh b/lib/functions.sh index a059f2f..b661a15 100644 --- a/lib/functions.sh +++ b/lib/functions.sh @@ -1,25 +1,4 @@ #!/bin/sh -# DESCRIPTION: ce fichier regroupe des utilitaires très génériques -mk_dir () { - local mod=${1#mod=}; shift - local own=${1#own=}; shift - sudo mkdir -p "$@" - ! [ ${mod:+set} ] || sudo chmod $mod "$@" - ! [ ${own:+set} ] || sudo chown $own "$@" - } -mk_reg () { - local mod=${1#mod=}; shift - local own=${1#own=}; shift - local append - if [ "x${1#--append}" = "x" ] - then append='-a'; shift - else append='' - fi - sudo tee >&2 $append "$@" - ! [ ${mod:+set} ] || sudo chmod $mod "$@" - ! [ ${own:+set} ] || sudo chown $own "$@" - } -mk_lnk () { - sudo ln -fns "$@" - } +. "$tool"/lib/mk.sh +. "$tool"/lib/log.sh diff --git a/lib/log.sh b/lib/log.sh new file mode 100644 index 0000000..af89e5b --- /dev/null +++ b/lib/log.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +export TERM=${TERM:-linux} +tput_rev=${nocolor:-$(tput rev)} +tput_sgr0=${nocolor:-$(tput sgr0)} +tput_bold=${nocolor:-$(tput bold)} +tput_setaf_0=${nocolor:-$(tput setaf 0)} +tput_setaf_2=${nocolor:-$(tput setaf 2)} + +info () { + set=$(set +o | grep '^set .o xtrace$') + set +x + printf >&2 "%sINFO%s" "$tput_setaf_2" "$tput_sgr0" + comment=$1 + shift + for var in "$@" + do + val=$(eval printf %s "\"\${$var:-}\"" || false) || false + printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0" + done + printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0" + $set + } +error () { + set=$(set +o | grep '^set .o xtrace$') + set +x + printf >&2 "%sERROR%s" "$tput_setaf_2" "$tput_sgr0" + errno=$1 + comment=$2 + shift 2 + for var in "$@" + do + val=$(eval printf %s "\"\${$var:-}\"" || false) || false + printf >&2 ": %s%s%s=%s%s%s" "$tput_bold$tput_setaf_0" "$var" "$tput_sgr0" "$tput_bold$tput_setaf_0" "$val" "$tput_sgr0" + done + printf >&2 ": %s%s%s\n" "$tput_rev" "$comment" "$tput_sgr0" + $set + exit $1 + } diff --git a/lib/mk.sh b/lib/mk.sh new file mode 100644 index 0000000..03912eb --- /dev/null +++ b/lib/mk.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +mk_dir () { + local mod=${1#mod=}; shift + local own=${1#own=}; shift + sudo mkdir -p "$@" + ! [ ${mod:+set} ] || sudo chmod $mod "$@" + ! [ ${own:+set} ] || sudo chown $own "$@" + } +mk_reg () { + local mod=${1#mod=}; shift + local own=${1#own=}; shift + local append + if [ "x${1#--append}" = "x" ] + then append='-a'; shift + else append='' + fi + sudo tee >&2 $append "$@" + ! [ ${mod:+set} ] || sudo chmod $mod "$@" + ! [ ${own:+set} ] || sudo chown $own "$@" + } +mk_lnk () { + sudo ln -fns "$@" + } diff --git a/vm_host b/vm_host index 1577977..0a2649d 100755 --- a/vm_host +++ b/vm_host @@ -437,7 +437,8 @@ ${1+shift} case $rule in (help);; (*) - test "$(hostname --fqdn)" = "$vm_host" + test "$(hostname --fqdn)" = "$vm_host" || + error 1 "mauvaise machine" ${TRACE:+set -x} ;; esac diff --git a/vm_hosted b/vm_hosted index 5289046..ebb930d 100755 --- a/vm_hosted +++ b/vm_hosted @@ -825,7 +825,8 @@ ${1+shift} case $rule in (help);; (*) - test "$(hostname --fqdn)" = "$vm_fqdn" + test "$(hostname --fqdn)" = "$vm_fqdn" || + error 1 "mauvaise machine" ${TRACE:+set -x} ;; esac diff --git a/vm_remote b/vm_remote index 987be13..946706a 100755 --- a/vm_remote +++ b/vm_remote @@ -75,8 +75,9 @@ ${1+shift} case $rule in (help);; (*) - test ! "$(hostname --fqdn)" = "$vm_fqdn" - test ! "$(hostname --fqdn)" = "$vm_host" + test ! "$(hostname --fqdn)" = "$vm_fqdn" && + test ! "$(hostname --fqdn)" = "$vm_host" || + error 1 "mauvaise machine" ${TRACE:+set -x} ;; esac -- 2.20.1