Home
VLT-MAN-ESO-17200
Contents
1. v ase 14 2 71 Knowing which module version you 8 14 222 Module Bistotyoc i id qs en MADE hd 14 2 53 Whois doing pee Dae urbt at 15 2 7 4 Last versions of module s sra ae tale ehm Ra Res Rede exo d eA 15 225 Compare Module Verstols x nes te eleme efto Cabe 15 2 7 6 Retrieving old version of a module ood eG eb Syn eek Cua 16 274 EQACUITCN CY ISSUES ose d eO pe Vie ob be E Oba p HC oe n 16 2 8 MODULE CREATION PREPARATION 52 zit te kot e Rae oer Ko nhe GR 16 2 8 1 module cleaning ss obey eeu 16 2592 mod le ovdi seh su whee Pct OR ecd D S bnc PORC s a MA ON 17 28 3 RES Keyword ck ut ethos d wees eens bv Gah elke dtu 17 26 4 Desbyont Tode Sra 17 20990 5 Mb MODE a e Hy E E 17 2 9 ADMINISTRATION COMMLIANDJS eaten Phot t ORE 17 CN spoke pete evan ad ae daa x 18 2 9 25 ONG Tete x caw dota swe wae ba UAE 18 2 0 CMW e mt Gaara rete 18 294 emmbockArchive and cimmUnlockArchive issue I 18 2 9 5 cmmStartup cmmSh
2. EUROPEAN SOUTHERN OBSERVATORY Organisation Europ enne pour des Recherches Astronomiques dans l H misph re Austral Europ ische Organisation f r astronomische Forschung in der s dlichen Hemisph re VERY LARGE TELESCOPE VLT Software Configuration Management Module User Manual Doc No VLT MAN ESO 17200 0780 Issue 1 3 L Date 23 04 01 iE 23 04 01 s k tees Name Date G Fili Approved er Name Date G Raffi Released P MR REA Name Date Signature Signature Signature VLT PROGRAMME TELEPHONE 49 89 32006 0 FAX 49 89 320 2362 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 VLT Software Conf Mngt Module User Manual 1 3 VLT MAN ESO 17200 0780 3 Change Record Issue Rev Date Section Page affected Reason Initiation Document Remarks 1 2 10 03 96 Many Updated for branching and client server imple mentation 1 1 21 10 96 Updated for new implementation only 1 0 20 02 95 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 5 1 INTRODUCTION 7 1d PURPOSE hr rie de CAS oe ER ben bai oki XL dido Clad ex 7 19 SEDE doe tel d Acor po Loto ict d om tct oM 7 1 3 REFERENCE DOCUMENTS oa irc ed arca ala nt rera aO OL Kee P
3. username keyword The vltsccm is responsible for the creation of the keyword just send a mail to vltsccm eso org About the username the default is first letter of the first name second name up to 7 letters i e a username will be max 8 character long whenever a module is created it is possible to declare it read only or read write for a certain group Two main groups have been created on a project basis VLT and ALMA in ALMA another restricted group exists called ACS To make an example all the ALMA modules are read only for all the users belonging to the ALMA group Only a restricted group of users belongs to the ACS group and has write access also to the ALMA modules For the moment by default all the VLT modules are in r w access for all the VLT users This information is mainteined in 3 files modlist example almatpl r VLT w VLT alrm r VLT w VLT altaz r VLT w VLT altaz old r VLT w VLT altest r VLT w VLT ambcan r ALMA w ACS ambsi r ALMA w ALMA ampl r VLT w VLT amplx r VLT wzVLT userlist example usernamel keyword1 20 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 username2 keyword2 grouplist example usernamel VLT username2 VLT username3 ALMA ACS VLT Again as the responsible person for the creation of a module is vltsccm if you wish to have particular r w permissions on your module specify this in your request of creation to vltsccm es
4. 1 3VLT MAN ESO 17200 0780 in a inconsistent state In case of failure and recovery failure user must ask vltsccm to restore the module archive by hand AND restore its own module with tar xf mod tar SEE ALSO cmmCheckForArchive cmmModify cmmCopy cmmHistory Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 29 4 0 3 cmmArchiveBranch 1 NAME cmmArchiveBranch checks in a module to create a branch SYNOPSIS cmmArchiveBranch lt module_name gt lt reason gt DESCRIPTION Registers the new version of the module by creating a branch the branch id has been allocated when running cmmBranch This command must be executed from the parent directory of the module The lt reason gt argument should sum up the modifications made on the module typically it s a SPR number and its short description lt reason gt is a string that should be enclosed in quotes this string is stored as a line in the module history file this string can be arbitrary long but it is recommended that its length does not exceed 80 characters The new version of the module will be lt branch id gt 1 First cmmCheckForArchiveBranch is executed An error about read only files or files that should be deleted or links that should be deleted stops cmmArchiveBranch the module is not archived and the module should be cleaned according to cmmCheckForArchiveBranc
5. Module User Manual 1 3VLT MAN ESO 17200 0780 g 2 5 2 How to create a branch A branch is created in 3 steps by running e cmmBranch lt module gt lt a b gt where lt module gt is the module name and lt a b gt is the root version for branching This command is similar to cmmModi fy in the sense that it registers the intention to create a branch The branch identifier is allocated by cmmBranch and follows the pattern lt a b gt lt c gt where lt c gt starts at 1 cmmCheckForArchiveBranch module is similar to cmmCheckForArchive it displays which directories and files are added removed or modified cmmArchiveBranch module is similar to cmmArchive it registers a new version of the module lt a b c 1 gt and creates the branch lt a b c gt ated and no branch is created 2 6 Working with branches Once a branch is created you use cmmModify cmmCancel and cmmArchive as if the branch was the main trunk The only difference is that you must pass the branch identifier to cmmModi fy cmmLast lists all last archived versions for the trunk and for all ron closed branches A branch can be closed with the cmmCloseBranch command the last version on the corresponding branch can not be modified any more If you run cmmCancelBranch module instead of cmmArchiveBranch new version is cre A module branch version can be retrieved with cmmCopy by passing the corresponding 4 digit
6. 17200 0780 23 CMM_ROOT lt mod gt 24 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 VLT Software Conf Mngt Module User Manual 1 3 VLT MAN ESO 17200 0780 4 REFERENCE cmmAddRCSKeyword cmm rchive cmmArchiveBranch cmmBranch cmmCancel cmmCancelbranch cmmCheckForArchive cmmCheckForCreate cmmCompare cmmCopy cmmHistory cmmLast cmmModify cmmWhat cmmWho cmmW This section provides a detailed description of all the CMM commands 25 26 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 0 1 cmmAddRCSKeyword 1 NAME cmmAddRCSKeyword adds RCS keyword to files a directory tree SYNOPSIS cmmAddRCSKeyword n lt directory gt DESCRIPTION Wit et hout n option the file is a C file f the file contains the include vltPort h directive the lines char rcsId S Id and S tatic void use rcsId void amp use rcsId void amp rcsId are added lse if the file contains the VLT project line the line Id is added TE therwise the file is not modified and listed as not treated the file is a script file starting with or a Makefile or C include file the line Id is added after the lin VLT project If wit DO wi If Wit All are the file is not a c file and not a cdt file that does not begin h the standard header and if the
7. 97 15 06 37 38 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 0 11 1 NAME cmmCopy get a read only copy of a module SYNOPSIS cmmCopy module name version DESCRIPTION Creates a directory module name in the current directory containing module module name in version version version by default is the latest one on the main trunk Files cannot be modified the module is given as read only but directories are writable so that make cab be executed FILES Requires repository Changes working directory SEE ALSO cmmModify cmmArchive cmmHistory Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 39 4 0 12 cnmHistory 1 NAME cmmHistory displays module history SYNOPSIS cmmHistory module DESCRIPTION Lists every archived version of the module with version number archiving date user who has performed this archiving comment reason argument of the cmmArchive command If the module is currently modified with cmmModify cmmBranch user s modifying it are also listed FILES Requires repository Last change 28 02 97 15 06 40 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 013 cmmLast 1 NAME cmmLast displays module status remote part SYNOPSIS cmmLast log header module DESCRIPTION D
8. 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 35 4 0 8 cmmCheckForA rchiveBranch 1 NAME cmmCheckForArchiveBranch checks module before creating a branch SYNOPSIS cmmCheckForArchiveBranch module DESCRIPTION This command shall be executed from the parent directory of the module directory Checks if the module exists and if the module has the minimum standard directory structure Gives every directory added or deleted and every modified added or deleted file using cmmDiff Gives the following error messages if files have unsufficient mode bits rw r r are the minimum set following file name patterns are present in the module directory RCS SCCS v old bak BAK orig a o tar Z core file names containing blanks there are links in the module directory Warns about files that do not contain the RCS keyword but does not check for binaries or man pages make clean should be run before cmmCheckForArchive FILES Requires repository working module BUGS The SId end missing RCS keyword for a file to be created is not catched Last change 28 02 97 15 06 36 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 0 9 cmmCheckForCreate 1 NAME cmmCheckForCreate checks module before creating it SYNOPSIS cmmCheckForCreate module DESCRIPTION Checks if the module already exists and if th
9. a gt the version number in the RCS keyword is lt x gt lt y gt lt z gt lt a gt meaning that this is the version lt x gt lt y gt lt z gt lt a gt currently in modification This version number is automatically updated a string containing the SRevision 1 69 RCS keyword after the module has been archived with cmmArchive or retrieved via cmmCopy FILES Requires repository Changes working directory ENVIRONMENT CMM ROOT repository directory RETURN VALUES 0 module checked out 1 module not checked out but module archive OK 2 module not checked out AND module archive NOK CAUTIONS Fd xecutables permissions are not retrieved The Makefile shall take care of this vltMake cares for standard file types binaries Scripts etc Do not use following names quoted with 5 i e lt name gt in your files because they will be modified by RCS Author Date Header Id Locker Log RCSfile Revision Source State 42 VLT Software Conf Mnet Module User Manual 1 3VLT MAN ESO 17200 0780 g SEE ALSO cmmArchive cmmHistory cmmCancel cmmBranch cmmArchiveBranch Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 43 4 0 15 cmmWhat 1 NAME cmmWhat give module names and versions SYNOPSIS cmmWhat lt file gt DESCRIPTION Gives module names and versions making up a file binary or library by searching file for
10. always the same version number i e the version of the module After having archived a module the module directory is updated and changed into a read only one To modify again the module delete the module directory and run the cmmModi y command At least a module should be archived everytime it is made available to other people to be integrat ed or used In addition a module should be archived everytime the software developer wants to make a checkpoint i e to be able to retrieve exactly what has been done for a given modification SPR correction or new feature added There are no restrictions on the number of times a module can be archived In other words there is no direct link between a module archiving and a module installation under INTROOT or VLTROOT VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 13 24 WARNING CMM is based on RCS which does not have any atomicity feature with respect to modification to a group of files There are six commands which modify the archive module cmmModify cmmCan cel cmmArchive cmmBranch cmmArchiveBranch and cmmCancelBranch Inorder to minimize the risk of having a inconsistent archive module CMM does the following during execution of a critical command INTR QUIT and SUSPEND signals are disabled before doing any modification CMM backs up the archive module incase of internal error CMM will restore automatically the archive module enablin
11. everyone and the cmmUnlockArchive only avail able for the SCCM The parameter passed to cmnLockArchive is the message displayed by every command trying to access the archive To unlock the archive the SCCM must execute cmmUnlock Archive Example cmmLockArchive until 10 35 Archive is locked 5 cmmModify cmm ARCHIVE IS LOCKED until 10 35 cmmUnlockArchive Archive is unlocked 2 9 5 cmmStartup and cmmShutdown CMM working in client server mode the process cmmServer should be started on the server host to enable CMM The cmmStartup commands takes care of this cmmStartup can be executed in VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 19 teractively or at boot time in both cases it starts cmmServer iin background mode using CMM_ROOT cmm log as standard output and standard error cmmShutdown stops cmmServer after checking that no one is using the archive and after locking the archive 2 10 New features Starting with version 3 0 cmm has been reimplemented on a client server basis that doesn t use rcp any longer but a socket communication Please refer to the 3 CMM Maintenance Manual Doc No VLT MAN ESO 17200 0793 for more specific information on the new architecture Briefly here we report the main changes that involve the users to access cmm once it is installed on your machine every user must create a file HOME cmmrc that must contain the record
12. mod on your module This will modify any C source file by adding two static variable and any script by adding a commented line This command will also add by de fault the standard script header to ANY other file taking into account CCS command definition ta ble file where it is missing except those containing the line DO NOT EDIT MANUALLY THIS FILE Note that some files are not treated by cmnAddRCSKeyword because they don t use the standard templates In this case add as a comment the following string Id with the quotes in the file header Some files cannot contain yet the RCS keyword like the error file generated by the error editor or some test reference files or configuration files In this case you have to DELETE what cm mAddRCSKeyword has generated and to restore the original file The best way to execute this step is to write a little shell script with the following actions cmmAddRCSKeyword mod copy old files that cmmAddRCSKeyword should NOT have modified Loop over this step until all files displayed by cmmAddRCSKeyword cannot have the RCS key word 2 8 4 Test your module Because almost each module file has been modified automatically or manually this is a mandatory step compile and test your module 2 8 5 Notify the SCCM Once your module is OK do not modify it any more and get in touch with the SCCM he will create the module for you When the module has been created you can modify it with cmm
13. the RCS keyword Id lt gt sorting them and filtering them according to the module name It assumes that every file belonging to the same module has the same version number FILES Requires repository Last change 28 02 97 15 06 44 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 0 16 cmmWho 1 NAME cmmWho displays which modules are being modified by whom SYNOPSIS cmmWho DESCRIPTION For every module checked out with cmmModify cmmBranch commands the following line is printed module modified by user since date If the module is checked out for branching cmmBranch the line is completed with for branch bid where bid is the branch id allocated by cmmBranch FILES Requires repository Last change 28 02 97 15 06 4 1 SCCM commands The following commands are reserved to the SCCM cmmCreate cmminit cmmLockArchive cmmShutdown cmmStartup e cmmUnlockArchive VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 4 1 1 cmminit 1 NAME cmmInit creates a new repository SYNOPSIS cmmInit DESCRIPTION This command can only be run by vitsccm cmmInit creates a new repository which replaces the old one ENVIRONMENT CMM ROOT Repository path CAUTIONS For the time being there can be only ONE repository Note that the old one is DELETED THIS COMMAND D
14. ver sion number Note that it is not possible to create branches on branches 27 OTHER FEATURES 2d Knowing which module version you are using To know which modules have been used to make a library or a binary file use the cmmWhat com mand cmmWhat file lists every CMM known module used in file with its version number cmmWhat readTest read 1 3 ccs 3 0 h this example readTest is using read version 1 3 modified 1 34 and ccs version 3 0 2 7 2 Module history cmmHistory module lists the history of the module who has archived which version when and why cmmHi story simply records the cmmArchive command line VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 15 5 cmmHistory read version 1 2 date Mon Jan 23 10 53 03 MEZ 1995 user vltsccm gt reason creation version 1 3 date Mon Jan 23 11 16 40 MEZ 1995 user vltsccm reason clean test version 1 4 date Mon Jan 23 11 41 33 MEZ 1995 user vltsccm gt reason SPR 959999 amp added readInt and readFloat cmmHistory will also tells you if a module is currently modified or not 2 7 3 Who is doing what cmmWho lists the currently modified modules with check out dates and user name cmmWho agws modified by tphan since Mon Oct 14 18 47 17 MEZ 1996 altaz modified by bgilli since Mon Aug 19 15 07 10 MESZ 1996 asmlcu modified b
15. 2 to check out an item to retrieve from an archive an item in order to modify it or not to check in an item to archive an item after having checked it out 1 6 STYLISTIC CONVENTIONS The following styles are used bold in the text for commands filenames pre suffixes as they have to be typed italic in the text for parts that have to be substituted with the real content before typing teletype for examples lt name gt in the examples for parts that have to be substituted with the real content before typing bold and italic are also used to highlight words VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 9 2 USER S GUIDE This chapter provides a functional description of the Configuration Management System 2 1 OVERVIEW The Configuration Management System gives the software developer the possibility to manage its software modules according to the following rules of configuration management e module items can be identified module is built from a consistent set of components module items are available and accessible e module items never get lost e g after media failure or operator error e changes do not get lost e g through simultaneous updates e itis always possible to go back to a previous version e a history of changes is kept so that it is always possible to know who did what and when 22 BASIC CONCEPTS 2 2 1 Module identification A module is identified by i
16. ELETES THE CURRENT REPOSITORY Last change 28 02 97 15 06 45 46 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 1 2 cmmCreate 1 NAME cmmCreate create a module SYNOPSIS cmmCreate module name version DESCRIPTION First the directory is checked using the cmmCheckForCreate command If any error is detected the module is not archived and the module should be cleaned according to cmmCheckForCreate prerequisites If there is no error every file under module name including binary files is registered and given the version version By default first version is 1 0 FILES Requires working module Changes repository working module all files are deleted CAUTIONS This command is reserved to vltsccm user command shall be executed from the parent directory of the directory module i e cd module name must be possible SEE ALSO cmmCheckForCreate Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLT MAN ESO 17200 0780 4 1 3 cmmLockArchive 1 NAME cmmLockArchive lock all archive SYNOPSIS cmmLockArchive message DESCRIPTION Disable every cmm operation print message This command can only be executed by vltscom Last change 28 02 97 15 06 47 48 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 1 4 cmmShut
17. Modi fy or get a read only copy with cmmCopy 29 ADMINISTRATION COMMANDS The following commands are reserved to the SCCM the administrator of the code archive cmmInit cmnCreate cmmW cmnLockArchive 18 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 cmmUnlockArchive cmmStartup cmmShutdown 2 9 1 cmmInit CAUTION This commands creates a new empty repository using the CMM_ROOT environment variable as the path of the repository It should be executed only once because it deletes the current repos itory It only exists for repository creation and test purposes As a consequence this command is not installed under VLTROOT and should be executed from the CMM module bin directory 2 9 2 cmmCreate This command allows the SCCM to create a module whose first version is by default 1 0 2 9 3 cmmW This command displays every ongoing CMM operation modifying the archive cmmCopy cmmModify cmmArchive cmmCancel cmmBranch cmmArchiveBranch and cmmCan celBranch Itis an easy way to check if an operation has failed and left a lock on the correspond ing module by checking the starting date of the operation Example cmmW cmm cmmModify by vltsccm since Thu Feb 27 10 33 44 MEZ 1997 on te13 2 9 4 cmmLockArchive and cmmUnlockArchive cmmLockArchive allows to the SCCM to lock the archive i e to disable every command for every user except the cmmWw command available for
18. assign it to the environment variable CMM ROOT as user vltsccm run cmmlInit from the cmm bin directory module 5 3 CMM module installation on the server host and on every client host run the following steps on the server host and on every client host cd cmm src make clean make make man make install choose a TCP port not yet used on the server host and assing it to the CMM PORT on the server host and on every client host CMM PORT 3000 export CMM PORT VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 53 define the environment variable CMM HOST to the server host name for every client host 5 CMM HOST tel3 hq eso org export CMM HOST To use the server host as a client host you should also do the same on the server host e Every CMM user should have a user account on CMM HOST and should be able to execute a remote copy rcp from the client host to the server host arid from the server host to the client host see hosts equiv man page for more information Check that running emm Who does not return any error
19. cmmBranch 1 NAME cmmBranch checks out a module to create a branch SYNOPSIS cmmBranch module name version DESCRIPTION Creates a writable copy of the module module name in the current directory for modification purposes The archived version specified by the second argument is retrieved Once the writable module copy has been created files may be modified added deleted or re created Directories can be added moved deleted or re created If the retrieved version is lt x gt lt y gt the version number in the RCS keyword is lt x gt lt y gt meaning that this is the version lt x gt lt y gt currently in modification to create branch x y z This version number is automatically updated in a string containing the SRevision 1 69 RCS keyword after the module has been archived with cmmArchiveBranch or retrieved via cmmCopy FILES Requires repository Changes working directory RETURN VALUES 0 module checked out 1 module not checked out but module archive OK 2 module not checked out AND module archive NOK CAUTIONS Fil xecutables permissions are not retrieved The Makefile shall take care of this vltMake cares for standard file types binaries Scripts etc Do not use following names quoted with 5 i e lt name gt in your files because they will be modified by RCS Author Date Header Id Locker Log RCSfile Revision Source State SEE ALSO cmmArchiveBranch cmmHistory c
20. down 1 NAME cmmShutdown shutdown cmmServer SYNOPSIS cmmShutdown DESCRIPTION This command shutdown cmmServer after checking that no one is updating the archive This command must be run on CMM HOST ENVIRONMENT CMM ROOT should be defined SEE ALSO cmmShutdown cmmServer Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 49 4 1 5 cmmStartup 1 NAME cmmStartup start cmmServer SYNOPSIS cmmStartup DESCRIPTION At boot time on HP UX 9 use bin su vltsccm c cmmStartup environments variables CMM ROOT and CMM PORT should be defined for user vltscom ENVIRONMENT CMM HOST CMM PORT and CMM ROOT should be defined SEE ALSO cmmShutdown cmmServer Last change 28 02 97 15 06 50 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 1 6 cmmUnlockArchive 1 NAME cmmUnlockArchive unlock all archive SYNOPSIS cmmUnlockArchive DESCRIPTION Undo cmmLockArchive enabl very end user command This command can only be executed by vltscom SEE ALSO cmmUnlock Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 51 5 INSTALLATION GUIDE 5 1 GNU software installation on the server host Installing CMM requires the following products to be installed on the server host e GNU diff 2 7 GNU sed 2 05 RCS57 It is essentia
21. e directory module i e cd module name must be possible Does not warn about modified files which will not be archived cmmCheckForArchiveBranch may be used to get a overview of the pending modifications but saving these modifications is left to the user Last change 28 02 97 15 06 33 34 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 0 7 cmmCheckForArchive 1 NAME cmmCheckForArchive checks module before archiving it it SYNOPSIS cmmCheckForArchive module DESCRIPTION This command shall be executed from the parent directory of the module directory Checks if the module exists and if the module has the minimum standard directory structure Gives every directory added or deleted and every modified added or deleted file using cmmDiff Gives the following error messages if files have unsufficient mode bits rw r r are the minimum set following file name patterns are present in the module directory RGS 29CCS tw dV dpud vA old a4 10 tar Z core file names containing blanks there are links in the module directory Warns about files that do not contain the RCS keyword but does not check for binaries or man pages make clean should be run before cmmCheckForArchive FILES Requires repository working module BUGS The SId end 5 missing RCS keyword for a file to be created is not catched Last change 28 02
22. e module has the minimum standard directory structure Warns about files the owner cannot write Warns about the following file name patterns present in the module directory that must be deleted Attic ROS SCCS wy q apt ev old bak uU bat Sef core Warns about links that must be deleted Warns about files that do not contain the RCS keyword but does not check for binaries or man pages make clean should be run before cmmCheckForCreate FILES Requires working module CAUTIONS Must be executed from the parent directory of the directory module i e cd module name must be possible BUGS The SId end 5 missing RCS keyword for a file to be created is not catched Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLT MAN ESO 17200 0780 4 0 10 cmmCompare 1 NAME cmmCompare compare two module versions SYNOPSIS cmmCompare lt module gt lt new version gt lt old version gt DESCRIPTION First it gives the status of each file with respect to lt new version gt and lt old version gt added deleted modified Then if the file is modified and is not binary the differences using diff are also given Because of the module basis each file existing in the two versions are always considered as different because the RCS keyword containing the version number is different FILES Requires repository Last change 28 02
23. eck cmm log for an exit message of cmmServer that explains why cmmServer has exited It may also happen that cmmServer is running but that every command hangs in this case check that cmmServer is still alive with the basic cmmW command If this command does not return try to shutdown cmmServer and to restart it with the following commands as user vltsccm cmmShut down cmmStartup if cmmShutdown also hangs use kill cmmServer pid to kill cmmServer 3 3 operation failure The CMM operations that modify a module archive have been designed to recover automatically Before modifying the module in the archive the module is backed up if there is an error during ex ecution the operation fails but CMM restores the module and issues a error message 3 3 1 A successfull CMM operation Each successfull CMM operation may be decomposed form the server side into the following steps that are also logged into CMM_ROOT cmm log 1 cmmLock module this lock protects the tranfer of the module using CMM_ROOT tmp and the module update in the archive itself 2 cmmBackup module backs up the module in the archive 3 cmm lt Operation gt read and or write the RCS files making up the module the end is logged with cmm Operation module RCS op end 4 the successfull final step of the CMM operation itself is logged with cmm Operation module exit OK 5 cmmUnlock module the step is executed AFTER the module has been
24. file does not contain the line NOT MANUALLY EDIT THIS FILE then the standard header is added th the RCS keyword 514 5 the file already contains the RCS keyword it is not modified h no option rcsId definition in c or C files belonging to mod changed into static void use rcsId void amp use rcsId void amp rcsId With 1 option for lcctest module only very fil xcept tar files containing the string SCCS Id is modified by replacing this string with 8 51 cmmAddRCSKeyword v 1 69 1997 02 24 13 42 26 vltsccm Exp CAUTIONS Assumes that files have been created with the getTemplate templates Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 27 4 0 2 cmmArchive 1 NAME cmmArchive checks in a module SYNOPSIS cmmArchive module name reason lt version gt DESCRIPTION Registers the new version of the module This command must be executed from the parent directory of the module The reason argument should sum up the modifications made on the module typically it s a SPR number and its short description reason is a string that should be enclosed in quotes this string is stored as a line in the module history file this string can be arbitrary long but it is recommended that its length does not exceed 80 characters If no version number is given the next mod
25. g the user to resubmit his command You should NEVER kill cmmModify cmmArchive cmmCancel cmmBranch cmmArchive Branch cmmCancelBranch cmmCopy or cmmCompare because doing so will leave the reposito ry in a inconsistent state In this case CMM does nothing and the user shall report it to the SCCM for corrective action there will be at least a lock to remove by hand 25 Branching 2 5 1 What is branching It is the possibility for a file to have a tree of version instead of one single trunk Without branching each file version has only one descendant the next version With branching each file version may have several descendants only one branch branches 2 57 2 57 2 58 2 58 2 57 1 1 2 572 There is always one branch called the main trunk in the above example version 2 57 and 2 58 be long to the main trunk But version 2 57 1 1 belong to branch 2 57 1 and version 2 57 2 1 belong to branch 2 57 2 Branches allow parallel development and especially urgent bug fixing when work on the next release has already started and is not compatible with bug fixing When branching is used there is no more a unique last version there is instead a unique last for each branch Branching must be carefully used in order to avoid ending with many incompatible versions for the same file Branching should only be used to fix urgent bugs and branches should always be merged in the trunk as soon as possible 14 VLT Software Conf Mnet
26. generated from a source file should not in principle be archived this is true for man pages object files libraries and binaries CMM cannot archive links links should be created by running make and deleted by running make clean cmmCheckForArchive fails if it detects some files in the second step unsufficient write access or existence of backup files or existence of links In general cmmCheckForArchive fails if the following file names types are found RES SCOS 45 adf v y bak BAK orig yo 30 tar Z sl so nfs core file names containing blanks cmmCheckForArchive does not fail if some files don t have the RCS keyword because there is no easy way to classify binary files 2 3 5 Archiving a module To archive a module you only need to run the cmmArchive command giving the module name and a comment summing up the modifications cmmArchive read SPR 959999 amp added readInt and readFloat lt cmmCheckForArchive output gt lt output for each archived file gt Module read archived in version 1 4 If cmmCheckForArchive fails the module will not be archived Warning try to avoid special character in the comment line the comment line must be less than 180 characters CMM does not support a file based archive all module files are archived whether they have been modified or not This means that for a given module version each file of the module has
27. h messages Otherwise each file created modified or deleted is taken into account every existing module file initially of version lt a gt lt b gt will be registered with the new version number lt a gt lt b gt lt c gt 1 lt a gt lt b gt lt z gt being the branch id allocated by cmmBranch it is the new version of the module lt module_name gt a deleted file can be recreated Deleted and created directories are also taken into account The current module directory is updated to become a read only copy of the module version lt a gt lt b gt lt c gt 1 files are read only but directories are writable to be able to execute make FILES Requires repository working directory Changes repository working directory RETURN VALUES 0 module checked 1 module not checked in but module archive OK 2 module not checked in AND module archive NOK CAUTIONS This script MUST NOT be interrupted It may leave the repository in a inconsistent state 30 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 In case of failure and recovery failure user must ask vltsccm to restore the module archive by hand AND restore its own module with tar xf mod tar SEE ALSO cmmCheckForArchiveBranch cmmBranch Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLT MAN ESO 17200 0780 31 4 0 4
28. ia 7 14 ABBREVIATIONS AND ACRONYMS 7 DSS GLOSSA ad Whe re siet c ul dos ut Vuoi ool ga 8 1 6 STXLISTIC CONVENTIONS 5 oe dut Ce e eA n d n 8 2 USER S GUIDE 9 21 OVERVIEW 5 2 Erbe Fed a 9 22 BASICCONCEPTS o2acsuetsesvnaustecuwert rpe cb Q4 Pa E be OR 9 22 1 Module identification sie eos Y eut Gets Utica bud depuis 9 222 Module handling oit reat kor exa s ePi ue wee eif Lye Pra 9 2 3 A DAY IN A LIFE OF A SOFTWARE DEVELOPER erudire ha o e e 9 2 2 Modifying a ied ale sic cs hae zac uS ELA CEPR Ud 10 2 3 2 Retrieving the version of a module teg yard 10 235 Reserved patterns sieer re mio SEN MAD RE kals Ps ba XE e s AU EE 10 2 3 4 Preparing the ees ot eine ee eho tne eite ma EE 11 2 9 5 Archiving a module ioi soa et gras ver de ebd 12 24 WARNING ENER EE 13 2 5 Branching adus deaths co LACE A 13 25 1 Whatis branching tege 13 252 HoW tocreatea branchi ss en wae ct ps ee dp s bec 14 2 6 Working with branches esperat e Ue E geri es pa pete EPA 14 27 OTHER FEATURES eh vuv evi bye e dete eicere
29. in this case all pending modifica tions are not archived Furthermode the following commands for a given module cannot run in parallel cmmCopy cmmCompare cmmModify cmmArchive cmmCancel cmmArchiveBranch or cmmCancelBranch The cmmWho command lists the modules currently under modification while the cmmW lists the ongoing cmmCopy cmmModify cmmArchive cmmCancel cmmBranch cmmArchive branch and cmmCancelBranch operations 2 8 MODULE CREATION PREPARATION The module creation is an operation reserved to the SCCM But the software developer must pre pare the work of the SCCM because he is the only one knowing the internal structure of his module It is recommended to create a module as soon as possible i e not to wait the last day before the de livery because the module preparation requires to test the module To prepare the module creation execute the following steps 2 8 1 module cleaning First run make clean Then clean your module using cmmCheckForCreate thiscommand has two steps VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 17 1 checks the user write access on his files tells to delete some backup files or some links 2 checks whether each file has the RCS keyword 2 8 2 module backup Save the module because the following step will modify your module and you must be able to re trieve a file before these modifications 2 8 3 RCS keyword adding Run cmmAddRCSKeyword
30. isplays last archived version of module and if the module is currently modified by cmmModify or cmmBranch the user modifying it Last archived versions on branches are displayed if the corresponding branch has not been closed with cmmCloseBranch If no argument is given all modules status is displayed FILES Requires repository RETURN VALUES 1 if module does not exist Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 41 4 0 14 cmmModify 1 NAME cmmModify checks out a module SYNOPSIS cmmModify module name branch id DESCRIPTION Creates a writable copy of the module module name in the current directory for modification purposes If no branch id parameter is given the last registered version on the main trunk is retrieved If a branch id parameter is given the last registered version on the given branch id is retrieved In both cases if the module version is already under modification with cmmModify by another user no writable copy is produced The lock can be removed only by the user currently modifying the module either by archiving the modifications with cmmArchive or by removing the request with cmmCancel Once the writable module copy has been created files may be modified added deleted or re created Directories can be added moved deleted or re created If the retrieved version is lt x gt lt y gt lt z gt lt
31. l that the GNU diff GNU sed ci co and rcs RCS binaries are the one above listed otherwise CMM won t behave the expected way Pay particular attention that usr local bin the installation target directory precedes in the PATH environment variable a directory where diff sed ci or co utilities may already be installed For example on HP UX 9 x diff sed are in stalled under bin and RCS binaries are installed under usr bin 5 1 1 GNU diff 2 7 To install gunzip diffutils 2 7 tar gz tar xf diffutils 2 7 tar cd diffutils 2 7 configure prefix usr local make clean make make install Check that 5 diff v diff GNU diffutils version 2 7 5 1 2 GNU sed 2 05 To install gunzip sed 2 05 ss 9 01 tar gz tar xf sed 2 05 ss 9 01 tar cd sed 2 05 configure prefix usr local make clean make Xr d ud ud ud un un make install 52 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 Check that sed version GNU sed version 2 05 5 1 3 RCS 5 7 To install 5 gunzip rcs 5 7 tar gz tar xf rcs 5 7 tar configure prefix usr local make make install Check that ci V RCS version 5 7 co V RCS version 5 7 rcs V RCS version 5 7 5 2 Repository creation on the server host create a user account named vltsccm that will represent the owner of the repository choose a directory name for the repository and
32. led recovery It is hard to give a general rule for such kind of errors because they may be caused by different rea sons Generally speaking if running cmmW lists locks on old operations more than 10 minutes ter operation start this means that something went wrong A failure with no automatic recovery happens most of the time because a client or server process has been killed possibly due to a net work failure It may also occur if the cmmRestore step failed The only way to check that an CMM operation has failed this way is to check that cmm log does not contain all the steps of one of the above two cases successfull CMM operation and failed CMM with sucessfull recovery To restore the module in the archive and to enable operations on this module for cmmCopy and cmmBranch just run cmmUnlock module for cmmModify cmmArchive cmmArchiveBranch cmmCancel and cmmCancelBranch run cmmRestore module cmmUnlockForFailure module cmmUnlock module Note that in the worst case for example running cmmRestore by hand has failed the module should be restored from a disk backup To restore module you should restore three files and one complete directory these three files and this directory should come from the same backup CMM_ROOT HISTORY lt mod gt history CMM_ROOT HISTORY lt mod gt fl v CMM ROOT HISTORY mod dl v VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO
33. llowing string patterns are always modified in any file managed by CMM whether they are lower case or upper case They should not be used because CMM will substitute them strings linked to the status of the file author date header VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 11 id locker name RCSfile revision source state 2 3 4 Preparing the archiving Before archiving the module the user should run the command cmmCheckForArchive in any case this command will be automatically run by the cmmArchive cmmCheckForArchive read DIRECTORIES Src RCS ADDED read include f ADDED src f c ADDED src readonly ADDED Add write permissions for you on read src readonly Delete read include f Delete the links read src lf c Add RCS keyword in the following files if not binary read lib libread a read object read da 12 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 This command has three steps 1 lists modified files as well as files and directories added or deleted 2 checks the user write access on his own files tells to delete some backup files or some links 3 checks whether each file has the RCS keyword Although CMM can handle binary files the user should run make clean before archiving its module every file which can be
34. mmCancelBranch Last change 28 02 97 15 06 32 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 4 0 5 cmmCancel 1 NAME cmmCancel cancel module checkout SYNOPSIS cmmCancel module DESCRIPTION Cancels the corresponding cmmModify module request nothing is archived the user module directory is deleted FILES Requires repository working module Changes working directory RETURN VALUES 0 OK 1 module not cancelled but module archive OK 2 module not cancelled AND module archive NOK CAUTIONS Must be executed from the parent directory of the directory module i e cd module name must be possible Does not warn about modified files which will not be archived cmmCheckForArchive may be used to get a overview of the pending modifications but saving these modifications is left to the user Last change 28 02 97 15 06 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 4 0 6 cmmCancelBranch 1 NAME cmmCancelBranch cancel cmmBranch SYNOPSIS cmmCancelBranch module DESCRIPTION Cancels the corresponding cmmBranch module request nothing is archived the user module directory is deleted FILES Requires repository working module Changes working directory RETURN VALUES 0 OK 1 module not cancelled but module archive OK CAUTIONS Must be executed from the parent directory of th
35. mply executes the command cmmModi y cmmModify read output for every directory and file retrieved Modifying read 1 3 cmmModify module creates in the current directory a directory module representing the module the contents of that directory is the set of the files tagged with version a lt gt repre senting the last version of the files belonging to this module the meaning of is under modifica tion This tagging is done using the following string Id also known as the RCS keyword which is processed by CMM The user is now free to modify the whole module files can be updated added or deleted directo ries can be added or deleted If the user wants to release the module because somebody else needs to modify the same version he should use the cmmCance1 command 2 3 2 Retrieving the version of a module The module version number can be retrieved using the Revision pattern For example in to add a function printing the version number of the module whom it belongs to write void xxxGetVersion printf version 1 1 5 After archiving cmm will substitute the right version the function will look like this void xxxGetVersion printf version Revision 1 2 n s Note if you want only the version number you must filter the Revision lt a gt lt b gt string 2 3 3 Reserved patterns The fo
36. o org By default a module belongs to the VLT group and will be by all the users belonging to the VLT group VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 21 3 Troubleshooting guide 3 1 Overview CMM has been implemented as a client server system a CMM command uses the cmmClient pro gram to send command to cmmServer There is not a one to one mapping between a CMM com mand and the cmmClient calls a single CMM command usually calls several times cmmClient cmmServer logs all incoming cmmClient requests and local CMM operation steps into CMM_ROOT cmm log This file is the only source of information to check wether a CMM opera tion has failed or not even if the CMM command output is available on the client host Do not de lete this file truncate it if it becomes too big and do not forget to back up it as every sub directory of CMM_ROOT 3 2 General failure If any command fail with the following message Cannot connect CMM HOST or cmmServ er on CMM HOST is down Connection refused check the following is it possible to reach from the local host the server host specified with HOST run ping SCMM HOST to check this If this fail there is a general network problem to be solved if there is no network problem check that cmmServer is running on CMM HOST by running ps eaf grep cmmServer If cmmServer is not running restart it as user vltsccm with the command cmmStartup ch
37. transfered on the client side if needed 22 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 CMM operation is successfull IF AND ONLY IF all five steps above can be found in CMM ROOT cmm log even if everything looks OK from the client side no error message module directory successfully retrieved 3 3 2 A failed CMM operation with successfull recovery Each unsuccessfull CMM operation that CMM manages to recover from may be decomposed from the server side into the following steps that are also logged into CMM_ROOT cmm log 1 cmmLock module this lock protects the tranfer of the module using CMM_ROOT tmp and the module update in the archive itself 2 cmmBackup module backs up the module in the archive cmm lt Operation gt this failing step is logged with abort see ROOT tmp log module operation pid 4 cmmhRestore module is logged with cmmRestore module begin and cmmRestore module end 5 cmm lt Operation gt module is logged with exit NOK cmmRestore OK 6 cmmUnlock module this step is executed to enable other operations on the module This kind of failure may be caused by a temporary problem file system full for example or more likely by a CMM bug only a carefull study of the corresponding file CMM_ROOT tmp log lt module gt lt operation gt lt pid gt may give further explanation 3 3 3 A failed CMM operation with fai
38. ts name and its version number The version number has the format a b or a b c d a b c and d being positive integers The version number is changed everytime a module is checked in lt a gt lt b gt becomes lt a gt lt b 1 gt and lt a gt lt b gt lt c gt lt d gt becomes lt a gt lt b gt lt c gt lt d 1 gt 2 2 2 Module handling Only the SCCM can create modules using the cmmCreate command the CMM first version usual ly starts at 1 0 The software developer can modify the module by using the cmmModi fy command or get a read only copy of the module by using the cmmCopy command To archive the module he must use the cmmArchive command which will increment the version number It is not possible that the same module version is modified by two differents users Once a module is under modification only the user having issued the cmmModify command can modify it How ever it is possible to create a branch see section 2 5 2 3 A DAY IN A LIFE OF A SOFTWARE DEVELOPER The basic loop of the software developer is made of the following steps checking out a module for modification modifying the module and testing it preparing the module for archiving archiving the module 10 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 234 Modifying a module To modify a module in order to correct bugs and or to add new features the software developer si
39. ule version is automatically computed by incrementing the last number a b will become 1 If a valid version number is given this version number will be the new module version cmmArchive only checks that the new version is greater than the last archived version number version gaps are possible First cmmCheckForArchive is executed An error about read only files or files that should be deleted or links that should be deleted stops cmmArchive the module is not archived and the module should be cleaned according to cmmCheckForArchive messages Otherwise each file created modified or deleted is taken into account every existing module file initially of version lt a gt lt b gt will be registered with the new version number lt gt lt 1 gt it is the new version of the module module name a deleted file can be recreated Deleted and created directories are also taken into account The current module directory is updated to become a read only copy of the module version lt gt lt 1 gt files are read only but directories are writable to be able to execut make FILES Requires repository working directory Changes repository working directory RETURN VALUES 0 module checked in 1 module not checked in but module archive OK 2 module not checked in AND module archive NOK CAUTIONS This script MUST NOT be interrupted It may leave the repository 28 VLT Software Conf Mngt Module User Manual
40. utdown ois a2 iss weal ba yy ee bre ae A es qa 18 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 2 10 New features19 Troubleshooting guide21 3 1 Overview21 3 2 General failure21 3 3 CMM operation failure21 3 3 1 successfull CMM operation21 3 3 2 failed CMM operation with successfull recovery22 3 3 3 A failed CMM operation with failed recovery22 REFERENCE25 4 SCCM commands44 INSTALLATION GUIDE51 51 GNU software installation on the server host51 511 GNU diff 2 751 512 GNU sed 2 0551 51 3 RCS 5 752 5 2 Repository creation on the server host52 53 CMM module installation on the server host and on every client host52 VLT Software Conf Mngt Module User Manual 1 3 VLI MAN ESO 17200 0780 7 1 INTRODUCTION The software decribed in this manual is intented to be used in the ESO VLT Project 1 1 PURPOSE This document is the User Manual of the code configuration system developed for the VLT Soft ware project This manual documents both end user commands and commands reserved to the Software Config uration Control Manager SCCM The manual assumes that the reader is a software developer having a basic knowledge of UNIX and familiar with software development activities applying rules described in 2 In addition to the Introduction section this manual contains two major sections User s Guide Describes the features of the configuration management module and includes e
41. xamples of how to use it Reference Describes all the commands available to the user 12 SCOPE This manual describes version 1 69 and higher of the Configuration Management Module This system is a very basic one handling only code modules It does not encompass all software de velopment actvities for example documentation It even does not implement the complete code configuration system as described in 1 1 3 REFERENCE DOCUMENTS 1 VLT SPE ESO 17200 0704 1 0 prep 1 0 02 09 94 Software Configuration Management System Functional Specification 2 VLI PRO ESO 10000 0228 1 0 10 03 93 Software Programming Standards 3 VLI MAN ESO 17200 0793 VLT Software CMM Maintenance Manual 14 ABBREVIATIONS AND ACRONYMS The following abbreviations and acronyms are used in this document CASE Computer Aided Software Engineering CMM Configuration Management Module DBMS Database Management System HW Hardware I O Input Output LCU Local Control Unit N A Not Applicable TBC To Be Confirmed SW Software 8 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 TBD To Be Defined VLT Very Large Telescope WS Workstation SPR Software Problem Report SCCM Software Configuration Control Manager 15 GLOSSARY configuration item a collection of elements treated as a unit for the purpose of configuration management module in this document has the meaning of software module as defined in
42. y ssandroc since Thu Sep 12 10 28 34 MESZ 1996 2 7 4 Last versions of module CmmLast module gives the last archived version of the module and if currently modified the user doing it cmmLast cmm cmm last version 1 50 modified by vltsccm Without any argument cmmLast does the same for all existing modules 2 7 5 Compare Module Versions cmmCompare allows to compare two archived module versions cmmCompare read 1 3 1 2 Retrieving read 1 3 Please wait Retrieving read 1 2 Please wait DIRECTORIES 16 VLT Software Conf Mngt Module User Manual 1 3VLT MAN ESO 17200 0780 F src f c ADDED F test Makefile MODIFIED diff test Makefile 1 3 1 2 15a4 clean rm rf diff err out diff read src ReadString c 1 3 1 2 Lett lt 150 gt 151 SCLC eX 2 7 6 Retrieving an old version of a module cmmCopy module version retrieves a read only copy of the module in the specified version This is useful for integration purposes or to compare two module versions ona finer way 2 7 7 Concurrency issues CMM allows that the modification of same module version by two different users only with branching But cmmModify locks the whole module another user who want to modify the same version of the module with cmmModi y can only wait for the user locking the module to archive it with cmmArchive or to cancel its modification with cmmCancel1
Download Pdf Manuals
Related Search
VLT MAN ESO 17200
Related Contents
Advance Acoustic MAX 150 audio amplifier Chassis User Guide Installation, operation and maintenance instructions Polycom DOC2560C User's Manual ASUS K8V-VM motherboard User`s Manual, Realityplayer INSTALLATION AND OPERATION MANUAL User Manual Λήψη - VOLTE -TEL Communications 18" 14,5A lA Tronçonneuse ÉleCTrIQue Copyright © All rights reserved.
Failed to retrieve file