Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • bin: Here we place the scripts and binaries that get executed. This could be added to PATH environment variable
  • Changelog: A file that could be used to register changes of the module. We make use of JIRA and "git log" for this, but this could be used as an additional place for this information.
  • config: Directory for configurations.
    • config/CDB: Directory for module's CDB configurations. Could be used with ACS_CDB environment variable to configure a CDB for testing the module
      • config/CDB/schemas: The XML Schema (XSD) files are placed in this directory
  • doc: Directory to place documentation
  • idl: Directory for IDL (.idl, .midl) files, XML error definitions, XML Schema binding file, etc.
  • include: Directory for C++ headers, inline and template files
  • lib: Directory for C++ libraries and Java JAR files. Could be used in LD_LIBRARY_PATH (C++ libraries) and in CLASSPATH (Jar files) to make use of the module's libraries and jar files
    • lib/ACSComponents: Directory for Java JAR files associated with components
    • lib/endorsed: Directory for endorsed JAR files (No longer relevant since Java 11 disabled the use  of endorsed JARs)
    • lib/python: Directory for Python code
      • lib/python/site-packages: Python site-packages are placed here. Could be used with PYTHONPATH environment variable to make use of the Python code and cached code (.pyc)
  • LOGS: Directory where logs can be placed
  • man: Man documentation in Unix/Linux style could be placed here. See more at https://linux.die.net/man/ page.
    • man/man<n>: Look at the link above
    • man/manl: Look at the link above
    • man/mann: Look at the link above
  • object: Directory for temporary files such as C++ compiled objects, code-generated source files, etc.
  • rtai: Directory for Real Time Application Interface (RTAI) and other compiled kernel modules to be installed
  • src: Directory for source files
    • src/Makefile: The main file to define the targets to be compiled, installed and deployed by the moduled
  • test: Directory that contains all the necessary files for testing. Source code, Makefile, TAT configuration files, reference files, etc.

ACSROOT

The ACSROOT directory is considered an "installation area". When you compile a module and call "make install", ACSROOT is the default destination area for ACS modules' installation.

Code Block
languagebash
acs almamgr:~ 31443 > getTemplateForDirectory ACSROOT acs.root
Code Block
collapsetrue
acs almamgr:~ 31445 > tree acs.root/
acs.root/
├── ALARMS
│   └── HELP
├── app-defaults
├── bin
├── bitmaps
├── CDT
├── config
│   └── CDB
│       └── schemas
├── ERRORS
│   └── HELP
├── idl
├── include
├── lib
│   ├── ACScomponents
│   ├── endorsed
│   └── python
│       └── site-packages
├── LOGS
├── man
│   ├── man1
│   ├── man2
│   ├── man3
│   ├── man4
│   ├── man5
│   ├── man6
│   ├── man7
│   ├── man8
│   ├── manl
│   └── mann
├── rtai
├── sounds
├── templates
└── vw
    ├── bin
    │   ├── MC68000
    │   ├── MC68040
    │   └── PPC604
    ├── CIT
    ├── idl
    ├── include
    ├── lib
    │   ├── ACScomponents
    │   ├── endorsed
    │   ├── MC68000
    │   ├── MC68040
    │   ├── PPC604
    │   └── python
    │       └── site-packages
    └── man
        ├── man1
        ├── man2
        ├── man3
        ├── man4
        ├── man5
        ├── man6
        ├── man7
        ├── man8
        ├── manl
        └── mann

60 directories, 0 files

The directory structure is very similar to MODROOT, bin, config, idl, include, lib, LOGS, man and rtai are equivalent for the MODROOT definitions, although only the targets selected for installation are finally placed there. Other directories are as follows:

  • ALARMS and ALARMS/HELP: Alarm definition documentation (Not used)
  • app-defaults: Not used.
  • bitmaps: Not used.
  • CDT: Not used.
  • ERRORS and ERRORS/HELP: Error definition documentation (Not used)
  • sounds: Not used
  • templates: Templates, such as the ones used for getTemplateForDirectory command are placed here
  • vw: VxWorks. Not used in most projects. Used at APEX observatory.

ACSDATA

ACSDATA is a place associated with runtime configurations and output of data.

Code Block
languagebash
getTemplateForDirectory ACSDATA acs.data

...