Eole2 Patch

Un article de EoleWiki.

Sommaire

Création des Patch avec EoleNg

Introduction

Ne sont concernés par la procédure de patch uniquement les fichiers déjà présents dans /etc/eole/distrib et référencés dans les dictionnaires fournis par l'équipe Eole.

Pour les autres fichiers, l'utilisation de dictionnaires locaux et de templates personnalisés est recommandée.


Structure de répertoire retenue

Le répertoire /etc/eole contient les répertoires suivants :

  • distrib : templates originaux fournis par le paquet conf d'un module
  • modif : endroit où doivent être copiés et modifiés les templates souhaités
  • patch : fichiers patch générés à partir des différences entre les deux répertoires précédents
  • template : templates finaux (i.e. templates originaux sur lesquels les patches ont été appliqués)



Procédure de création d'un patch

  • copier le template original dans /etc/eole/modif
cp /etc/eole/distrib/toto.conf /etc/eole/modif
  • réaliser les modifications souhaitées
vi /etc/eole/modif/toto.conf
  • lancer la commande gen_patch
Patch toto.conf.patch créé
  • reconfigurer la machine
reconfigure

Fonctionnement technique

  • le programme gen_patch effectue un diff pour chaque fichier présent dans le répertoire modif
diff -uNr distrib/toto.conf modif/toto.conf > patch/toto.conf.patch
  • les programmes de templatisation (instance et reconfigure) copient puis patchent les fichiers originaux avant de travailler dessus
cp /etc/eole/distrib/ /etc/eole/template
patch -N < /etc/eole/patch/toto.conf.patch

Nb : les patches placés dans /etc/eole/patch/variante sont également pris en compte.

Désactivation d'une modification

Il suffit de supprimer ou déplacer le fichier .patch se trouvant dans /etc/eole/patch