diff --git a/lib/ulib/uinst b/lib/ulib/uinst index 6ea23f7..563ed69 100644 --- a/lib/ulib/uinst +++ b/lib/ulib/uinst @@ -1053,7 +1053,11 @@ function __uinst_rsync() { if [ -n "$owner" -a -n "${copied_files[*]}" ]; then ## Initialiser le propriétaire estep "Initialisation du propriétaire à $owner" - chown -R "$owner" "${copied_files[@]}" || return 1 + for file in "${copied_files[@]}"; do + # ignorer les fichiers qui n'ont pas été copiés + [ -e "$file" ] || continue + chown -R "$owner" "$file" || return 1 + done fi if [ -n "${modes[*]}" ]; then @@ -1068,7 +1072,11 @@ function __uinst_rsync() { elif [ -n "${copied_files[*]}" ]; then # une spécification de mode pour tous les fichiers déployés estep "Initialisation du mode à $mode" - chmod -R "$mode" "${copied_files[@]}" || return 1 + for file in "${copied_files[@]}"; do + # ignorer les fichiers qui n'ont pas été copiés + [ -e "$file" ] || continue + chmod -R "$mode" "$file" || return 1 + done fi done fi