




![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
 Suiv.:  Partie IV: Annexes
Sup.:  10 Gestion sous UNIX
 Préc.:  10.3 Description des commandes
Table des matières
Pour effectuer la remise à jour de Modulef sous Unix, nous envoyons en cours d'année, par e-mail, le fichier maj.fo contenant les remises à jour.
Ce fichier doit être rangé dans le répertoire $MR/ascii/sta/etc.
La remise à jour s'effectue à l'aide de la commande UNIX  patch, 
cette commande s'appuie sur les 
différences (![[note]](../icons/foot_motif.gif) produites  par la commande diff) 
entre deux fichiers, et applique ces différences 
sur le fichier d'origine pour créer la nouvelle version.
 produites  par la commande diff) 
entre deux fichiers, et applique ces différences 
sur le fichier d'origine pour créer la nouvelle version.
Nous avons écrit un programme C ( prepatch) qui lit le fichier maj.fo (contenant les différences) et appelle la commande patch.
La commande patch est utilisée avec les options -c et -N ; celles-ci permettent de forcer la commande à interpréter les modifications comme des sorties de la commande diff et ignore ces modifications lorsqu'elle pense qu'elles ont déjà été appliquées.
Tous les messages exprimés lors de l'appel de la procédure patch sont stockés dans le fichier patch.log.
Maintenant que vous avez copié
le fichier  maj.fo dans le répertoire  
 $MR/ascii/sta/etc, allez dans le
répertoire contenant  le Makefile de remise à jour :  
 
 cd $MR/ascii/com.util/patch  
Le Makefile suppose que la variable MR est correctement initialisée 
dans l'environnement courant ; si ce n'est pas le cas lors de chaque appel de
la commande make ajouter l'option :  
 
-e MR= nom du répertoire où a été installé Modulef  
 
Lors de la réalisation du Makefile permettant la remise a jour des sources de Modulef,
nous avons supposé que la commande patch pouvait ne pas être disponible 
sur votre machine.   
Le Makefile de remise a jour s'adapte donc à  deux situations :
 which patch et/ou  man patch.
En fonction de ces deux possibilités, nous indiquons maintenant la façon d'appeler le Makefile :
su root make patch -e Install=install ^DLa commande patch est alors rangée dans le répertoire /usr/local/bin (en général), et le man est installé.
 make patch       
 make 
 make patch  et   make.
     cd $MR/make/Install$MM
     make librairies 
     make executables
Les sources de cette commande et des informations complémentaires sont donnés dans le répertoire $MR/ascii/com.util/patch/patch-2.0.12u7 (fichier README)
Si, sur HP/apollo ou sur sun4, le Makefile de création du patch s'interrompt 
lors de l'exécution du fichier de commande Configure vous pouvez essayer 
de relancer le Makefile ( make patch) en exécutant au préalable la commande : 
   make init_apollo   si vous travaillez sous HP/Apollo  
 
    make init_sun4   si vous travaillez sous sun4   
 
L'exécution de la cible  init_xx permet d'éviter d'exécuter le fichier
de commande  Configure  (cf  documentation sur la commande patch), on
utilise  alors une configuration  établie préalablement.





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)