10. Outils de mise à jour de la version#
Ces outils ne seront disponibles que sur la machine de l’administrateur des sources d’Aster .
10.1. majnew : mise à jour de la version NEW#
Mettre à jour une version de référence NEW du Code Aster par incrémentation de niveau.
10.1.1. Mode d’appel#
Ce module protégé en lecture, en écriture et en exécution n’est accessible que par les administrateurs des versions.
majnew l_developpeurparaversionmessageiret_maxuser_IBMpassword_IBM
l_developpeur est un fichier dans lequel on trouve, ligne par ligne, la liste des identificateurs restituant leur source.
para est un paramètre qui vaut « COPOLD » ou « PASCOPOLD » permettant de sauvegarder ou de simplement remplacer la version mise à jour.
version est la version (NEW1NEW2NEW3) à mettre à jour.
message : définition identique à asno. Par défaut message_majnew.
iret_max : code d’erreur maximum de asrest pour que la restitution soit prise en compte (0 ou 2).
user_IBM: user IBM pour la sauvegarde.
password_IBM : mot de passe du user IBM.
10.1.2. Tâches réalisées#
Si version = NEW2, est de la validité du mot de passe sur IBM. Si problème iret = 4 et fin de majnew
Constitution dans /aster/eda/ version /majnew/ des fichiers:
/aster/ eda/ version /majnew/ fortran histor recap liste_ct ls_ct catalo/ cata/ sous-catalogue.cata unigest bibfor/ bibli/ routine.f obj/ fortran_user(s).o cal_user(s).o fonctions_C.o test/ *.comm *.para *.mail *.mali *.msup *.mgib *.code *.resu
par concaténation des fichiers correspondants dans les répertoires eda/ version / user de tous les identificateurs présents dans l_developpeur .
Ceci à condition que le fichier eda/ version / user /iret existe et contienne au plus la valeur iret_max . Sinon un message recopiant le eda/ version / user /message est émis ( iret = 4) et fin de majnew.
Si tous les eda/ version / user /iret de la l_developpeur sont incorrects alors FIN ( iret = 4).
Les sources FORTRAN compilés (en mode debug) de chaque user sont copiés sous le nom fortran_user .o, l’assembleur CAL compilé est copié sous cal_user .o et les fonctions C sous nom_fonction .o.
Incrémentation du numéro de niveau trouvé dans:
/aster/version/versio.
Ce fichier sera mis à jour juste à la fin du module.
Recopie avec mise à jour de la date de la ligne INFO et des variables contenant le numéro de version de la routine FORTRANversio dans bibfor.
Compilation en majdbg le module objet est placé dans:
/aster/ eda/ /version /majnew/ versio.o
Sauvegarde des bibliothèques compilées bibobj en bibold et catobj en catold si param = COPOLD.
Compilation de FORTRAN en majobj:
Appel à bld avec le résultat pour la mise à jour de la bibliothèque bibobj avec les suppressions de routines de unigest.
Appel à bld avec les fortran_users(s) .o pour la mise à jour de la bibliothèque bibdbg avec les suppressions de routines de unigest.
Compilation de CAL en majobj:
Appel à bld avec le résultat pour la mise à jour de la bibliothèque bibobj.
Appel à bld avec les cal_users(s) .o pour la mise à jour de la bibliothèque bibdbg.
Compilation de BIBC en majobj:
Appel à bld avec le résultat pour la mise à jour de la bibliothèque bibobj.
Appel à bld avec les cal_users(s) .o pour la mise à jour de la bibliothèque bibdbg.
segldr avec la bibliothèque bibobj de la version version ..
Mise à jour de /aster/ version /execut
Destruction des unités de CATSUPPR dans /aster
/aster/ version/ catalo/ bibli/ sub_cat diffcat/ bibli/ sub_cat
Compilation des catalogues avec le paramètre para = « public »:
ccat92 version executcatalogucatalocatobjmessage_ccatiret_ccat para
diff-b/aster/ version /bibfor/ bibli / routine /aster/eda/ version /bibfor/ bibli / routine pour toutes les routines de majnew/bibfor
Concaténation, en tête, dans /aster/ version /diffsub/ bibli / routine (avec écriture d’une identification de la mise à jour).
diff-b/aster/ version /catalo/ bibli / sub_cat /aster/eda/ version /catalo/ bibli / sub_cat pour toutes les routines dans majnew/catalo
Concaténation, en tête, dans /aster/version/diffcat/bibli/sub_cat (avec écriture d’une identification de la mise à jour).
Copie de
/aster/ |
eda/ |
version /majnew/ |
catalo/ |
bibli / |
sub_cat |
bibfor/ |
bibli / |
routine |
|||
bibcal/ |
bibli / |
module |
|||
bibc/ |
bibli / |
fonction |
dans:
/aster/ |
version / |
catalo/ |
bibli / |
sub_cat |
bibfor/ |
bibli / |
routine |
||
bibcal/ |
bibli / |
module |
||
bibc/ |
bibli / |
fonction |
Destruction des routines à détruire de unigest et des anciennes bibliothèques de routines à déplacer dans:
/aster |
/ version |
/bibfor |
/ bibli |
/ routine |
/diffsub |
/ bibli |
/ routine |
||
/diffcal |
bibli / |
module |
||
/diffc |
bibli / |
fonction |
||
/fort |
/ routine |
Créations des liens symboliques entre :
/aster |
/ version |
/bibfor |
/ bibli |
/ routine |
et
/aster |
/ version |
/fort |
/ routine |
Copie de histor dans
/aster |
/ version |
/histor |
/v.sv.n |
où v.sv.n est le numéro de version/sous-version/niveau avec en-tête: Version v.sv.nv date
Ajout de recap trié alphabétiquement en fin de histor.
Détermination et ajout des statistiques en fin de histor.
Préparation de l’histor version IBM (par concaténation à la fin du histor existant), pour une version NEW2 uniquement.
Suppression de toutes les notations des unités de fortran, catalo, test/ et unigest dans quirou, quicat et quitesquels que soient les développeurs.
Suppression de toutes les notations de plus de 3 mois (y compris les ‘RAYE’).
Destruction des unités TESSUPPR, et mise à jour des listes de cas-tests (liste_ct.tout et liste_ct.rest).
Copie des cas-tests ajoutés ou modifiés et mise à jour de la liste de cas-tests pour gérer les listes, restreinte, totale et de performance: /aster/astest/ version /Liste. L’ancienne liste est conservée dans le fichier /aster/astest/ version /Liste.old
Réinitialisation du fichier de délégation de restitution lien_dvp
Mise à jour de /aster/ version /versio
Si version NEW2 :
copie sur IBM des fichiers ajoutés ou modifiés.
Sauvegarde des ordres dispose de ces copies dans le fichier dispIBM (pour pouvoir relancer cette opération indépendamment du reste de la mise à jour en cas de problème avec l’IBM).
suppression sur IBM des fichiers supprimés sur Cray (FORTRAN , CATALOGU et CASTEST).
Sauvegarde du job IBM de suppression dans le fichier suppIBM (pour pouvoir relancer cette opération indépendamment du reste de la mise à jour en cas de problème avec l’IBM).
Envoyer le fichier de messages de majnew à l’ASA par mail (Administrateur des sources Aster ).
Envoyer le fichier histor à tous les développeurs ayant un compte sur une station de travail (dont l’adresse est dans le fichier ident Aster ).
10.1.3. Fichiers de /aster/NEWn#
/aster/ |
version / |
histor/ |
v.sv.n |
|
fort/ |
routine |
|||
bibfor/ |
bibli / |
routine.f |
||
diffsub/ |
bibli / |
routine.f |
||
bibcal/ |
bibli / |
module.cal |
||
diffcal/ |
bibli / |
module.cal |
||
bibc/ |
bibli / |
fonction.c |
||
diffc/ |
bibli / |
fonction.c |
||
diffcat/ |
bibli / |
subcat.cata |
||
catobj/ |
commande |
|||
elements |
||||
versio |
||||
/aster/ |
astest/ version / |
Liste Liste.old liste_ct.rest liste_ct.tout diffct/ castest .comm castest .mail castest .mali castest .mgib castest .msup castest .para castest .resu castest .code |
castest |
10.2. finmaj : fin de mise à jour de la version NEW#
Détruire les fichiers des développeurs ayant restitué leur source (même ceux n’ayant pas étés retenus pour la mise à jour).
Sauvegarder sur IBM les fichiers des jobs de la mise à jour si la version = NEW2 .
Ce module protégé en lecture, en écriture et en exécution n’est accessible que par les administrateurs des versions.
10.2.1. Mode d’appel#
finmaj version message user_IBM password_IBM repertoire
version est la version (NEW1NEW2NEW3) qui vient d’être mise à jour.
message : définition identique à asno.
user_IBM est le user IBM pour la sauvegarde.
password_IBM est le mot de passe du user précédent.
repertoire est le répertoire qui contient les fichiers de résultat de majnew qui doivent être sauvegardés sur IBM.
10.2.2. Tâches réalisées#
Destruction des /aster/eda/ version / user(s)
Concaténation des fichiers présents dans repertoire .
Si version = NEW2: sauvegarde sur IBM de ce fichier dans ASTER.CRB(CV$SV$NV)
Si la sauvegarde s’est bien passée, destruction de tous les fichiers de repertoire .
Soumission de la liste compléte des cas-tests, de nuit et en ne conservant que le résultat des jobs NonOK(sous /c/gr1/d6bhhhh/finmaj).
10.3. actuliste : actualisation du coût des différentes listes de cas-tests#
10.3.1. Mode d’appel#
actuliste [sauv [version [message] ] ]
sauv:si ce paramètre = « sauv » le résultat de l’actualisation remplace le fichier Liste.
version : version d’ Aster concernée (NEW1 ou NEW2 ou NEW3 par défaut NEW3).
message: fichier de message de la commande (par défaut message_actuliste).
10.3.2. Tâches réalisées#
Pour pouvoir récupérer les tarifs des différentes classes de job sur Cray actuliste est « enrobé » dans un job qui:
détermine les tarifs des jobs de jour, nuit, week-end,
Calcul des temps totaux et les coûts des différentes listes de cas-tests (restreinte, compléte, performance),
donne le résultat dans le fichier de message,
si sauv= »sauv » :
copie du fichier /aster/astest/ version /Liste
dans /aster/astest/ version /Liste.old.
Sauvegarde du nouveau fichier Liste :
copie du fichier /aster/astest/version/liste_ct.rest dans /aster/astest/version/liste_ct.rest.old, copiedufichier /aster/astest/version/liste_ct.tout dans /aster/astest/version/liste_ct.tout.old,
construction du fichier /aster/astest/ version /liste_ct.rest en extrayant les cas-tests ayant l’indicateur « . » en dernière colonne du fichier liste.
construction du fichier /aster/astest/ version /liste_ct.tout en extrayant les cas‑tests ayant l’indicateur « . » ou « S » en deuxième colonne du fichier liste. Les cas‑tests ayant l’indicateur « P » sont dans le fichier avec un « % » en première colonne (pour les mettre en commentaire).
10.4. majliste : mise à jour des listes complétes et restreintes#
10.4.1. Mode d’appel#
majliste [version [message] ]
version : version d’ Aster concernée (NEW1 ou NEW2 ou NEW3 par défaut NEW3).
message : fichier de message de la commande (par défaut message_majliste).
10.4.2. Tâches réalisées#
Mise à jour de la liste restreinte /aster/astest/ version /liste_ct.rest en extrayant du fichier /aster/astest/ version /Liste les champs nom de cas-test et titre, des lignes dont la deuxième colonne (le séparateur étant le caractère | ) contient un point.
Mise à jour de la liste complète /aster/astest/ version /liste_ct.tout en extrayant du fichier /aster/astest/ version /Liste les champs nom de cas-test et titre de toutes les lignes décrivant un cas-test. Les cas-tests de la liste de performance (un P en deuxième colonne) sont mis en commentaire (un % en premier caractère de la ligne).
10.5. majsta : stabilisation d’une version#
Avant la stablilisation d’une version, prévenir par courrier toutes les personnes concernées de la date de l’opération.
Permet de stabliser la version NEW n en STA n .
10.5.1. Mode d’appel#
majsta numero_version message para
numero_version : numéro de la version d’ Aster à stabliser.
message: fichier de message de la commande.
para: parametre OLD pour copier la STA en OLD et PASOLD pour ne pas la copier.
10.5.2. Tâches réalisées#
Incrémentation de 1 du numéro de sous-version dans la routine versio
Compilation et édition des liens:
maj de /aster/NEW n /bibobj
maj de /aster/NEW n /bibdbg
maj de /aster/NEW n /execut
Si para=OLD Copie de /aster/STA n dans /aster/OLD n :
lien entre /aster/OLD n /execut et /aster/OLD n /EXECUT
lien entre /aster/OLD n /catobj/elements et /aster/OLD n /CATOBJ/ELEMENTS
lien entre /aster/OLD n /catobj/commande et /aster/OLD n /CATOBJ/COMMANDE
Copie de:
/aster/NEW n /mode_exec
/aster/NEW n /execut dans /aster/STA n /execut
/aster/NEW n /catobj/* dans /aster/STA n /catobj
lien entre /aster/STA n /execut et /aster/STA n /EXECUT
lien entre /aster/STA n /catobj/elements et /aster/STA n /CATOBJ/ELEMENTS
lien entre /aster/STA n /catobj/commande et /aster/STA n /CATOBJ/COMMANDE
Conservation des cas-tests et de leurs résultats
/aster/astest/NEW n /. dans /aster/astest/STA n
Création d’un histor de stabilisation.
Mise à jour de /aster/NEW n /versio .
Envoie, par e-mail, de l’histor à tous les développeurs.
Sauvegarde sur cassette Sun de:
/aster/NEWn/bibobj/ /aster/NEWn/bibdbg/ /aster/NEWn/fort/ /aster/NEWn/c/ /aster/NEWn/cal/ /aster/NEWn/catalo/ /aster/astest/NEWn/
10.6. Changement de version NEW#
Pas d’outils spécifiques pour le changement de version NEW.
Détail des opérations « manuelles » à effectuer:
Effectuer une version STA avec majsta.
Sauvegarder sur cassette la version STA notamment les fichiers bibobj et bibdbg.
Copie des sources de NEW n a NEW n+1 :
mkdir /aster/NEW n+1
rcp -r /aster/NEW n /* /aster/NEW n+1
mkdir /aster/astest/NEW n+1
rcp -r /aster/astest/NEW n /* /aster/astest/NEW n+1
Copie des restitutions effectuées en NEW n pour les transferer en NEW n+1 :
mkdir /aster/eda/NEW n+1
rcp -r /aster/eda/NEW n /* /aster/eda/NEW n+1
Changer la valeur par défaut du paramètre version pour tous les outils de l’AGLA (modification de la routine /aster/adm/tool/init_defaut.csh).
Faire la même chose pour asterix.
Transformer les notations NEW n en NEW n+1 dans les fichiers:
/aster/agla/qui/quirou
/aster/agla/qui/quicat
/aster/agla/qui/quites
Modifier le fichier /aster/eda/NEW n+1 pour mettre: n+1 .0.0.
Faire un asrest sur le cas-test zzzz* pour pouvoir faire une mise à jour qui officialisera le nouveau numéro de version. (Ne pas oublier de faire un histor de circonstance).
Faire une mise à jour avec majnew.
Restreindre l’accés à /aster/NEW n et /aster/astest/NEW n avec aclaut.