======== Glossary ======== Here we define some of the terms used in the following text. .. glossary:: :sorted: modules See :term:`module`. module A *module* is a software package, an `EPICS `_ support module or an `EPICS `_ base. Each module has a :term:`modulename` and a :term:`versionname`. Usually modules that have the same :term:`modulename` share the same source tree but differ in their source :term:`versions`. A working copy of the source code of the module is placed in a :term:`support directory`. and is usually managed by a version control system. The module is compiled in this directory, the binary files are installed within the directory structure. versions See :term:`version`. version A :term:`module` has several *versions*. A *version* is a state of the :term:`module` source directory that can be recreated anywhere either by copying a source directory or be checking out a version from the version control system with parameters that identify the version. modulenames See :term:`modulename`. modulename Each :term:`module` has a unique name, the *modulename*. Note that each :term:`version` of the same :term:`module` has the same *modulename*. moduleversions See :term:`version`. moduleversion See :term:`version`. versionnames See :term:`versionname`. versionname In sumo, each :term:`version` of a :term:`module` has a *versionname* that is unique for that :term:`module`. The :term:`modulename` together with the *versionname* identify a specific version of the :term:`module`. modulespecifications See :term:`modulespec`. modulespecs See :term:`modulespec`. modulespec This is a string that specifies a :term:`module` and its :term:`version`. Module specifications are an important concept in sumo, see also :doc:`Module Specifications `. versionspec This is a string that specifies the :term:`version` of a :term:`module`. See :doc:`Module Specifications ` for further details. support directory This is the directory where the compiled versions of :term:`modules` are stored. sources See :term:`source`. source Each :term:`version` of a :term:`module` has a *source*. The *source* defines how we can obtain a copy of the sources for the :term:`version`. Sumo supports paths and some version control systems in the *source* definitions. dependencies This means the set of every :term:`dependency` of a :term:`module`. dependency A :term:`version` of a :term:`module` may depend on specific :term:`versions` of other modules. This means that the :term:`module` cannot be built and without all these other :term:`modules`. A *dependency* is the :term:`modulename` and :term:`versionname` of one of these other modules. aliases See :term:`alias`. alias For each :term:`module` in the :term:`dependency` list there may be an *alias* definition. When a RELEASE file is created for a :term:`module`, the variable names that are put into the file are the same as each :term:`modulename` of each :term:`dependency` except where an *alias* exists. In this case, the value of the *alias* is taken as variable name. tag This is a string that may by part of the :term:`source` of a :term:`module`. A *tag* helps to identify the :term:`version` of the :term:`module` within the version control system. In sumo, a *versionname* is always the same as the *tag* if the *tag* exists. states See :term:`state`. state This is a string describing the maturity of a :term:`build`. A *state* may be one of the following strings: stable This set of modules is known to work. testing This set of modules was built successfully. unstable This set of modules is not yet built successfully. disabled This set of modules should no longer be used by applications or newer builds. It has a defect or cannot be recreated due to changes in the dependency database. builds See :term:`build`. build A *build* is a set of modules where all modules are compiled. Information on all build is kept in the build database (:term:`BUILDS.DB`). Each *build* has a unique :term:`buildtag`. buildtags See :term:`buildtag`. buildtag A *buildtag* is a name that identifies each :term:`build`. Information for each :term:`build` can be found in the build database (:term:`BUILDS.DB`) by looking up the *buildtag*. regular expression A regular expression is a way to specify a pattern in order to match strings. For further information on regular expressions see `re - Regular expressions `_. For an introduction to regular expressions see `Regular Expression HOWTO `_. scanfile This is the file created by :doc:`"sumo-scan all"`. This `JSON `_ file can be converted to a :term:`DEPS.DB` file with by :doc:`"sumo db convert"`. dependency database See :term:`DEPS.DB`. scan database See :term:`SCANDB`. build database See :term:`BUILDS.DB`. DEPS.DB The dependency database. For further details see :ref:`reference-sumo-db-The-dependency-database`. BUILDS.DB The build database. For further details see :ref:`reference-sumo-The-build-database`. SCANDB This scan database is also called :term:`SCANDB`. It is a file in `JSON `_ format which contains information on what :term:`version` of a :term:`module` was used which what :term:`version` of a :term:`dependency`. This file is not essential in order to use sumo. It can be used when you start using sumo in order to see what :term:`versions` of :term:`modules` are probably compatible with each other. If you start creating :term:`builds`, this :term:`version` information will also be gathered from your successful :term:`builds` and at some point you will no longer need the scan database. commandline options See :term:`commandline option`. commandline option This means an argument to a program that has the form "-[letter]" or "--[word]". Some commandline options may require that an argument immediately follows the option. commands See :term:`command`. command This is an argument to a program that doesn't start with a dash "-". In all programs here, you can give only *one* command while there may be several :term:`commandline options`. Commands may be immediately followed by command arguments.