templates: support des fichiers locaux
This commit is contained in:
parent
f572282784
commit
b12949d3ea
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## template
|
## template
|
||||||
|
|
||||||
* [ ] pour tout fichier source `.file.template`, considérer avant
|
* [x] pour tout fichier source `.file.template`, considérer avant
|
||||||
`file.template.local` s'il existe, ce qui permet à un utilisateur de
|
`file.template.local` s'il existe, ce qui permet à un utilisateur de
|
||||||
remplacer le modèle livré.
|
remplacer le modèle livré.
|
||||||
cela a-t-il du sens de supporter aussi file.dist.local? vu que ça ne sert
|
cela a-t-il du sens de supporter aussi file.dist.local? vu que ça ne sert
|
||||||
|
|
|
@ -19,18 +19,23 @@ Copier \$1 vers \$2 de façon inconditionnelle
|
||||||
Si \$2 n'est pas spécifié, on assume que \$1 est de la forme '.file.ext'
|
Si \$2 n'est pas spécifié, on assume que \$1 est de la forme '.file.ext'
|
||||||
et \$2 vaudra alors 'file'
|
et \$2 vaudra alors 'file'
|
||||||
|
|
||||||
|
si un fichier \${2#.}.local existe, prendre ce fichier à la place comme source
|
||||||
|
|
||||||
Ajouter file au tableau userfiles"
|
Ajouter file au tableau userfiles"
|
||||||
function template_copy_replace() {
|
function template_copy_replace() {
|
||||||
local src="$1" dest="$2"
|
local src="$1" dest="$2"
|
||||||
if [ -z "$dest" ]; then
|
local srcdir srcname lsrcname
|
||||||
local srcdir srcname
|
setx srcdir=dirname "$src"
|
||||||
setx srcname=basename "$src"
|
setx srcname=basename "$src"
|
||||||
|
if [ -z "$dest" ]; then
|
||||||
dest="${srcname#.}"
|
dest="${srcname#.}"
|
||||||
dest="${dest%.*}"
|
dest="${dest%.*}"
|
||||||
setx srcdir=dirname "$src"
|
|
||||||
dest="$srcdir/$dest"
|
dest="$srcdir/$dest"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
lsrcname="${srcname#.}.local"
|
||||||
|
[ -e "$srcdir/$lsrcname" ] && src="$srcdir/$lsrcname"
|
||||||
|
|
||||||
userfiles+=("$dest")
|
userfiles+=("$dest")
|
||||||
cp -P "$src" "$dest"
|
cp -P "$src" "$dest"
|
||||||
return 0
|
return 0
|
||||||
|
@ -42,20 +47,25 @@ Copier \$1 vers \$2 si ce fichier n'existe pas déjà
|
||||||
Si \$2 n'est pas spécifié, on assume que \$1 est de la forme '.file.ext'
|
Si \$2 n'est pas spécifié, on assume que \$1 est de la forme '.file.ext'
|
||||||
et \$2 vaudra alors 'file'
|
et \$2 vaudra alors 'file'
|
||||||
|
|
||||||
|
si un fichier \${2#.}.local existe, prendre ce fichier à la place comme source
|
||||||
|
|
||||||
Ajouter file au tableau userfiles"
|
Ajouter file au tableau userfiles"
|
||||||
function template_copy_missing() {
|
function template_copy_missing() {
|
||||||
local src="$1" dest="$2"
|
local src="$1" dest="$2"
|
||||||
if [ -z "$dest" ]; then
|
local srcdir srcname lsrcname
|
||||||
local srcdir srcname
|
setx srcdir=dirname "$src"
|
||||||
setx srcname=basename "$src"
|
setx srcname=basename "$src"
|
||||||
|
if [ -z "$dest" ]; then
|
||||||
dest="${srcname#.}"
|
dest="${srcname#.}"
|
||||||
dest="${dest%.*}"
|
dest="${dest%.*}"
|
||||||
setx srcdir=dirname "$src"
|
|
||||||
dest="$srcdir/$dest"
|
dest="$srcdir/$dest"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
userfiles+=("$dest")
|
userfiles+=("$dest")
|
||||||
if [ ! -e "$dest" ]; then
|
if [ ! -e "$dest" ]; then
|
||||||
|
lsrcname="${srcname#.}.local"
|
||||||
|
[ -e "$srcdir/$lsrcname" ] && src="$srcdir/$lsrcname"
|
||||||
|
|
||||||
cp -P "$src" "$dest"
|
cp -P "$src" "$dest"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue