CSCOFE Tools Overview


Preconditions

Most of the tools may be used only if some preconditions are met.
  1. Your .bashrc or .profile file on your home directory should contain the following lines. On acc6 and acc7 cluster:
      if [ -f /etc/bashrc ]; then
        . /etc/bashrc
      fi
      . /common/usr/cscofe/scripts/accdefs 
  2. You should once call syspro after login or place this command in your .bashrc or .profile as well.
  3. Your group directory /common/usr/<group>/lib/python<version>/site-packages must contain a file devacc.pth which contains the two lines
    /common/usr/cscofe/opt/devacc/pro/python
    /common/usr/cscofe/python
    See /common/usr/cscofe/lib for the correct python<version> directory name. Note that python<version> is cluster-dependent!
  4. See also the special note on Tools using Subversion on acc6 at the end of this page.


Equipment Access

dev-group

  • Function: Access one ore more properties for all devices in a given file
  • Calling: dev-group [options] <file>
  • Description:
    • Access write properties with default or specified values
    • Access read properties
    • Access call properties
    • Specify a file that contains all nomenclatures to be accessed
    • Specify an optional module for beautyfied output; output modules may be user supplied
  • Help: Call 'dev-group -h' for a short help
  • Note: For acc6 cluster only

dev-read

  • Function: Read data from a property and store it in a data file
  • Calling: dev-read [tbs]
  • Description:
    • [tbs]
    • (in json format)
    • see also dev-write
  • Help: Call 'dev-read -h' for a short help
  • Note: For acc6 cluster only

dev-swpz

  • Function: Handling local timing event generators ("Software-Pulszentrale")
  • Calling: dev-swpz
  • Description:
    • Graphical user interface to local timing event generators ("Software-Pulszentrale") that supports
      • editing timing-event sequences
      • editing sequences of virtual accelerators ("super cycle")
      • storing and loading settings in/from a file
  • Note: For acc6 cluster only

dev-therapy

  • Function: Access to properties for therapy operation
  • Calling: dev-therapy [nomenclature]
  • Description:
    • graphical user interface to device properties which are used for therapy orperation
  • Note: Not yet clear how therapy operation will be implemented after SIS18 controls upgrade

dev-write

  • Function: Read data stored in a data file and write it to a property
  • Calling: dev-write [tbs]
  • Description:
    • [tbs]
    • (in json format)
    • see also dev-read
  • Help: Call 'dev-write -h' for a short help
  • Note: For acc6 cluster only

prophelper

  • Function: Access to any property of a given device
  • Calling: prophelper [nomenclature]
  • Description:
    • graphical user interface, providing access to any property of a given device
  • Note: A detailed description can be found on the wiki page PropHelper Introduction
  • Note: When Secure Shell is used, some terminals, for instance X-Terminals, require the -Y option to display prophelper correctly. So use ssh -Y <host> to login.


Display Device Information

devdesc

  • Function: Output device description (including EC/Devman names) of a device or all devices of a Devman
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: devdesc <Nomenclature>
  • Help: Call 'devdesc -h' for a short help

devstatus

  • Function: Output device status of a device, an EC or all devices known by the Devman.
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: devstatus <Nomenclature>
  • Help: Call 'devstatus -h' for a short help

dev-dttc-inl

  • Function: Display interlock status of beam current transformers in the Unilac
  • Calling: dev-dttc-inl
  • Description:
    • periodical display of measured currents, interlock status and interlock limits
  • Note: End periodical display by pressing <Return>

ecconfig

  • Function: Output ECs internal device table (property ECCONFIG)
  • Calling: ecconfig [<Options>] <EC Nomenclature>
  • Help: Call 'ecconfig -h' for a short help

infostat

  • Function: Output device status information (from INFOSTAT) of a device or all devices known by the Devman.
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: infostat <Nomenclature>
  • Help: Call 'infostat -h' for a short help

magnallvrt

  • Function: Read actual values of MX device for all 16 vrtAccs.
  • Calling: magnallvrt <Nomenclature>
  • Help: Call 'magnallvrt -h' for a short help

magninfo

  • Function: Output MAGNINFO of one device or all devices of a GuP. Valid device types are MD, MX, MXS, or KGB.
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: magninfo <Nomenclature>
  • Help: Call 'magninfo -h' for a short help

propdesc

  • Function: Output description of all properties of a device, EC, or Devman
  • Calling: propdesc [<Nomenclature>]
  • Help: Call 'propdesc -h' for a short help

version

  • Function: Output software versions of the device(s).
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: version [Options] <Nomenclature>
  • Help: Call 'version -h' for a short help, call 'version -H' for a detailed help

vme-software

  • Function: Output a list of software running on the specified GuP (Devman and all ECs)
  • Calling: vme-software [<GuP>]
  • Help: Call 'vme-software -h' for a short help


Maintenance

See also Topics in section Display Device Information above on this page.

alarmstatistics

  • Function: Output alarm statistics information of the device(s).
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: alarmstatistics [Options] <Nomenclature>
  • Help: Call 'alarmstatistics -h' for a short help
  • Note: New in Release 18a.

conndesc

  • Function: Output description of connections (subscriptions) of the device(s).
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: conndesc [Options] <Nomenclature>
  • Help: Call 'conndesc -h' for a short help

double-devs

  • Function: Get info about double or multiple defined device addresses on a GuP
  • Calling: double-devs [<Name of Devman>]
  • Note: Works only for PPC-GuPs on VME Crates.
  • Help: Call 'double-devs -h' for a short help

eqmerror

  • Function: Output EQM error buffers for specified device and vrtacc
  • Calling: eqmerror [<device> [<vrtacc>]]
  • Help: Call 'eqmerror -h' for a short help

eqp-software

  • Function: Output a list of computers with their equipment model software.
  • Calling: eqp-software [<Options>] <eq-model>
  • Help: Call 'eqp-software -h' for a short help; call 'eqp-software -H' for a detailed help

fedbupdate

  • Function: Update FeDB tables DeviceConfiguration, EquipmentModel, DeviceManager, and ControlUnit.
  • Description: See the detailed description
  • Location: asl330:/common/usr/cscofe/opt/devacc/pro/bin
  • Calling: ./fedbupdate ['ACCDBP'|'ACCDBT'|'ACCDBU']  # default: 'ACCDBP'
  • Note: Currently (26. Oct. 2016) still ACCDBT is used.

ifbfirmware

  • Function: Update IFB firmware. You need to have a firmware-file with extension 'rbf'.
    ECM must run in BOOT mode. Don't use it if you are not really sure what you are doing!
  • Calling: ifbfirmware [Options] <EC-Nomenclature> <IFB-Addr> <filename>
  • Help: Call 'ifbfirmware -h' for a short help

ifbinfo

  • Function: Get hardware interface assembly information for a device or all devices of a Devman.
    For all devices, type and mode of the IFBs as well as types of the slave boards are displayed.
  • Calling: ifbinfo <Name of Devman or device>
  • Help: Call 'ifbinfo -h' for a short help

ipstest

  • Function: Test IPS hardware and the VME part of IPS implementation.
  • Calling: ipstest <Name of IPSbox> <group> <device>
  • Help: Call 'ipstest' for a short help

medcheck

  • Function: Generate a Python script to declare devices as MEDMEMBer.
  • Calling: medcheck/member
  • Output: SIS$ROOT:[MED.LOG]SETMEDMEMB.PY
  • Caution: Runs on VMS only!

milmon

  • Function: Monitor MIL-bus communication of the specified EC
  • Calling: milmon <EC name> [Options]
  • Help: Call 'milmon -h' for a detailed help

remotegupcmd

  • Function: Execute a bash command via SSH on one or more GuPs
  • Calling: remotegupcmd [Options] <GuP-name> <Command>
  • Help: Call 'remotegupcmd -h' for a short help, call 'remotegupcmd -H' for a detailed help
  • Note: Works only on acc7 cluster but not on acc6!
  • Note: The user will be asked for the remote GuP's Linux root password
  • Examples: Common commands are
    • remotegupcmd kp1cg01 /sbin/reboot
    • remotegupcmd k?xcg* "/etc/init/boot.d/95_devman restart"

reqdesc

  • Function: Output description of asynchronous requests of the device(s).
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: reqdesc [Options] <Nomenclature>
  • Help: Call 'reqdesc -h' for a short help, call 'reqdesc -H' for a detailed help

shutup

  • Function: Output if a device, an EC, a GuP or all devices of a GuP, including ECs and the GuP itself, has alarms enabled or disabled.
    Nomenclatures with wildcards ( * or ?) are allowed.
  • Calling: shutup [<Options>] <Nomenclature>
  • Help: Call 'shutup -h' for a short help, call 'shutup -H' for a detailed help

vmeboot

  • Function: Boot the run, boot, RAM or debug version of MOPS or ECM
  • Calling: vmeboot [<Options>] <GuP or EC name>
  • Help: Calling vmeboot without any parameters gives a short help

vmeterm

  • Function: Redirect GuP or EC output to the terminal
  • Calling: vmeterm [<GuP or EC>]


Development, Release, Rollout

c2cpp-includes

  • Function: Set the correct C library includes for C++ programs.
  • Calling: c2cpp-includes <file> {<file>}
  • Description: Replaces '#include <assert.h>' with '#include <cassert>', '#include <stdio.h>' with '#include <cstdio>' etc.

conditions-generator

  • Function: Create sources and/or libraries from conditions in the conditons DB
  • Calling: conditions-generator <Options>
  • Help: Call 'conditions-generator -help' for help
    See also the Bedienungsanleitung in PDF.
  • Note: For acc6 cluster only

conditions-loader

  • Function: Handle (create, add, edit, ...) conditions in the conditons DB
  • Calling: conditions-loader [insert|get|update|delete|help|list] <Options>
  • Help: Call 'conditions-loader help' for help
    See also the Bedienungsanleitung in PDF.
  • Note: For acc6 cluster only

copygup

  • Function: Copy a GuP or uOIC zipfile to the GuP or uOIC directory
  • Calling: copygup [<Options>] <GuP> <Version>
  • Help: Call 'copygup -h' for a short help, call 'copygup -H' for a detailed help
  • Note: For acc6 cluster only

copyusrs

  • Function: Copy USRs so-file from working directory to equipment scratch directory and create link to it on host (GuP) directory.
  • Calling: copyusrs [Options] <Eq. model> <USRs version> <Host>
  • Help: Call 'copyusrs' for a short help

dbscopy

  • Function: Copy local dbs file to GuP directory
  • Calling: dbscopy <GuP name>
  • Help: Call 'dbscopy -h' for a short help

dbsgen

  • Function: Convert front-end configuration source file (database definition, *.dbs) to source file for device manager (*.dbs)
  • Calling: dbsgen <!DevMan name>
  • Help: Call 'dbsgen -h' for a short help
    See also the introduction into front-end configuration

download

  • Function: Download equipment model software to a GuP or EC
  • Calling: download [<Options>] <Files> <GuP or EC name<
  • Note: Works only for system version V08 (M68k-GuPs)! For V10 use ecload.
  • Help: Calling download without any parameters gives a short help
    See also the detailed description

ecload

  • Function: Load an ECM or EQMs S-record file to an EC
  • Calling: ecload [<options>] <file> <ec-name>
  • Note: Works only for system version V09 and up (PPC-GuPs)! For V08 use download.
  • Help: Call 'ecload -h' for a short help
    See also the detailed description

ecmlinkcreate

  • Function: Create the directive to link ECM or EQMs
  • Calling: ecmlinkcreate [<EQM objects>]
  • Input: vme.cfg
  • Note: Should be called only by ecmlink.mk, not directly by the user

eqpact

  • Function: Presettings for equipment control and client software development and maintenance for the current or the specified release
  • Calling: eqpact [<Release>]
  • Note: Calls eqpaslv01 and eqpvmev10 internally
  • Note: Use this command to set the environment for software development for releases already in production.

eqpaslv01

  • Function: Presettings for equipment control and client software development and maintenance on Linux hosts (asl) for the current or the specified release
  • Calling: eqpaslv01 [<Release>]
  • Outputs:The (redefined) environmant variables
    • incasl = $PROOT/include/asl/<current|<Release>>
    • libasl = $PROOT/lib/asl/<current|<Release>>
    • PYTHONPATH = $PROOT/python/<current|<Release>>
  • Note: See eqpact

eqpvmev10

  • Function: Presettings for equipment control and client software development and maintenance for PPC-GuPs (VME) for the current or the specified release
  • Calling: eqpvmev10 [<Release>]
  • Outputs:The (redefined) environmant variables
    • incvme = $PROOT/include/vme/<current|<Release>>
    • libppc = ${UROOT}/eldk/ppc_6xx/opt/acc/sys/devman/<current|<Release>>
    • PYTHONPATH = $PROOT/python/<current|<Release>>
  • Note: See eqpact

gendevacc

  • Function: Generate the specified release of Device Access including the libraries, Devman, Nameserver, and UfcServer
  • Calling: gendevacc [<Options>] <Release>
  • Note: Correct logging requires that the install macros in acc-global.mk do not use the -p option!
  • Help: Call 'gendevacc -h' for a short help, call 'gendevacc -H' for a detailed help
    See also the detailed description

gendocu

  • Function: Generate PS or PDF document from LaTeX file.
  • Calling: gendocu [-ps] <file>
  • Description: Performs the neccessary latex, bibtex and makeindex runs to generate a PDF or PS document.
  • Help: Calling gendocu without any parameters gives a short help

genecm

  • Function: Generate ECM(s) using sources from the subversion repository
  • Calling: genecm [Options] <Version>
  • Help: Call 'geneqms -h' for a short help, call 'geneqms -H' for a detailed help
  • Note: genecm works with ECM version (SVN tag) 10.03 and upwards.
  • Note: For acc6 cluster, see special note on Tools using Subversion on acc6.

geneqms

  • Function: Generate EQMs using sources from the subversion repository
  • Calling: geneqms [Options] <Equipment model>
  • Help: Call 'geneqms -h' for a short help, call 'geneqms -H' for a detailed help
  • Note: For acc6 cluster, see special note on Tools using Subversion on acc6.

geneqmvariants

  • Function: Generate EQMs for all given variants
  • Calling: geneqmvariants [<Options>] <Variants>
  • Input: vme.cfg
  • Note: Formely named geneqms
  • Help: Calling geneqmvariants without any parameters gives a short help

genmsg

  • Function: Generate condition files and libraries and release (copy) them to the appropriate directories.
  • Calling: genmsg [<Options>] <Facilities>
  • Help: Call 'genmsg -h' for a short help, call 'genmsg -H' for a detailed help

genusrs (V08)

  • Function: Link USRs of different equipment models for a GuP
  • Calling: genusrs [<Options>] <GuP name>
  • Note: Works for system version V08 (M68k-GuPs)! Use vmeconfig and make for V10.
  • Help: Calling genusrs without any parameters gives a short help

genusrs (V09)

  • Function: Generate USRs using sources from the subversion repository
  • Calling: genusrs [Options] <Equipment model>
  • Note: Works only for system version V09 and up
  • Note: Not for acc6 cluster
  • Help: Call 'genusrs -h' for a short help, call 'genusrs -H' for a detailed help

make-interpret

  • Function: Generate <eqmod>-interpret.h to be included into EQMs
  • Calling: make-interpret <eqmod> [<eqmodmsg.h>]
  • Help: Call 'make-interpret' for help

mxmd_coeff

  • Function: Insert field data (polynomials) or polarity data for magnets read from a file into the database
  • Calling: mxmd_coeff [options] <data-file>
  • Help: Call 'mxmd_coeff -h' for help
    See also the introduction into front-end configuration

prepmake

  • Function: Check parameters in vme.cfg and call prepmake[ecm|eqms|mops|usrs]. Helper for vmeconfig.py
  • Calling: prepmake
  • Input: vme.cfg
  • Note: Should be called only by vmeconfig.py, not directly by the user

prepmakeecm

  • Function: Prepare makefile to generate an ECM
  • Calling: prepmakeecm
  • Input: vme.cfg
  • Note: Should be called only by prepmake, not directly by the user

prepmakeeqms

  • Function: Prepare makefile to generate EQMs
  • Calling: prepmakeeqms
  • Input: vme.cfg
  • Note: Should be called only by prepmake, not directly by the user

prepmakemops

  • Function: Prepare makefile to generate a MOPS
  • Calling: prepmakemops
  • Input: vme.cfg
  • Note: Should be called only by prepmake, not directly by the user
  • Note: Works only for system version V08 (M68k-GuPs)!

prepmakeusrs

  • Function: Prepare makefile to generate USRs
  • Calling: prepmakeusrs
  • Input: vme.cfg
  • Note: Should be called only by prepmake, not directly by the user

protdevacc

  • Function: Protect directories of a Device Access release
  • Description: Removes write permission from or adds write permission to the build, include, lib, and python directories of the specified release.
  • Calling: protdevacc [<Options>] <Release>
  • Note: Script uses the chmod command together with the sudo command. A password is required to execute the script.
  • Help: Call 'protdevacc -h' for a short help, call 'protdevacc -H' for a detailed help

protecm

  • Function: Protect directories of an ECM release
  • Description: Removes write permission from or adds write permission to ECM directories of the specified version.
  • Calling: protecm [<Option>] <Version>
  • Note: Script uses the chmod command together with the sudo command. A password is required to execute the script.
  • Note: Script does not yet work on acc6 cluster (missing sudo rights)!
  • Help: Call 'protecm -h' for a short help, call 'protecm -H' for a detailed help

relcaplog

  • Function: Release alarm logger Caplog
  • Calling: relcaplog [<Options>] [<Release>]
  • Help: Call 'relcaplog -h' for a short help, call 'relcaplog -H' for a detailed help

relcondtool

  • Function: Release a conditions handling tool
  • Calling: relcondtool [<Options>] <Tool> <Version>
  • Help: Call 'relcondtool -h' for a short help, call 'relcondtool -H' for a detailed help
  • Note: Not usable on acc5 cluster

reldevacc

  • Function: Make release the default Device Access environment
  • Description: Lets the current links (acc5) resp. the pro or dev links (acc6) point to the specified release.
  • Calling: reldevacc [<Options>] <Release>
  • Help: Call 'reldevacc -h' for a short help, call 'reldevacc -H' for a detailed help
  • Note: The tool functions quite differently on acc5 and acc6.

reldevman

  • Function: Release Devman for a specific host
  • Calling: reldevman [<Options>] <Host> [<Release>]
  • Help: Call 'reldevman -h' for a short help, call 'reldevman -H' for a detailed help

relecm

  • Function: Release a specific version of the ECM
  • Calling: relecm [-boot] <Board> <ECM version>
  • Help: Calling relecm without any parameters gives a short help
  • Note: For acc6 cluster, see special note on Tools using Subversion on acc6.

releqms

  • Function: Release a specific version of EQMs either generally or for a specific EC
  • Calling: releqms [<Options>] <Board> <Eq. model> <EQM version>
  • Help: Call 'releqms -h' for a short help, call 'releqms -H' for a detailed help
    See also the detailed description
  • Note: For acc6 cluster, see special note on Tools using Subversion on acc6.

releqms.py

  • Function: The GUI version of releqms
  • Calling: $utivme/releqms.py
  • Input: vme.cfg
  • Note: Yet in a preliminary state, works only for system version V08

relgup

  • Function: Release software for a specific PPC- or uIOC-GuP
  • Calling: relgup [<Options>] <GuP> <Version>
  • Help: Call 'relgup -h' for a short help, call 'relgup -H' for a detailed help
  • Note: Not usable on acc5 cluster
  • Note: For acc6 cluster, see special note on Tools using Subversion on acc6.

relmops

  • Function: Release a specific version of the MOPS
  • Calling: relmops [-boot] <Board> <MOPS version>
  • Help: Calling relmops without any parameters gives a short help
  • Note: Works only for system version V08 (M68k-GuPs)!

relnameserver

  • Function: Release nameserver
  • Calling: relnameserver [<Options>] [<Release>]
  • Help: Call 'relnameserver -h' for a short help, call 'relnameserver -H' for a detailed help

relpy

  • Function: Release Python EqMod class file
  • Calling: relpy [Options] <Eq. model> <USR version>
  • Help: Call 'relpy -h' for a short help, call 'relpy -H' for a detailed help
  • Note: Python EqMod class files are usually released with 'relusrs'.

relufcserver

  • Function: Release userface server
  • Calling: relufcserver [<Options>] [<Release>]
  • Help: Call 'relufcserver -h' for a short help, call 'relufcserver -H' for a detailed help

relusrs

  • Function: Release a specific version of USRs (including XML and Python EqMod class file) either generally or for a specific GuP
  • Calling V08:
    • relusrs [Options] <Board> <Eq. model> <USR version>
    • relusrs <GuP-Name>
  • Calling V09:
    • relusrs [Options] <Eq. model> <USR version>
  • Help: Call 'relusrs -h' for a short help, call 'relusrs -H' for a detailed help
    See also the detailed description for V09

relusrs.py

  • Function: The GUI version of relusrs
  • Calling: $utivme/relusrs.py
  • Input: vme.cfg
  • Note: Yet in a preliminary state, works only for system version V08

relxml

  • Function: Release equipment model XML file
  • Calling: relxml [Options] <Eq. model> <USR version>
  • Help: Call 'relxml -h' for a short help, call 'relxml -H' for a detailed help
  • Note: XML files are usually released with 'relusrs'.

setolinux

  • Function: Load an EC, that is equipped with system software generated under VMS, with sytem software generated under Linux. System software is Run-ECM, Boot-ECM, and Boot-ASM.
  • Calling: setolinux
  • Note: setolinux succeeds only, if the EC is equipped completely with VMS-generated system software!

sys68v08

  • Function: Presettings for equipment control software development
  • Calling: sys68v08
  • Note: Valid only for system version V08 (M68k-GuPs)!

sysact

  • Function: Same as syspro , see there.
  • Calling: sysact

sysasllocal

  • Function: Presettings for software development for Linux hosts (asl) completely on the user's working directories
  • Calling: sysasllocal
  • Outputs:The (redefined) environmant variables
    • incasl = ~/workspace/local/incasl
    • libasl = ~/workspace/local/libasl
    • PYTHONPATH = ~/workspace/local/python
  • Note: See syslocal

sysaslv01

  • Function: Presettings for common software development for Linux hosts (asl)
  • Calling: sysaslv01
  • Note: See sysact

sysdev

  • Function: Presettings for common software development based on a development release
  • Calling: sysdev
  • Note: Calls sysaslv01 dev and sysvmev10 dev internally
  • Note: Use this command only in cases where several developers must share a common software base. Use eqpact to develop software for releases already in production. Use syslocal to develop software locally and independently of releases in production.

syslocal

  • Function: Presettings for software development completely on the user's working directories
  • Calling: syslocal
  • Note: Calls sysasllocal and sysvmelocal internally
  • Note: Use this command to set the environment for local software development independently of other developers and of releases already in production.

syspro

  • Function: Presettings for common software development based on a production release
  • Calling: syspro
  • Note: Calls sysaslv01 and sysvmev10 internally
  • Note: Use this command only in cases where several developers must share a common software base. Use eqpact to develop software for releases already in production. Use syslocal to develop software locally and independently of releases in production.

sysvmelocal

  • Function: Presettings for software development for PPC-GuPs (VME) completely on the user's working directories
  • Calling: sysvmelocal
  • Outputs:The (redefined) environmant variables
    • incvme = ~/workspace/local/incvme
    • libppc = ${UROOT}/eldk/ppc_6xx/usr/local/scratch/$(USER}
    • PYTHONPATH = ~/workspace/local/python
  • Note: See syslocal

sysvmev10

  • Function: Presettings for software development for PPC-GuPs
  • Calling: sysvmev10
  • Note: See sysact

trim-condxml

  • Function: Trim all tags <descriptionGER> and <descriptionEN> in XML conditions files
  • Calling: trim-condxml.py <file> [<files...>]
  • Description: Trim all tags <descriptionGER> and <descriptionEN> in the given XML conditions file (exported from the DB with 'conditions-loader get') so that all newlines are removed, all multiple spaces are reduced to one space, and all leading and trailing spaces are removed. Output filenames are <file>.trimmed. Input files are not modified.

update-dat-version

  • Function: Update version number in <gup>-<eqmod>.dat or <ec>.dat files
  • Calling: update-dat-version [Options] <Files>
  • Help: Call 'update-dat-version'
    See also the detailed description

update-db

  • Function: Update frontend database with device, GuP, equipment model, and version information.
  • Calling: update-db [Options] <Equipment model> [<Version>]
  • Help: Call 'update-db -h' for a short help, call 'update-db -H' for a detailed help
  • Note: The frontend database is usually updated with 'relusrs'.

update-ecm

  • Function: Das Skript durchsucht alle SE-Verzeichnisse unter .../opt/acc/cpu nach den Dateien .dat
  • Calling: update-ecm [<outfile>]
    • outfile: Datei, in die die Ausgabe erfolgen soll. Falls fehlend, erfolgt die Ausgabe nach stdout
  • Output:
    • die Aufrufe von releqms für alle SEs, in deren dat-file keine explizite ECM-Version angegeben ist
    • die Download-Befehle für die entstandenen SR-Files. Die SR-Files müssen auf /common/export/devacc/cpu/<FEC>/ec<#> liegen!
  • Note: Achtung: EQMs, die gegen eine explizite ECM-Version gelinkt sind, werden übersprungen. Für diese SEs wird eine entsprechende Warnung nach stderr geschrieben.

update-eqms

  • Function: Das Skript durchsucht alle SE-Verzeichnisse unterhalb /common/export/devacc/cpu/<FEC> nach dem angegebenen Gerätemodell.
  • Calling: update-eqms <Eq. model> <version>
    • Eq. model: Gerätemodell, für das ein Update der EQM-Version gemacht werden soll
    • version: neue Version (mit Punkten, also z.B. 09.05.01)
  • Outputs:
    • die Aufrufe von releqms für alle betroffenen SEs.
    • die Download-Befehle für die entstandenen SR-Files. Die SR-Files müssen auf /common/export/devacc/cpu/<FEC>/ec<#> liegen!

update-usrs

  • Function:
    • V08: Das Skript durchsucht die dat-Files in allen Gruppenmicro-Verzeichnissen /common/usr/production/vme/cpu/<gup> nach dem angegebenen Gerätemodell. Bei jedem gefundenen wird im Dat-File ein Update auf die angegebenen Version durchgeführt. Es wird ein Skript zum Update erstellt.
    • V09: Das Skript durchsucht alle Gruppenmikro-Verzeichnisse /common/usr/eldk/<gup>/opt/acc/cpu nach dem angegebenen Gerätemodell und erstellt ein Skript zum Update.
  • Calling
    • V08: update-usrs <Eq. model> <version> "log message" [<outfile>]
    • V09: update-usrs <Eq. model> <version> [> <outfile>]
    • Eq. model: Gerätemodell, für das ein Update der USR-Version gemacht werden soll
    • version: neue Version (mit Punkten, also z.B. 08.05.ca)
    • log message (nur V08): Diese wird jeweils in das aktualisierte Dat-File eingetragen. Achtung: Bei mehreren Worten muss diese unbeding mit Anführungszeichen umschlossen sein!
    • outfile: Datei, in das die Ausgabe erfolgen soll. Falls fehlend, erfolgt die Ausgabe nach stdout
  • Output Skript:
    • Die Aufrufe von relusrs für die betroffenen GuPs.
    • Die Download-Befehle für die entstandenen SR-Files (nur V08).

$utiasl/makeMsgSymlinks.sh

  • Function: Create symbolic links to message header files
  • Description: For each file $incmsg/xxxmsg.h that belongs to CSCOFE create a symbolic link $incmsg/xxx-msg.h. The script is mainly necessary for correct generation of EQMs on the acc6 cluster as long as EQM sources are not adapted to new message header filenames.
  • Calling: $utiasl/makeMsgSymlinks.sh
  • Note: When using this script, be sure what you are doing!

vmeconfig

  • Function: Configure vme.cfg to generate ECM, EQMs, MOPS or USRs
  • Calling: vmeconfig
  • Input: vme.cfg (if it exists)
  • Output: vme.cfg
  • Help: The vmeconfig window offers a [Help] button
    See also the detailed description


Helpers

cdcpu

  • Function: Change to a VME or uIOC CPU directory
  • Calling: cdcpu [<uIOC-GuP, VME-GuP or EC> | uioc]
  • Description:
    • cdcpu changes to the VME-GuPs parent directory
    • cdcpu <uIOC-GuP, VME-GuP or EC> changes to a GuP or an EC directory
    • cdcpu uioc changes to the uIOC-GuPs parent directory
  • Note: To be used on server machines like asl720 or asl350 only

cdeqp

  • Function: Change to an equipment model specific directory
  • Calling: cdeqp [<Eq. model> | xml | python [<subdir>] | uioc [<Eq. model>]]
  • Description:
    • cdeqp changes to the equipment model software parent directory
    • cdeqp <Eq. model> changes to an equipment model software directory
    • cdeqp uioc changes to the uIOC equipment model software parent directory
    • cdeqp uioc <Eq. model> changes to an uIOC equipment model software directory
    • cdeqp xml changes to the equipment model XML directory
    • cdeqp python changes to the equipment model python directory
    • cdeqp python <subdir> changes to an equipment model python subdirectory, <subdir> may be devscr, eqmods, or eqmodwrappers
  • Note: To be used on server machines like asl720 or asl350 only

cdlog

  • Function: Change to a Devman logging directory
  • Calling: cdlog [<uIOC-GuP or VME-GuP>]
  • Note: To be used on server machines like asl720 or asl350 only

cdsys

  • Function: Change to a VME or uIOC system directory
  • Calling: cdsys [ecm | mil | devman [<version>] | uioc]
  • Note: To be used on server machines like asl720 or asl350 only

eqpact

  • Function: Presettings for equipment control and client software development and maintenance for the current or the specified release
  • Calling: eqpact [<Release>]
  • Note: Calls eqpaslv01 and eqpvmev10 internally
  • Note: Use this command to set the environment for software development and maintenance for releases already in production.

iso2utf

  • Function: Convert ISO-8859-1 encoded file(s) to UTF-8 encoded file(s)
  • Calling: iso2utf <file(s)>
  • Description: Checks whether a file is binary or already UTF-8 encoded. Then no conversion will take place.
  • Note: ASCII (or US-ASCII) is a subset of UTF-8.

tagexists

  • Function: Ask Subversion if tag exists for specified module. Helper for rel* tools.
  • Calling: tagexists [-eqmod] <Module> <Tag>
  • Note: Should be called only by prepmake[ecm|eqms|mops|usrs] and rel*.py tools but not directly by the user
  • Note: For acc6 cluster, see special note on Tools using Subversion on acc6.


Special Notes

Tools using Subversion on acc6

Tools on acc6 which access the subversion repository (e.g. geneqms, relecm) may have problems with the SVN password request (e.g. via the wallet manager). To avoid problems, configure SVN to pure command line requests.

To do so, add "password-stores =" in file ~/.subversion/config.
### Section for authentication and authorization customizations.
[auth]
### Set store-passwords to 'no' to avoid storing passwords in the
### auth/ area of your config directory.  It defaults to 'yes'.
### Note that this option only prevents saving of *new* passwords;
### it doesn't invalidate existing passwords.  (To do that, remove
### the cache files by hand as described in the Subversion book.)
# store-passwords = no
### Set store-auth-creds to 'no' to avoid storing any subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'.  Note that this option only prevents
### saving of *new* credentials;  it doesn't invalidate existing
### caches.  (To do that, remove the cache files by hand.)
# store-auth-creds = no
password-stores = 

Christoph has released a general solution using Kerberos. Nevertheless, the additional line in ~/.subversion/config is still necessary.
Topic revision: r104 - 05 Mar 2018, LudwigHechler
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback