next up previous contents index
Next: Les deux méthodes Up: Particularités propres à un Previous: Inclure un fichier   Contents   Index

Faire un patch

L'autre méthode consiste à faire un patch3.10.

Par exemple, supposons que le fichier généré par le configurateur s'appelle sendmail.cf.org, et que le fichier sendmail.cf soit dérivé de ce fichier en intégrant des modifications locales. La commande :

diff -C 20 sendmail.cf.org sendmail.cf > patch.kit

crée un fichier de différences nommé patch.kit contenant les modifications locales. Par la suite, pour appliquer ces différences sur un fichier nouvellement généré par le kit, il suffira d'appeler la commande patch :

patch < patch.kit

Stéphane Bortzmeyer propose également d'utiliser un fichier Makefile pour automatiser la confection du patch, puis son utilisation. Le fichier Makefile ci-dessous constitue un bon exemple :

REGLES = ./regles
CONFIG = ./machine.config
PATCH  = patch.kit
CF     = sendmail.cf

all:
    @echo "Que voulez-vous faire ?"
    @echo "    make diff        : genere un patch"
    @echo "    make sendmail.cf : genere un fichier sendmail.cf"

diff:
    ./configurateur $(REGLES) $(CONFIG) > sendmail.cf
    cp sendmail.cf sendmail.cf.OLD
    cp /etc/sendmail.cf sendmail.cf
    -diff -c sendmail.cf.OLD sendmail.cf > $(PATCH)

sendmail.cf: $(REGLES) $(CONFIG) $(PATCH)
    ./configurateur $(REGLES) $(CONFIG) > sendmail.cf
    patch < $(PATCH)

La méthodologie est alors la suivante :

  1. l'administrateur modifie le fichier sendmail.cf et l'adapte à son site ;

  2. lorsque les modifications sont effectuées, il suffit de faire :
    make diff
    pour générer un fichier de différences ;

  3. par la suite, si une nouvelle version du configurateur sort, ou si le fichier de variables est modifié, il suffit de faire :
    make sendmail.cf
    pour générer le fichier sendmail.cf et appliquer le patch qui réintègrera les modifications locales.


next up previous contents index
Next: Les deux méthodes Up: Particularités propres à un Previous: Inclure un fichier   Contents   Index
Pierre DAVID 2001-11-26