templates: support des fichiers locaux
This commit is contained in:
parent
f572282784
commit
b12949d3ea
|
@ -2,7 +2,7 @@
|
|||
|
||||
## 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
|
||||
remplacer le modèle livré.
|
||||
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'
|
||||
et \$2 vaudra alors 'file'
|
||||
|
||||
si un fichier \${2#.}.local existe, prendre ce fichier à la place comme source
|
||||
|
||||
Ajouter file au tableau userfiles"
|
||||
function template_copy_replace() {
|
||||
local src="$1" dest="$2"
|
||||
local srcdir srcname lsrcname
|
||||
setx srcdir=dirname "$src"
|
||||
setx srcname=basename "$src"
|
||||
if [ -z "$dest" ]; then
|
||||
local srcdir srcname
|
||||
setx srcname=basename "$src"
|
||||
dest="${srcname#.}"
|
||||
dest="${dest%.*}"
|
||||
setx srcdir=dirname "$src"
|
||||
dest="$srcdir/$dest"
|
||||
fi
|
||||
|
||||
lsrcname="${srcname#.}.local"
|
||||
[ -e "$srcdir/$lsrcname" ] && src="$srcdir/$lsrcname"
|
||||
|
||||
userfiles+=("$dest")
|
||||
cp -P "$src" "$dest"
|
||||
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'
|
||||
et \$2 vaudra alors 'file'
|
||||
|
||||
si un fichier \${2#.}.local existe, prendre ce fichier à la place comme source
|
||||
|
||||
Ajouter file au tableau userfiles"
|
||||
function template_copy_missing() {
|
||||
local src="$1" dest="$2"
|
||||
local srcdir srcname lsrcname
|
||||
setx srcdir=dirname "$src"
|
||||
setx srcname=basename "$src"
|
||||
if [ -z "$dest" ]; then
|
||||
local srcdir srcname
|
||||
setx srcname=basename "$src"
|
||||
dest="${srcname#.}"
|
||||
dest="${dest%.*}"
|
||||
setx srcdir=dirname "$src"
|
||||
dest="$srcdir/$dest"
|
||||
fi
|
||||
|
||||
userfiles+=("$dest")
|
||||
if [ ! -e "$dest" ]; then
|
||||
lsrcname="${srcname#.}.local"
|
||||
[ -e "$srcdir/$lsrcname" ] && src="$srcdir/$lsrcname"
|
||||
|
||||
cp -P "$src" "$dest"
|
||||
return 0
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue