pff: support de DISTTYPE

This commit is contained in:
Jephté Clain 2018-05-03 15:35:33 +04:00
parent f1dca506fb
commit 66e1674c00
1 changed files with 12 additions and 8 deletions

20
pff
View File

@ -22,6 +22,9 @@ PFFCONFVARS=(
-a -a
"PVERSIONS//Versions en attente d'intégration" "PVERSIONS//Versions en attente d'intégration"
"PROFILES//Profils définis" "PROFILES//Profils définis"
-s
"DISTTYPE=auto//Type de distribution upstream: full ou patch"
-a
"ORIGEXTS=//Extensions origines" "ORIGEXTS=//Extensions origines"
"PROTECTS=//Fichiers locaux à protéger lors de l'intégration e.g /dir/, /file, etc." "PROTECTS=//Fichiers locaux à protéger lors de l'intégration e.g /dir/, /file, etc."
"MKDIRS//Répertoires qui doivent toujours exister" "MKDIRS//Répertoires qui doivent toujours exister"
@ -620,7 +623,7 @@ function new__prepare_archive() {
# initialiser la variable $1(=srcdir) avec le chemin du répertoire résultat # initialiser la variable $1(=srcdir) avec le chemin du répertoire résultat
local destvar="${1:-srcdir}"; shift local destvar="${1:-srcdir}"; shift
local destver="${1:-version}"; shift local destver="${1:-version}"; shift
local archive="$1" version="$2" disttype="$3" unwrap="$4" local archive="$1" version="$2" unwrap="$3"
local srcdir local srcdir
if [ -f "$archive" ]; then if [ -f "$archive" ]; then
@ -638,15 +641,15 @@ function new__prepare_archive() {
local tmpd local tmpd
if [ -n "$archive" ]; then if [ -n "$archive" ]; then
if [ "$disttype" == auto ]; then if [ "$DISTTYPE" == auto ]; then
case "$archive" in case "$archive" in
*.war) *.war)
enote "Auto-sélection du type distribution complète sur la base de l'extension .war" enote "Auto-sélection du type distribution complète sur la base de l'extension .war"
disttype=full DISTTYPE=full
;; ;;
*.zip) *.zip)
enote "Auto-sélection du type distribution de patch sur la base de l'extension .zip" enote "Auto-sélection du type distribution de patch sur la base de l'extension .zip"
disttype=patch DISTTYPE=patch
;; ;;
*) *)
die "L'extension de l'archive n'est pas reconnue. Vous devez spécifier l'une des options -F ou -H" die "L'extension de l'archive n'est pas reconnue. Vous devez spécifier l'une des options -F ou -H"
@ -676,7 +679,7 @@ function new__prepare_archive() {
fi fi
fi fi
elif [ -d "$srcdir" ]; then elif [ -d "$srcdir" ]; then
if [ "$disttype" == auto ]; then if [ "$DISTTYPE" == auto ]; then
die "La source est un répertoire. Vous devez spécifier l'une des option -F ou -H" die "La source est un répertoire. Vous devez spécifier l'une des option -F ou -H"
fi fi
@ -695,11 +698,12 @@ function new_cmd() {
local archive="$1" pffdir="$2" local archive="$1" pffdir="$2"
ensure_pffdir pffdir "$pffdir" ensure_pffdir pffdir "$pffdir"
[ -n "$disttype" ] && DISTTYPE="$disttype"
## préparer la source: les fichiers entrants ## préparer la source: les fichiers entrants
local srcdir full local srcdir full
new__prepare_archive srcdir version "$archive" "$version" "$disttype" "$unwrap" new__prepare_archive srcdir version "$archive" "$version" "$unwrap"
[ "$disttype" == full ] && full=1 [ "$DISTTYPE" == full ] && full=1
## lister les fichiers dans la source et la destination ## lister les fichiers dans la source et la destination
local workdir local workdir
@ -1547,7 +1551,7 @@ fi
action=infos action=infos
autopatch=1 autopatch=1
version= version=
disttype=auto disttype=
ORIGEXTS=("${DEFAULT_ORIGEXTS[@]}") ORIGEXTS=("${DEFAULT_ORIGEXTS[@]}")
unwrap=auto unwrap=auto
merge_strategy= merge_strategy=