JLAB EPICS HOME Page
For each epics release, there is a file named .setup in which the locations of each area and the proper pathes are defined. A setup script is used to read the .setup file for one epics release (specified as a parameter of the setup script) and set up the proper pathes and the environment variables. A set of tools have been developed to support the architechture.
Tools Related to Application Area ($LLAPP/$LLAPPIT)
addAppIOC - add an epics application to be loaded on an IOC Usage: addAppIOC app-name app-ver ioc-name dvl | op where app-name - an existing application name app-ver - an existing version number of an application ioc-name - an existing ioc name Example: addAppIOC system 2-4 iocin1 op Description: - add systemV and startup.system softlinks in $OPIOCS/iocin1 - the systemV will point to epicsV/system/2-4 - the startup.system will point to systemV/vxcmd/startup.system.in1
applGetver - get a tagged version of app-name in the area Usage: applGetver app-name version dvl | it where app-name - an application name, ex. fsd, rf, ... version - an application version number(see version standard) Example: applGetver fsd 1-0 it Description: - create a new directory fsd/1-0 under $LLAPPIT - cvs checkout fsd application source with fsd-1-0 tag under the directory - cvs checkout vxcmd source with fsd-1-0 tag under $PROD_DIR_OP/fsd/1-0 - setup epics application development environment
applNewver - create a new version of app-name in the area Usage: applNewver app-name version dvl | it where app-name - an application name, ex. fsd, rf, ... version - an application version number(see version standard) Example: applNewver fsd 1-0 dvl Description: - create a new directory fsd/1-0 under $LLAPP - cvs checkout the most recent source of fsd application under the directory - setup epics application development environment
appRPT - list all the databases and the modules loaded on all the IOCs Usage: appRPT app-name dvl | op where app-name -- an existing application name Example: appRPT rf op Description: - list appV and epicsV on the IOCs - the database names and the module names for the app-name on the IOCs
chgVer - change versions for the application(s) on the IOC(s) Usage: chgVer "app-name" "ioc-name" version dvl | [op] where app-name - an existing application name, ex. fsd, rf, ... ioc-name - an existing ioc name, ex. iocea1, ... version - an application version number(see version standard) Example: chgVer "myapp" "iocnl*" 1-2 Description: - backup current version numbers of myapp and epicsV on the specified iocs - change myappV on the specified iocs to 1-2 Note: - a wildcard * can be used in app-name and ioc-name - both app-name and ioc-name need be specified in the double quotes - the backup file is saved in $EPICS/appSRcebaf/data directory
delApp - delete an epics application tree, vxcmd tree in the development area and remove the module definitions in CVS for an application Usage: delApp app-name where app-name - an existing application name which was created by mkNewapp Example: delApp myoldapp Description: - remove myoldapp module definitions in CVS - delete myoldapp directory under $LLAPP - delete myoldapp vxcmd directory under $PROD_DIR_DVL - remove myoldapp and its vxcmd directory from CVS repository - remove myoldappV and startup.myoldapp softlinks in $DVLIOCS Note: - only the application which was created by mkNewapp can be deleted by delApp
delAppIOC - delete information of an epics application on one IOC Usage: delAppIOC app-name ioc-name dvl | op where app-name - an existing application name ioc-name - an existing ioc name Example: delAppIOC myapp iocin1 op Description: - remove myappV and startup.myoldapp softlinks in $OPIOCS/iocin1 Note: - a log entry will be made in $EPICS/appSRcebaf/log/delAppIOC.log
epicsVRPT - list the current version of each IOCs Usage: epicsVRPT dvl | [op] Example: epicsVRPT Description: IOC Name EPICS Version epicsV Created -------- ------------- -------------- iocctf(mv167) beta8.6 Mar 22 09:03 keesee iocea1(mv167) beta8.6 Feb 22 12:01 sally iocea2(mv167) beta8.6 Feb 22 12:04 sally iocea3(mv167) beta8.6 Feb 22 12:05 sally iocea4(mv167) beta8.6 Feb 22 12:07 sally iocea5(mv167) beta8.6 Feb 22 13:04 hofler iocea6(mv167) beta8.6 Feb 22 12:11 sally iochla(mv167) beta8.6 Mar 15 11:10 bickley iochlb(mv167) beta8.3 Jul 17 1995 epics iochlc(mv167) beta8.6 Feb 22 12:09 higgins . . . . . .
installEpics - install epics system compiled products in the developemnt and/or operational product area(s) Usage: installEpics area opt where area - op | dvl | all opt - mv162 -- only install mv162 objs mv167 -- only install mv167 objs sdr -- only install default.sdrSum file all -- install all of the above Example: installEpics op all Description: - backup current epics product directory in op area - install epics mv162 and mv167 compiled objects in $PROD_DIR_OP/epics - install defaut.sdrSum file in $PROD_DIR_OP/epics/db - a notified e-mail is sent to epics@cebaf.gov
lsVer - list appV for all the specified app-names on the specified IOCs Usage: lsVer "app-name" "ioc-name" where app-name -- an application name or a pattern of application names ioc-name -- an IOC name or a pattern of IOC names Example: lsVer "system" "*nl*" Description: iocnl1 (mv167) beta8.5 Jan 26 13:15 bookwalt ------------------------------------------------------------------------- system 2-2 Feb 18 14:15 epics iocnl1b (mv167) beta8.5 Jan 26 13:23 bookwalt ------------------------------------------------------------------------- system 2-2 Feb 18 14:15 epics iocnl2 (mv167) beta8.5 Jan 26 14:03 bookwalt ------------------------------------------------------------------------- system 2-2 Feb 18 14:15 epics iocnl3 (mv167) beta8.6 Feb 22 11:53 sally ------------------------------------------------------------------------- system 2-3 Feb 20 08:32 bickley iocnl4 (mv167) beta8.5 Jan 26 14:04 bookwalt ------------------------------------------------------------------------- system 2-2 Feb 18 14:15 epics iocnl5 (mv167) beta8.5 Jan 26 14:09 bookwalt ------------------------------------------------------------------------- system 2-2 Feb 18 14:15 epics
mkNewapp - create a new epics application in the development area Usage: mkNewapp app-name [ioc-name] where app-name - an application name, ex. fsd, rf, ... ioc-name - an existing ioc name in $DVLIOCS area Example: mkNewapp mynewapp ioct1 Description: - create a new directory mynewapp/1-0 under $LLAPP - create modules for mynewapp application in CVS - setup epics application development environment for mynewapp - initial import application tree and vxcmd tree to CVS for mynewapp - create mynewappV, startup.mynewapp softlinks in $DVLIOCS/ioct1 NOTE: - startup.mynewapp entry is NOT added in startup.all by mkNewapp - the standard database and C module names are edited in the startup.mynewappt1 Example: for application FSD, FSD.database for standard database name FSD.o for standard C module name
mkNewIOC - create a new IOC boot script area for a specified IOC Usage: mkNewIOC ioc-name ioc-type dvl | op where ioc-name - a new IOC name ioc-type - the new IOC type, ex. mv162 or mv167 Example: mkNewIOC mynewioc mv167 op Description: - create a sub-directory $OPIOCS/mynewioc for its boot scripts - epicsV is created to point to $EPICS
saveVer - save specified app-nameV and epicsV softlinks for all the specified ioc-name Usage: saveVer "app-name" "ioc-name" dvl | op where app-name -- application name pattern in quotes ioc-name -- ioc name pattern in quotes Example: saveVer "*" "iocin1" op Description: - save all the application versions and the epics version currently on iocin1 - wildcard * is supported - version snapshot for the IOCs are saved in $EPICS/appSRcebaf/data/saveVer.yy-mm-dd-hh-mm-ss
vxcmdGetver - get a specified version of vxcmd source for an application Usage: vxcmdGetver app-name version dvl | op where app-name -- an existing application name version -- an existing tagged version (see version standard) Example: vxcmdGetver myapp 2-3 op Description: - prompt to confirm to overwrite vxcmd if it is exits in the area - check if the specified app-name exists in CVS - prompt to continue if there is no file tagged with myapp-2-3 in vxcmd source - put the source in $PROD_DIR_OP/app-name/version/vxcmd
vxcmdNewver - get a copy of the most recent vxcmd source in CVS for a new version of an application Usage: vxcmdNewver app-name version dvl | op where app-name -- an existing application name version -- a number for a new version (see version standard) Example: vxcmdNewver myapp 2-3 op Description: - prompt to confirm to overwrite vxcmd if it is exits in the area - check if the specified app-name exists in CVS - put a new version of the source in $PROD_DIR_OP/app-name/version/vxcmd Note: - it does NOT check if the version exists or not
Application Version Numbering Standards
Application Version Numbering Standard: Major#-Minor#
Makefiles for building sequencers, subroutines and vxWorks tasks are required tomeet the following standards:
E-mail: tang@jlab.org
Phone: (757) 269-7239
FAX: (757) 269-7049