corriger le calcul de la version de tomcat à sélectionner

This commit is contained in:
Jephté Clain 2017-06-29 00:26:26 +04:00
parent e3344f512e
commit c659159188
1 changed files with 21 additions and 8 deletions

29
toinst
View File

@ -97,7 +97,10 @@ OPTIONS
--config-template
Créer un modèle de configuration dans le répertoire des webapp
spécifiées. Si aucune webapp n'est spécifiée, créer le fichier dans le
répertoire courant."
répertoire courant.
--legacy-sort
Indiquer que la version de sort actuellement installée ne supporte pas
l'option -V (--version-sort) et donc qu'il ne faut pas l'utiliser."
}
DEFAULT_EXCLUDES=(/.git/ /.toinst.conf)
@ -222,6 +225,17 @@ function build_rsync_options() {
done
}
function last_version_dir() {
local -a dirs
local legacy_sort="$1"; shift
if [ -n "$legacy_sort" ]; then
array_from_lines dirs "$(list_dirs "$@" | sort -r)"
else
array_from_lines dirs "$(list_dirs "$@" | sort -rV)"
fi
[ ${#dirs[*]} -gt 0 ] && echo "$1/${dirs[0]}"
}
args=(%
--help '$exit_with display_help'
--config-template action=config-template
@ -250,6 +264,7 @@ args=(%
-n,--no-restart restart=0
-r,--restart-only action=restart
--fake fake=1
--legacy-sort legacy_sort=1
)
parse_args "$@"; set -- "${args[@]}"
@ -314,9 +329,9 @@ if [ -z "$TOMCAT_PROFILE" ]; then
setx v=readlink /opt/tomcat
setx v=basename -- "$v"
else
array_lsdirs ts /opt "apache-tomcat-*"
if [ ${#ts[*]} -gt 0 ]; then
[ -n "$CATALINA_BASE" ] || CATALINA_BASE="${ts[0]}"
setx t=last_version_dir "$legacy_sort" /opt "apache-tomcat-*"
if [ -n "$t" ]; then
[ -n "$CATALINA_BASE" ] || CATALINA_BASE="$t"
v="$CATALINA_BASE"
[ -L "$v" ] && setx v=readlink "$v"
setx v=basename -- "$v"
@ -361,15 +376,13 @@ debian:*)
runs:*)
v="${TOMCAT_PROFILE#runs:tomcat}"
if [ -z "$CATALINA_BASE" -a -n "$v" -a "$v" != "$TOMCAT_PROFILE" ]; then
array_lsdirs ts /opt "apache-tomcat-$v*"
CATALINA_BASE="${ts[0]}"
setx CATALINA_BASE=last_version_dir "$legacy_sort" /opt "apache-tomcat-$v*"
fi
if [ -z "$CATALINA_BASE" ]; then
if [ -L /opt/tomcat ]; then
setx CATALINA_BASE=readlink /opt/tomcat
else
array_lsdirs ts /opt "apache-tomcat-*"
CATALINA_BASE="${ts[0]}"
setx CATALINA_BASE=last_version_dir "$legacy_sort" /opt "apache-tomcat-*"
fi
fi
name="${TOMCAT_PROFILE#runs:}"