pff: ajout AUTO_CMDS et NEW_CMDS, supprimer MKDIRS
This commit is contained in:
parent
fe839f4c7b
commit
111463a861
25
pff
25
pff
|
@ -26,10 +26,12 @@ PFFCONFVARS=(
|
||||||
"DISTTYPE=auto//Type de distribution upstream: full ou patch"
|
"DISTTYPE=auto//Type de distribution upstream: full ou patch"
|
||||||
-a
|
-a
|
||||||
"ORIGEXTS=//Extensions origines"
|
"ORIGEXTS=//Extensions origines"
|
||||||
|
"AUTO_CMDS//Commandes à lancer lors des vérifications automatiques"
|
||||||
|
"NEW_CMDS//Commandes à lancer avant l'action new"
|
||||||
"PROTECTS=//Fichiers locaux à protéger lors de l'intégration au format rsync e.g /dir/, /file, etc."
|
"PROTECTS=//Fichiers locaux à protéger lors de l'intégration au format rsync e.g /dir/, /file, etc."
|
||||||
"MKDIRS//Répertoires qui doivent toujours exister"
|
|
||||||
"FILTERS//Filtres appliqués aux fichiers lors de l'intégration, de la forme 'filespec:filter'. Cf la doc pour le détail du format"
|
"FILTERS//Filtres appliqués aux fichiers lors de l'intégration, de la forme 'filespec:filter'. Cf la doc pour le détail du format"
|
||||||
"NOMERGES=//Fichiers qu'il ne faut pas chercher à fusionner. Cf la doc pour le détail du format"
|
"NOMERGES=//Fichiers qu'il ne faut pas chercher à fusionner. Cf la doc pour le détail du format"
|
||||||
|
-s
|
||||||
"NOUPSTREAM=//Indiquer qu'il n'y a pas de fichiers upstream. pff est uniquement utilisé pour gérer des profils de fichiers"
|
"NOUPSTREAM=//Indiquer qu'il n'y a pas de fichiers upstream. pff est uniquement utilisé pour gérer des profils de fichiers"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -605,7 +607,7 @@ function select_profile() {
|
||||||
function autoinit() {
|
function autoinit() {
|
||||||
# vérifications automatiques: créer les répertoires de base nécessaire au
|
# vérifications automatiques: créer les répertoires de base nécessaire au
|
||||||
# fonctionnement de pff dans le projet pff $1
|
# fonctionnement de pff dans le projet pff $1
|
||||||
local pffdir="$1" profile mkdir
|
local pffdir="$1" profile
|
||||||
[ -d "$pffdir/pff/Current" ] || mkdir -p "$pffdir/pff/Current"
|
[ -d "$pffdir/pff/Current" ] || mkdir -p "$pffdir/pff/Current"
|
||||||
[ -d "$pffdir/pff/Base" ] || mkdir -p "$pffdir/pff/Base"
|
[ -d "$pffdir/pff/Base" ] || mkdir -p "$pffdir/pff/Base"
|
||||||
# tous les fichiers du profil Base doivent être en lecture seule, sauf si
|
# tous les fichiers du profil Base doivent être en lecture seule, sauf si
|
||||||
|
@ -613,10 +615,14 @@ function autoinit() {
|
||||||
if [ -z "$NOUPSTREAM" ]; then
|
if [ -z "$NOUPSTREAM" ]; then
|
||||||
find "$pffdir/pff/Base" -type f -perm /222 -exec chmod a-w '{}' +
|
find "$pffdir/pff/Base" -type f -perm /222 -exec chmod a-w '{}' +
|
||||||
fi
|
fi
|
||||||
# Créer les répertoires de MKDIRS
|
# Lancer les commandes AUTO_CMDS
|
||||||
for mkdir in "${MKDIRS[@]}"; do
|
local cwd cmd
|
||||||
mkdir -p "$pffdir/$mkdir"
|
cwd="$(pwd)"
|
||||||
|
cd "$pffdir"
|
||||||
|
for cmd in "${AUTO_CMDS[@]}"; do
|
||||||
|
eval "$cmd"
|
||||||
done
|
done
|
||||||
|
cd "$cwd"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -859,6 +865,15 @@ function new_cmd() {
|
||||||
new__prepare_archive srcdir version "$archive" "$version" "$unwrap"
|
new__prepare_archive srcdir version "$archive" "$version" "$unwrap"
|
||||||
[ "$DISTTYPE" == full ] && full=1
|
[ "$DISTTYPE" == full ] && full=1
|
||||||
|
|
||||||
|
## Lancer les commandes
|
||||||
|
local cwd cmd
|
||||||
|
cwd="$(pwd)"
|
||||||
|
cd "$pffdir"
|
||||||
|
for cmd in "${NEW_CMDS[@]}"; do
|
||||||
|
eval "$cmd"
|
||||||
|
done
|
||||||
|
cd "$cwd"
|
||||||
|
|
||||||
## lister les fichiers dans la source et la destination
|
## lister les fichiers dans la source et la destination
|
||||||
local workdir
|
local workdir
|
||||||
ac_set_tmpdir workdir
|
ac_set_tmpdir workdir
|
||||||
|
|
Loading…
Reference in New Issue