install: possibilité de spécifier les permissions

apache.tools: s'assurer que le fichier est lisible pour tout le monde
This commit is contained in:
Jephté Clain 2014-12-01 08:39:15 +04:00
parent 9fdb0d1d4c
commit f1c4695e2b
3 changed files with 22 additions and 15 deletions

View File

@ -1 +1 @@
007005000
007006000

View File

@ -177,7 +177,7 @@ $3" <"$src" >"$FILLTEMP"
src="$FILLTEMP"
fi
copy_update "$src" "$dest"
copy_update "$src" "$dest" go+rX
}
function apache_autoconf() {

View File

@ -14,8 +14,8 @@ fi
export ULIB_INSTALL_CONFIGURED=1
function ensure_exists() {
# créer le fichier vide "$1" s'il n'existe pas déjà. retourner vrai si le
# fichier a été créé sans erreur
# Créer le fichier vide "$1" s'il n'existe pas déjà, avec les permissions
# $2(=644). retourner vrai si le fichier a été créé sans erreur
[ -f "$1" ] || {
if [ -n "$ULIB_INSTALL_VERBOSE" ]; then
if [ -n "$ULIB_INSTALL_USES_PPATH" ]; then
@ -25,8 +25,9 @@ function ensure_exists() {
fi
fi
mkdirof "$1"
touch "$1"
return $?
local r=0
touch "$1" && chmod "${2:-644}" "$1" || r=$?
return $r
}
return 1
}
@ -42,7 +43,8 @@ function __ulib_install_show_args() {
}
function copy_replace() {
# Copier de façon inconditionnelle le fichier $1 vers le fichier $2
# Copier de façon inconditionnelle le fichier $1 vers le fichier $2, en
# réinitialisation les permissions à la valeur $3
local src="$1" dest="$2"
local srcname="$(basename -- "$src")"
@ -60,11 +62,15 @@ function copy_replace() {
fi
__ulib_install_show_args "$srcname" "$destarg" "$slash"
fi
cp "$src" "$dest"
local r=0
if cp "$src" "$dest"; then
[ -n "$3" ] && chmod "$3" "$dest" || r=$?
fi
return $r
}
function copy_new() {
# copier le fichier "$1" vers le fichier "$2"
# Copier le fichier "$1" vers le fichier "$2", avec les permissions $3(=644)
# Ne pas écraser le fichier destination s'il existe déjà
# Retourner vrai si le fichier a été copié sans erreur
local src="$1" dest="$2"
@ -73,15 +79,16 @@ function copy_new() {
mkdirof "$dest" || return 1
if [ ! -e "$dest" ]; then
copy_replace "$src" "$dest"
copy_replace "$src" "$dest" "$3"
else
return 1
fi
}
function copy_update() {
# copier le fichier "$1" vers le fichier "$2", si $2 n'existe pas, ou si $1
# a été modifié par rapport à $2.
# Copier le fichier "$1" vers le fichier "$2", si $2 n'existe pas, ou si $1
# a été modifié par rapport à $2. Réinitialiser le cas échéant les
# permissions à la valeur $3
# Retourner vrai si le fichier a été copié sans erreur.
local src="$1" dest="$2"
@ -89,9 +96,9 @@ function copy_update() {
mkdirof "$dest" || return 1
if [ ! -e "$dest" ]; then
copy_replace "$src" "$dest"
copy_replace "$src" "$dest" "$3"
elif testdiff "$src" "$dest"; then
copy_replace "$src" "$dest"
copy_replace "$src" "$dest" "$3"
else
return 1
fi
@ -112,7 +119,7 @@ function copy_update_ask() {
if testdiff "$src" "$dest"; then
diff -u "$dest" "$src"
if ask_yesno -c "Voulez-vous remplacer $(ppath "$dest") par la nouvelle version?" C; then
copy_replace "$src" "$dest"
copy_replace "$src" "$dest" "$3"
return $?
fi
fi