Modulefpreviousupnextcontents[BIG][Normal][small]
Suiv.: Partie IV: Annexes Sup.: 10 Gestion sous UNIX Préc.: 10.3 Description des commandes Table des matières


Remise à jour des sources de la bibliothèque Modulef

 

Réception - Lecture des données

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.

Remise à jour

Généralités

La remise à jour s'effectue à l'aide de la commande UNIX patch, cette commande s'appuie sur les différences ([note] 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.

Remise à jour

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 :

Remarque : Pour savoir si la commande patch existe faire : which patch et/ou man patch.

En fonction de ces deux possibilités, nous indiquons maintenant la façon d'appeler le Makefile :

la commande patch existe déjà
:
Il suffit, lors de l'appel du Makefile, d'indiquer dans la variable PATCH le nom complet de la commande patch
make -e PATCH=`which patch`

la commande patch n'existe pas encore
:
La remise à jour va s'effectuer en deux temps
  1. création de la commande patch :
    lors de cette première étape, il est préférable de se logger sous root afin que la commande patch soit ensuite accessible à tous;
     su root
     make patch -e Install=install
     ^D
    
    La commande patch est alors rangée dans le répertoire /usr/local/bin (en général), et le man est installé.
    Si vous ne pouvez pas vous logger sous root, il vous suffit d'exécuter la commande :
    make patch
    La commande patch est alors créée dans le répertoire
    $MR/ascii/com.util/patch/patch-2.0.12u7

  2. remise à jour
    make

Remarques :

Quelques informations complémentaires sur la commande UNIX patch

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.


Modulefpreviousupnextcontents[BIG][Normal][small]
Suiv.: Partie IV: Annexes Sup.: 10 Gestion sous UNIX Préc.: 10.3 Description des commandes Table des matières