Versions Compared

Key

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

...

and be sure to get the 'current' versions without explictly knowing them.

 

Package Life Cycle Qualifiers 

Each package is given one of the following 'life cycle' qualifiers:

  • OPERATIONAL (O)
  • DEPRECATED (D)
  • EXPERIMENTAL (E)

Based on these qualifiers, the the continuous integration build system can perform validation checks, can set tags for eups packages distributed through the distrib server. Furthermore, the webpages can be filtered for specific qualifiers - hence, help navigating in the thousands of packages we now have in the system.

Declaration of Life Cycle Qualifiers

Default qualifiers:

    •    Packages defined in the tags directory (of a given product) are identified as OPERATIONAL.

    •    Packages defined in the trunk or branches directory (of the given product) are identified as EXPERIMENTAL.

These defaults can be overruled for packages defined in the tags directory as follows:

    •    OPERATIONAL packages can explicitly be declared in the eups.cfg file defined at product level.

    •    EXPERIMENTAL packages can be declared by appending an 'E' to the package version (e.g. eeups-1.4.3+4E). Note that this is not necessary for trunk and branch packages.  

In case OPERATIONAL packages are explicitly declared in the eups.cfg file, all the packages that are not declared OPERATIONAL or EXPERIMENTAL are considered DEPRECATED. In case no OPERATIONAL packages are declared in the eups.cfg file or in case no eups.cfg file is specified, all the packages that are not EXPERIMENTAL are considered OPERATIONAL.

OPERATIONAL packages can be declared in the eups.cfg file by the following syntax:

No Format
OPERATIONAL = 1.2.3+10; 3.2.1+0; [5.2+3,6.3+2]; [6.5+0,6.6+3); [8.8+1,*), (*,1.2+1]  

Actually, for the ranges, a suitable ordering of the versions is adopted. Angular brackets indicate that boundary versions included, round brackets that boundary versions are excluded.

The * in [8.8+1,*) means that any version above (and including) 8.8+1 is included or, accordingly in (*,1.2+1] that any version below (and including) 1.2+1 is included.

Different versions or ranges of versions specified per qualifier are separated by a semi-colon (;).

Validation Checks

The validation checks will be based on the following rules:

    •    a package with qualifier O must not depend on E. Otherwise, the package will receive status=ERROR

    •    a package with qualifier O should not depend on D. Otherwise, the package will receive status=WARNING.

The result of these checks will be reflected in the package state and the package states are presented in the EEUPS Dashboard web pages.

Life Cycle Qualifiers as EUPS Tags

Furthermore, the qualifiers are reflected on the EUPS Distribution Server in form of according EUPS tags. It means that by eups distrib list -t 'OPERATIONAL' the operational versions can be listed.  A dedicated package distribution service should serve exclusively only OPERATIONAL package versions to the DES user community.

Not yet implemented.

EEUPS Dashboard Views

The EEUPS Dashboard (see http://desbuild.cosmology.illinois.edu/eeups/webservice/dashboard ) views can be filtered for these qualifiers (OPERATIONAL, EXPERIMENTAL, DEPRECATED, ALL). By default, the filter will be set to OPERATIONAL.

Not yet implemented.

 

 

EUPS User Utilities

User utilities support users in interacting with the EUPS system. Typical examples are utilities for creating new packages or for propagating version updates of a give package all the way up through the dependency tree.

...