pff: support de NOUPSTREAM

This commit is contained in:
Jephté Clain 2020-10-28 22:45:10 +04:00
parent edf956f1bb
commit c921d2a902
1 changed files with 20 additions and 7 deletions

23
pff
View File

@ -30,6 +30,7 @@ PFFCONFVARS=(
"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"
"NOMERGES=//Fichiers qu'il ne faut pas chercher à fusionner. Cf la doc pour le détail du format"
"NOUPSTREAM=//Indiquer qu'il n'y a pas de fichiers upstream. pff est uniquement utilisé pour gérer des profils de fichiers"
)
if [ "$#" -eq 1 -a "$1" == --nutools-makelinks ]; then
@ -190,6 +191,13 @@ pff:
que les fichiers ayant l'extension .c situés dans le répertoire du
projet
NOUPSTREAM -- indiquer qu'il n'y a pas de distribution upstream ni de
fichiers origine. pff est alors uniquement utilisé pour gérer des
profils de fichier.
Pour le moment, la seule différence est que le mode des fichiers de
pff/Base n'est pas forcé à 0444. Ainsi, ces fichiers sont traités au
même titre que ceux du répertoire pff/Common
COMMANDES / OPTIONS
Les arguments du script dépendent de la commande utilisée. Les commandes
supportées sont:
@ -571,8 +579,11 @@ function autoinit() {
local pffdir="$1" profile mkdir
[ -d "$pffdir/pff/Current" ] || mkdir -p "$pffdir/pff/Current"
[ -d "$pffdir/pff/Base" ] || mkdir -p "$pffdir/pff/Base"
# tous les fichiers du profil Base doivent être en lecture seule
# tous les fichiers du profil Base doivent être en lecture seule, sauf si
# NOUPSTREAM=1
if [ -z "$NOUPSTREAM" ]; then
find "$pffdir/pff/Base" -type f -perm /222 -exec chmod a-w '{}' +
fi
# Créer les répertoires de MKDIRS
for mkdir in "${MKDIRS[@]}"; do
mkdir -p "$pffdir/$mkdir"
@ -1144,7 +1155,7 @@ function patch_cmd() {
setx rfile=get_rfile "$bfile" "$pffdir"
mkdirof "$rfile"
cp -a "$bfile" "$rfile"
chmod +w "$rfile"
[ -z "$NOUPSTREAM" ] && chmod +w "$rfile"
done
git add -A
[ -n "$(git status --porcelain)" ] && git commit -qm "Base"
@ -1249,9 +1260,9 @@ $(qvals eimportant "Sinon, tapez ${COULEUR_ROUGE}Abort${COULEUR_NORMALE} pour ar
etitle "Finaliser intégration de la version $version"
for vlfile in "${vlfiles[@]}"; do
bfile="${vlfile%__pv-${version}__}"
chmod +w "$bfile"
[ -z "$NOUPSTREAM" ] && chmod +w "$bfile"
mv "$vlfile" "$bfile"
chmod a-w "$bfile"
[ -z "$NOUPSTREAM" ] && chmod a-w "$bfile"
done
eop_version=1
VERSION="$version"
@ -1308,7 +1319,9 @@ function add_global__link() {
# Création des liens pour $rfile
mkdirof "$bfile" || return
mv "$pfile" "$bfile" || return
if [ -z "$NOUPSTREAM" ]; then
chmod a-w "$bfile" || return
fi
[ -L "$pfile" ] || ln -sf "$plink" "$pfile" || return
mkdirof "$cfile" || return
[ -L "$cfile" ] || ln -sf "$clink" "$cfile" || return
@ -1412,7 +1425,7 @@ function add_local__link() {
cp "$Cfile" "$Pfile"
else
cp "$bfile" "$Pfile"
chmod +w "$Pfile"
[ -z "$NOUPSTREAM" ] && chmod +w "$Pfile"
fi
# mettre à jour le profil courant
setx cfile=get_cfile "$pfile" "$pffdir"