correction d'un bug avec le choix du répertoire de destination

This commit is contained in:
Jephté Clain 2015-06-22 10:09:08 +04:00
parent e9089d86d6
commit d73c929594
1 changed files with 7 additions and 6 deletions

View File

@ -266,10 +266,10 @@ function uenv_install_profiles() {
envdestdir="${prefix}destdir"; envdestdir="${!envdestdir}" envdestdir="${prefix}destdir"; envdestdir="${!envdestdir}"
shadestdir="shared_${prefix}destdir"; shadestdir="${!shadestdir}" shadestdir="shared_${prefix}destdir"; shadestdir="${!shadestdir}"
[ -n "$envsrcdir" -a -d "$envsrcdir" ] || continue [ -n "$envsrcdir" -a -d "$envsrcdir" ] || continue
mkdir -p "$envdestdir" "$shadestdir"
array_from_lines envfiles "$(list_files "$envsrcdir")" array_from_lines envfiles "$(list_files "$envsrcdir")"
for envfile in "${envfiles[@]}"; do for envfile in "${envfiles[@]}"; do
mkdir -p "$envdestdir" "$shadestdir"
if [ "${envfile%.shared}" != "$envfile" ]; then if [ "${envfile%.shared}" != "$envfile" ]; then
# Avec l'extension .shared, toujours installer dans le # Avec l'extension .shared, toujours installer dans le
# répertoire des profils partagés # répertoire des profils partagés
@ -288,9 +288,10 @@ function uenv_install_profiles() {
fi fi
fi fi
local actual_envdestdir="$(dirname -- "$envdest")"
if [ ! -f "$envdest" ]; then if [ ! -f "$envdest" ]; then
estep "Installation du profil par défaut $envfile dans $(ppath "$envdestdir")" estep "Installation du profil par défaut $envfile dans $(ppath "$actual_envdestdir")"
/bin/cp -f "$envsrc" "$envdestdir" /bin/cp -f "$envsrc" "$actual_envdestdir"
elif [ "$prefix" == "default" ]; then elif [ "$prefix" == "default" ]; then
# ne jamais mettre à jour dans default # ne jamais mettre à jour dans default
if testdiff "$envdest" "$envsrc"; then if testdiff "$envdest" "$envsrc"; then
@ -302,7 +303,7 @@ function uenv_install_profiles() {
estepi "Le profil $(ppath "$envdest") a été conservé" estepi "Le profil $(ppath "$envdest") a été conservé"
fi fi
elif testdiff "$envdest" "$envsrc"; then elif testdiff "$envdest" "$envsrc"; then
estep "Le profil par défaut $envfile dans $(ppath "$envdestdir") a été modifié" estep "Le profil par défaut $envfile dans $(ppath "$actual_envdestdir") a été modifié"
if show_info; then if show_info; then
eecho "Voici les différences détectées:" eecho "Voici les différences détectées:"
eecho "" eecho ""
@ -310,8 +311,8 @@ function uenv_install_profiles() {
eecho "" eecho ""
fi fi
if ask_yesno "Faut-il remplacer $(ppath "$envdestdir/$envfile") par le profil par défaut?" O; then if ask_yesno "Faut-il remplacer $(ppath "$envdest") par le profil par défaut?" O; then
/bin/cp -f "$envsrc" "$envdestdir" /bin/cp -f "$envsrc" "$actual_envdestdir"
fi fi
fi fi
done done