Function Release USRs generally or for a specific GuP. Calling relusrs [Options] [ ] Options -gup= The name of the GuP the USRs should be released for. -pro= The name of the project if the equipment model has a different (or variant) name (e.g. fg - fg03). -dir= The name of a project subdirectory where the object file to be released is located. Use this option if the object file is not in the project directory but in a project subdirectory. -gen Use '~/eqmod-gen///' instead of '~/workspace/' as root directory. This is what 'genusrs' is generating by default. -alt= Use alternative directory instead of user's workspace as shared object source directory to perform a common release (see item 1 in description below). That means, use '' instead of '~/workspace/[/]'. Option '-dir' is not allowed when '-alt' is used. Parameters Eq. model The equipment model. USRs version The USRs version formatted as 'ss.dd.pp'. Description 1. If both parameters but no GuP option is given, 'relusrs' releases a specific version of equipment model USRs including the correspondig XML file. In other words, it copies a. the shared object file from the user's workspace (or from the 'genusrs' default directory, see option '-gen' above) to the equipment model directory '${UROOT}/eldk/ppc_6xx/opt/acc/eqp/' and b. the '[_complete].xml' file from the user's workspace (or from the 'genusrs' default directory, see option '-gen' above) to the equipment model XML directory '${UROOT}/eldk/ppc_6xx/opt/acc/eqp/xml'. The filename on the destination directory is always _.xml, e.g. 'mx_21.xml' or 'fg03_17.xml'. If the equipment model name differs from the project name, the option '-pro=' must be used. In the case of a function generator for example relusrs -pro=fg fg03 09.05.ca If the object file is not in the project directory but in a project subdirectory, for example workspace/pzui/pzua/pzua.ppc.so.11.09.03.00 use the command line relusrs -pro=pzui -dir=pzua pzua 09.03.00 Subsubdirectories like '-dir=sub/subsub' are possible as well. If the object file is in a default directory created by genusrs, for example /home/bel/kain/lnx/eqmod-gen/md/09.10.16 use the command line relusrs -gen f md 09.10.16 An XML file will be copied only as long as there's no corresponding XML file on the destination directory. If there's a corresponding XML file on the destination directory, differences between source and destination file will be reported as warning, but the release process will be continued anyway. 2. If both parameters and '-gup=' is given, 'relusrs' releases USRs for a specific GuP. In other words, it creates a link on the gup-specific directory '${UROOT}/eldk//opt/acc/cpu' that points to the USRs file with the appropriate version lying on the equipment model directory '${UROOT}/eldk/ppc_6xx/opt/acc/eqp/'. It also writes a data file -.dat to the gup-specific directory '${UROOT}/eldk//opt/acc/cpu'. 3. If the Eq. model parameter and '-gup=' is given, 'relusrs' reads the data file -.dat from the gup-specific directory '${UROOT}/eldk//opt/acc/cpu' to release USRs for a specific GuP. In other words, it creates a link on the gup-specific directory '${UROOT}/eldk//opt/acc/cpu' that points to the USRs file with the appropriate version lying on the equipment model directory '${UROOT}/eldk/ppc_6xx/opt/acc/eqp/'. The release number is added automatically to the version depending on the presettings (e.g. with 'eqpact'). If USRs 'mx 09.12.03' should be released and release 11 is preset, relusrs looks for files named 'mx[.ppc].so.11.09.12.03'. The release number is derived from the target of the 'libusrs.so' link at '$libppc'. A common release (case 1) is done only if - an appropriate tag exists in subversion, - the source shared object exists, and - the destination shared object does not exist. A GuP release (case 2) is done only if - an appropriate tag exists in subversion and - the shared object, where the link should point to, exists. In cases 1 and 2, the appropriate destination directory will be created if it does not exist. Examples relusrs mx 09.12.03 relusrs -gen md 09.08.13 relusrs -pro=fg fg03 09.03.13 relusrs -pro=std -dir=isee isee 09.08.07 relusrs -alt=$HOME/some/dir dgx 09.07.15 relusrs -gup=k4xcg01 mx 09.10.11 relusrs -gup=kuecg02 mx Note Releases for platform X86 are not yet supported. Note This script works *only* with the *enhanced* version of 'getopt'! Updates: Date | Name | Description ----------+-------+--------------------------------------------------- 13.Oct.06 | LH | stolen from relusrs-v08 25.Oct.06 | LH | use function getvmedirs() 2.Nov.06 | LH | Write/read a data file (like releqms) 6.Nov.06 | LH | Data file name contains equipment model name 27.Nov.06 | LH | Test for valid GuP name 4.Dec.06 | LH | Check GuP name only if one was given 5.Dec.06 | LH | Usage info if only command has been given 23.May 07 | LH | use 'install' instead of 'cp'; mkdir with -m 23.Nov.07 | LH | Use environment variables UROOT, DROOT and PROOT 26.Feb.08 | LH | 'chmod g+w' of logfile added 31.Mar.08 | LH | 2nd step does not create a CPU directory any more 2.Jun.08 | LH | VME_SYSVERSION -> ACC_VME_SYSVERSION 29.Jan.09 | LH | Add actual release number to version 3.Feb.11 | LH | Add option -alt (due to genusrs.py) 6.Jul.11 | LH | Option '-gen' added 14.Jul.11 | LH | Options '-h' and '-H' added 5.Aug.11 | LH | Release of XML file added ----------+-------+---------------------------------------------------