10. Version update tools#
These tools will only be available on the D’aster source administrator’s machine.
10.1. majnew: update to version NEW#
Update a reference NEW version of Code Aster by level incrementing.
10.1.1. Call mode#
This protected read, write, and run module is only accessible by version administrators.
majnew l_developperparsionmessageiret_maxuser_ IBMpassword_IBM
l_developpeur is a file in which we find, line by line, the list of identifiers restoring their source.
para is a parameter that is equal to « COPOLD » or « PASCOPOLD » allowing you to save or simply replace the updated version.
version is the version (NEW1NEW2NEW3) to be updated.
message: definition identical to asno. By default message_majnew.
iret_max: maximum error code of asrest for the return to be taken into account (0 or 2).
user_ IBM : user IBM for backup.
password_ IBM: user IBM password.
10.1.2. Tasks completed#
If version = NEW2, is the validity of the password on IBM. If problem iret = 4 and end of shift
Composition in /aster/eda/ version /majnew/ of the files:
Histor Recap ct_list ls_ct catalog/ cata/ sub-catalog.cata Unigest bibfor/ bibli/ routine.f obj/ fortran_user (s) .o cal_user (s) .o C.O_functions test/ *.comm *.para *.mail *.mali *.msup *.mgib *.code *.resu
by concatenating the corresponding files in the eda/ version/user directories of all the identifiers found in l_developpeur.
This is provided that the file eda/ version/user /iret exists and contains at most the value iret_max. Otherwise a message copying the eda/ version/user /message is sent (iret = 4) and end of shift.
If all the eda/ version/user /iret of the l_developer are incorrect then FIN (iret = 4).
The compiled FORTRAN sources (in debug mode) for each*user* are copied under the name fortran_user.o, the compiled CAL compiler is copied under cal_user .o and the C functions under function_name .o.
Incrementing the level number found in:
This file will be updated right at the end of the module.
Copy and update the date of line INFO and the variables containing the version number of the FORTRANversio routine in bibfor.
Compiling to majdbg the object module is placed in:
Save compiled libraries bibobj to bibold and catobj to catold if*param* = COPOLD.
Compilation of FORTRAN in majobj:
Call bld with the result to update the bibobj library with unigest routine removals.
*Call bld with fortran_*users (s) *.o to update the bibdbg library with the removal of unigest routines.
Compilation of CAL in majobj:
Call to bld with the result for updating the bibobj library.
*Call bld with cal_*users (s) *.o to update the bibdbg library.
Compilation of BIBC in majobj:
Call to bld with the result for updating the bibobj library.
*Call bld with cal_*users (s) *.o to update the bibdbg library.
Segldr with the bibobj library for the version version..
Update /aster/ version /execut
Destroying CATSUPPR units in /aster
diffcat/ bibli/ sub_cat
Compiling catalogs with the parameter*para* = « public »:
ccat92*version* execuutcatalogcatalocatobjmessage_ccatiret_ccat*para*
diff-b/aster/ version /bibfor/ bibli/bibli/routine /aster/eda/ version /bibfor/ bibli/routine for all majnew/bibfor routines
Concatenation, at the head, in /aster/ version /diffsub/ bibli/routine (with writing an update ID).
diff-b/aster/ version /catalo/ bibli/bibli/sub_cat /aster/eda/ version /catalog/ bibli/sub_cat for all routines in majnew/catalo
Concatenation, at the head, in /aster/version/diffcat/bibli/sub_cat (with writing an update ID).
Copy of
/aster/ |
eda/ |
version /majnew/ |
catalog/ |
bibli/ |
sub_cat |
sub_cat |
bibfor/ |
bibli/ |
routine |
||||
bibcal/ |
bibli/ |
module |
||||
bibc/ |
bibli/ |
function |
in:
/aster/ |
version/ |
catalo/ |
bibli/ |
sub_cat |
sub_cat |
bibfor/ |
bibli/ |
routine |
|||
bibcal/ |
bibli/ |
module |
|||
bibc/ |
bibli/ |
function |
Destruction of the routines to be destroyed from unigest and the old routine libraries to be moved to:
/aster |
/version |
/bibfor |
/bibli |
/routine |
/diffsub |
/bibli |
/routine |
||
/diffcal |
bibli/ |
module |
||
/diffc |
bibli/ |
function |
||
/strong |
/routine |
Creating symbolic links between :
/aster |
/version |
/bibfor |
/bibli |
/routine |
and
/aster |
/version |
/strong |
/routine |
Copy history to
/aster |
/version |
/history |
/v.sv.n |
where v.sv.n is the version/subversion/level number with header: Version v.sv.nv date
Addition of recaps sorted alphabetically at the end of the story.
Determination and addition of statistics at the end of the story.
Preparation of story version IBM (by concatenation at the end of the existing story), for version NEW2 only.
Removed all unit notations from Fortran, Catalo, Test/, and Unigest in Quirou, Quicat, and Quites regardless of the developers.
Removed all ratings older than 3 months (including “RAYE”).
Destroying units TESSUPPR, and updating the test case lists (liste_ct.tout and liste_ct.rest).
Copy of the added or modified test cases and update the test case list to manage the short, total and performance lists: /aster/astest/ version /List. The old list is kept in the file /aster/astest/ version /liste.old
Resetting the return delegation file link_dvp
Update /aster/ version /versio
If version NEW2:
copy files added or modified to IBM.
Save orders has these copies in the file disp IBM (to be able to restart this operation independently of the rest of the update in case of a problem with IBM).
deleting files deleted on Cray on IBM (FORTRAN, CATALOGU and CASTEST).
Save the deletion job IBM in the supp file IBM (to be able to restart this operation independently of the rest of the update in case of a problem with the IBM).
Send the message file from majnew to ASA by email (Source Administrator*Aster*).
Send the history file to all developers who have an account on a workstation (whose address is in the ident file Aster).
10.1.3. /aster/ NEWn files#
/aster/ |
version/ |
histor/ |
v.sv.n |
|
strong/ |
routine |
|||
bibfor/ |
bibli/ |
routine.f |
||
diffsub/ |
bibli/ |
routine.f |
||
bibcal/ |
bibli/ |
module.cal |
||
diffcal/ |
bibli/ |
module.cal |
||
bibc/ |
bibli/ |
function.c |
||
diffc/ |
bibli/ |
function.c |
||
diffcat/ |
bibli/ |
subcat.cata |
||
catobj/ |
command |
|||
elements |
||||
version |
||||
/aster/ |
astest/ version/ |
List list.old ct.rest_list ct.list diffct/ castest.comm *castest.mail castest.mali castest.mgib castest.msup castest.para castest.resu castest.code |
castest |
10.2. finmaj: end of update for version NEW#
Destroy the files of developers who restored their source (even those that were not selected for the update).
Save the update job files to IBM if version = NEW2.
This protected read, write, and run module is only accessible by version administrators.
10.2.1. Call mode#
version is the version (NEW1NEW2NEW3) that was just updated.
message: definition identical to asno.
user_ IBM is user IBM for backup.
password_ IBM is the password of the previous user.
directory is the directory that contains the majnew result files that should be saved to IBM.
10.2.2. Tasks completed#
Destruction of /aster/eda/*version/*user (s) *
Concatenation of files found in*directory.
If*version = NEW2: save this file to IBM in ASTER. CRB (CV$SV$NV)
If the backup went well, destroy all files in*directory.
Submission of the complete list of test cases, at night and keeping only the result of NoNOK jobs (under /c/gr1/d6bhhhh/finmaj).
10.3. Actualist: updating the cost of the various lists of test cases#
10.3.1. Call mode#
save: if this parameter = « save » the result of the update replaces the List file.
version: Aster version concerned (NEW1 or NEW2 or NEW3 by default NEW3).
message: command message file (by default message_actuliste).
10.3.2. Tasks completed#
To be able to retrieve the rates for the different job classes on Cray, actuliste is « embedded » in a job that:
determines the rates for day, night, weekend jobs,
Calculation of the total times and costs of the various lists of test cases (restricted, complete, performance),
gives the result in the message file,
if save= »save »:
copy of the file /aster/astest/ version /List
in /aster/astest/ version /liste.old.
Save the new List file:
in /aster/astest/version/liste_ct.rest.old, copy of the file /aster/astest/version/liste_ct.all in /aster/astest/version/liste_ct.tout.old,
construction of the /aster/astest/ version /liste_ct.rest file by extracting the test cases with the « . » flag in the last column of the list file.
construction of the file /aster/astest/*version /liste_ct.while extracting test cases with the « . » or « S » flag in the second column of the list file. Test cases with the « P » indicator are in the file with a « % » in the first column (to comment on them).
10.4. Majlist: updating the complete and restricted lists#
10.4.1. Call mode#
version: Aster version concerned (NEW1 or NEW2 or NEW3 by default NEW3).
message: command message file (by default message_majlist).
10.4.2. Tasks completed#
Update the /aster/astest/*version/liste_ct.rest shortlist by extracting from the /aster/astest/version /List the test case name and title fields, rows whose second column (the separator being the character |) contains a dot in the second column (the separator being the character |).
Update the complete list /aster/astest/*version/liste_ct.while extracting from the file /aster/astest/version /List the fields test case name and title of all the lines describing a test case. The test cases in the performance list (a P in the second column) are commented (a% in the first character of the line).
10.5. majsta: stabilization of a version#
Before stabilizing a version, inform all persons concerned by mail of the date of the operation.
Allows you to stabilize version NEW n into STA n.
10.5.1. Call mode#
Majsta numero_version message for
version_number: number of the version of*Aster* to be established.
message: command message file.
para: parameter OLD to copy STA to OLD and PASOLD to not copy it.
10.5.2. Tasks completed#
Increment of the sub-version number by 1 in the versio routine
Compiling and editing links:
Shift /aster/ NEW*n /bibobj
Shift /aster/ NEW*n /bibdbg
Shift /aster/ NEW*n /execute
If para= OLD Copy of /aster/ STA n to /aster/ OLD n:
link between /aster/ OLD*n/execut and /aster/ OLD*n*/EXECUT
link between /aster/ OLD*n/catobj/elements and /aster/ OLD*n*/CATOBJ/ELEMENTS
link between /aster/ OLD*n/catobj/command and /aster/ OLD*n*/CATOBJ/COMMANDE
Copy of:
/aster/ NEW*n /exec mode
/aster/ NEW*n/execute in /aster/ STA*n* /execute
/aster/ NEW*n/catobj/* in /aster/ STA n /catobj
link between /aster/ STA n /execut and /aster/ STA n/EXECUT
link between /aster/ STA n /catobj/elements and /aster/ STA n/CATOBJ/ELEMENTS
link between /aster/ STA n /catobj/command and /aster/ STA n/CATOBJ/COMMANDE
Retention of test cases and their results
/aster/astest/ NEW n /. in /aster/astest/ STA n
Creating a stabilization story.
Update /aster/ NEW n /versio.
Email stories to all developers.
Sun tape backup of:
/aster/ NEWn /bibdbg/ /aster/ NEWn /strong/ /aster/ NEWn /c/ /aster/ NEWn /cal/ /aster/ NEWn /catalo/ /aster/astest/ NEWn/
10.6. Version change NEW#
No specific tools for version change NEW.
Details of the « manual » operations to be performed:
Perform version STA with majsta.
Save version STA on tape including the bibobj and bibdbg files.
Copy sources from NEW*n*to 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
Copy of returns made in NEW*n*to transfer them to NEW*n+1:
mkdir /aster/eda/ NEW n+1
rcp -r /aster/eda/ NEW n //aster/eda/ NEW*n+1
Change the default value of the*version parameter for all tools in AGLA (modification of the /aster/adm/tool/init_defaut.csh routine).
Do the same for Asterix.
Transform the notations NEW*n*into NEW*n+1 in the files:
/aster/agla/who/quirou
/aster/agla/who/quicat
/aster/agla/who/quites
Edit the /aster/eda/ NEW*n+1*file to:*n+1 .0.0.
Make an asrest on the zzzz test case to be able to make an update that will formalize the new version number. (Do not forget to tell a story of the occasion).
Update with majnew.
Restrict access to /aster/ NEW*n*and /aster/astest/ NEW*n with aclaut.