diff --git a/update-nutools b/update-nutools index b5ef49f..09db8f7 100755 --- a/update-nutools +++ b/update-nutools @@ -8,8 +8,15 @@ PUB_REPO=https://git.univ-reunion.fr/modules/nutools NAME=nutools ################################################################################ -if [ $# -eq 1 -a "$1" == --help ]; then - echo "update-nutools: mettre à jour nutools +eval "set -- $(getopt -n update-nutools -o dpx -l develop,public,use-proxy,do-update -- "$@" || echo exit 1)" +develop= +public= +use_proxy= +do_update= +while [ "$1" != -- ]; do + case "$1" in + --help) + echo "update-nutools: mettre à jour nutools USAGE: update-nutools [--develop] @@ -18,11 +25,37 @@ OPTIONS -d, --develop Mettre à jour avec la branche develop pour avoir les dernières fonctions qui ne sont pas encore stabilisées. Par défaut, la mise à jour est faite - avec la branche master." - exit 0 -fi + avec la branche master. + -p, --public + Forcer l'utilisation de l'url publique" + exit 0 + ;; + -d|--develop) + develop=develop + ;; + -p|--public) + public=1 + NUTOOLS_REPO="$PUB_REPO" + ;; + -x|--use-proxy) + use_proxy=1 + ;; + --do-update) + do_update=1 + ;; + esac + shift +done -[ -z "$update_nutools_use_proxy" ] && export http_proxy= +[ -n "$use_proxy" ] || export http_proxy= + +if [ -z "$do_update" ]; then + scriptdir="$(dirname -- "$0")" + + cp "$0" "$TMPSCRIPT" + chmod 755 "$TMPSCRIPT" + exec bash "$TMPSCRIPT" ${develop:+--develop} ${public:+--public} --do-update "$scriptdir" +fi CURL="$(which curl 2>/dev/null)" WGET="$(which wget 2>/dev/null)" @@ -50,20 +83,7 @@ NOTE: si une erreur se produit, utiliser l'adresse privée, e.g. NUTOOLS_REPO=$PRIV_REPO $0" fi -case "$1" in --d|--d|--dev|--devel|--develop) develop=develop;; -*) develop=;; -esac - -scriptdir="$(dirname "$0")" -if [ $# -ne 3 -o "$1" != --do-update ]; then - cp "$0" "$TMPSCRIPT" - chmod 755 "$TMPSCRIPT" - exec bash "$TMPSCRIPT" --do-update "$scriptdir" "$develop" -fi - -scriptdir="$2" -develop="$3" +scriptdir="$1" clonerepo= if [ -z "$NUTOOLS_REPO" -a -f "$scriptdir/.nutools-devel" -a -d "$scriptdir/.git" ]; then echo "NOTE: tentative de mise à jour du dépôt local"