uinst: ajouter l'option -h pour la méthode uinst:rsync
This commit is contained in:
parent
7643573a8e
commit
d9282f756a
|
@ -49,6 +49,7 @@ function uinst() {
|
|||
local workdir_includes
|
||||
local copy_files
|
||||
local destdir
|
||||
local destdir_override_userhost
|
||||
local srcdir
|
||||
local -a files
|
||||
local owner
|
||||
|
@ -76,8 +77,15 @@ OPTIONS
|
|||
liste de préfixes valides. Utiliser 'udir --help-vars' pour avoir une
|
||||
liste de variables valides pour $scriptname.
|
||||
-d /path/to/destdir
|
||||
Spécifier le répertoire destination. Equivalent à l'option
|
||||
destdir=\"/path/to/destdir\"
|
||||
Spécifier le répertoire destination, exactement comme si la valeur
|
||||
destdir avait été spécifiée, i.e destdir=\"/path/to/destdir\"
|
||||
-h, --host [user@]host
|
||||
Avec la méthode de déploiement uinst:rsync, permettre de spécifier un
|
||||
hôte différent. Cette option est ignorée pour les autres méthodes de
|
||||
déploiement. Si host vaut localhost, un déploiement local avec ssh est
|
||||
effectué. Si host vaut '.', un déploiement local *sans passer par ssh*
|
||||
est effectué, comme si seul le chemin avait été spécifié.
|
||||
Cette option initialise la valeur destdir_override_userhost
|
||||
-a (par défaut) Si la source n'est pas spécifiée, déterminer le répertoire
|
||||
à déployer automatiquement.
|
||||
--no-auto
|
||||
|
@ -131,7 +139,8 @@ OPTIONS
|
|||
--is-tmpdir UINST_ISTMPDIR \
|
||||
-O: '$__uinst_addvar owner "$value_"' \
|
||||
-m: '$__uinst_addvar modes "$value_"' \
|
||||
-d: '$__uinst_addvar destdir $value_' \
|
||||
-d: '$__uinst_addvar destdir "$value_"' \
|
||||
-h:,-H:,--host: '$__uinst_addvar destdir_override_userhost "$value_"' \
|
||||
-a,--auto UINST_AUTOSRCDIR=1 \
|
||||
--no-auto UINST_AUTOSRCDIR= \
|
||||
--prefix UINST_AUTOPREFIX=1 \
|
||||
|
@ -197,6 +206,7 @@ function __uinst_init() {
|
|||
workdir_includes='()'
|
||||
copy_files='true'
|
||||
destdir='/usr/local'
|
||||
destdir_override_userhost=
|
||||
srcdir='.'
|
||||
files='()'
|
||||
owner='root:'
|
||||
|
@ -375,7 +385,7 @@ Utilisez 'udir -e $(ppath "$srcdir")' pour modifier les paramètres."
|
|||
|
||||
function __uinst_defaultvars() {
|
||||
eval "$(array_join UINST_DEFAULTS ';')"
|
||||
UDIR_VARS=(uinc install_profiles profiledir bashrcdir defaultdir copy_files destdir srcdir owner)
|
||||
UDIR_VARS=(uinc install_profiles profiledir bashrcdir defaultdir copy_files destdir destdir_override_userhost srcdir owner)
|
||||
UDIR_ARRAYS=(uinc_options uinc_args preconfig_scripts configure_variables configure_dest_for config_scripts workdir_rsync_options workdir_excludes workdir_includes files modes root_scripts)
|
||||
}
|
||||
|
||||
|
@ -910,6 +920,20 @@ function __uinst_rsync() {
|
|||
__uinst_setvars
|
||||
# corriger éventuellement destdir
|
||||
[ -n "$UINST_AUTOPREFIX" ] && destdir="$(expand_prefix "$destdir")"
|
||||
# si un hôte a été spécifié avec --host, utiliser cette valeur
|
||||
if [ -n "$destdir_override_userhost" ]; then
|
||||
splituserhost "$destdir_override_userhost" __override_user __override_host
|
||||
splitfsep2 "$destdir" : __destdir_userhost __destdir_path
|
||||
splituserhost "$__destdir_userhost" __destdir_user __destdir_host
|
||||
[ -n "$__override_user" ] || __override_user="$__destdir_user"
|
||||
if [ "$__override_host" != . ]; then
|
||||
# déploiement distant
|
||||
destdir="${__override_user:+$__override_user@}$__override_host:$__destdir_path"
|
||||
else
|
||||
# déploiement local
|
||||
destdir="$__destdir_path"
|
||||
fi
|
||||
fi
|
||||
# les variables de configure_variables ne sont pas prises en compte. pas la
|
||||
# peine de les afficher
|
||||
configure_variables=()
|
||||
|
@ -928,8 +952,12 @@ function __uinst_rsync() {
|
|||
if [ -n "${files[*]}" ]; then
|
||||
srcdesc="$srcdesc/{$(array_join files ,)}"
|
||||
fi
|
||||
if [[ "$destdir" == *:* ]]; then
|
||||
ask_yesno "Synchroniser $srcdesc vers $(ppath "$destdir")?" O || return
|
||||
else
|
||||
ask_yesno "Synchroniser $srcdesc vers $(ppath "$destdir") sur $MYHOST?" O || return
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "$srcdir" || return 1
|
||||
local localsync=1
|
||||
|
|
Loading…
Reference in New Issue