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
"PVERSIONS//Versions en attente d'intégration"
"PROFILES//Profils définis"
-s
"DISTTYPE=auto//Type de distribution upstream: full ou patch"
-a
"ORIGEXTS=//Extensions origines"
"PROTECTS=//Fichiers locaux à protéger lors de l'intégration e.g /dir/, /file, etc."
"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
local destvar="${1:-srcdir}"; shift
local destver="${1:-version}"; shift
local archive="$1" version="$2" disttype="$3" unwrap="$4"
local archive="$1" version="$2" unwrap="$3"
local srcdir
if [ -f "$archive" ]; then
@ -638,15 +641,15 @@ function new__prepare_archive() {
local tmpd
if [ -n "$archive" ]; then
if [ "$disttype" == auto ]; then
if [ "$DISTTYPE" == auto ]; then
case "$archive" in
*.war)
enote "Auto-sélection du type distribution complète sur la base de l'extension .war"
disttype=full
DISTTYPE=full
;;
*.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"
@ -676,7 +679,7 @@ function new__prepare_archive() {
fi
fi
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"
fi
@ -695,11 +698,12 @@ function new_cmd() {
local archive="$1" pffdir="$2"
ensure_pffdir pffdir "$pffdir"
[ -n "$disttype" ] && DISTTYPE="$disttype"
## préparer la source: les fichiers entrants
local srcdir full
new__prepare_archive srcdir version "$archive" "$version" "$disttype" "$unwrap"
[ "$disttype" == full ] && full=1
new__prepare_archive srcdir version "$archive" "$version" "$unwrap"
[ "$DISTTYPE" == full ] && full=1
## lister les fichiers dans la source et la destination
local workdir
@ -1547,7 +1551,7 @@ fi
action=infos
autopatch=1
version=
disttype=auto
disttype=
ORIGEXTS=("${DEFAULT_ORIGEXTS[@]}")
unwrap=auto
merge_strategy=