Project

General

Profile

TOC PREV NEXT
Fermilab CD logo Complete Guide and Reference Manual for UPS and UPD

Chapter Contents

Chapter 29: Version Files
   29.1 About Version Files
   29.2 Keywords used in Version Files
   29.3 Version File Examples
     29.3.1 Sample Versions
   29.4 Determination of ups Directory and Table File Locations

  Chapter 29: Version Files

  29.1 About Version Files

  Version files are UPS database files that contain information specific to the local installation and declaration of the declared product instances.

  The information in a version file includes (but is not limited to):

  • when the instance was declared
  • who declared the instance
  • the product root directory of the instance
  • the location of the ups directory
  • the location of the table file for the instance

  One version file must exist for each version of a product that is declared to the UPS database. For a particular version of a product, there is often a separate product instance installed for each flavor; and sometimes more than one per flavor if qualifiers are used. A new version file is created automatically by UPS when the first instance of a new version of a product is declared to the UPS database via the ups declare command. When a subsequent instance of the same version is declared, UPS automatically modifies the existing version file to include information for it. Multiple product instances are therefore often represented in a single version file.

  The naming convention for version files is the version number followed by .version . The version file must reside in the appropriate product-specific directory under the UPS database directory, $PRODUCTS/<product>/<version>.version
(e.g., $PRODUCTS/emacs/v19_34.version ).

  The information in version files is stored as described in 28.2 Keywords: Information Storage Format . The keywords get set according to the options specified on the ups declare command line.

  29.2 Keywords used in Version Files

  This is a subset of the list given in section 28.4 List of Supported Keywords .

Keyword and Keyword and Default Value (if any) Default Value (if any) Description and Description and Notes (if any) Notes (if any)
ARCHIVE_FILE ARCHIVE_FILE archive file name/location; used by UPD archive file name/location; used by UPD
AUTHORIZED_NODES AUTHORIZED_NODES Default: All nodes (); taken from UPS database configuration file Default: All nodes (); taken from UPS database configuration file authorized nodes authorized nodes
COMPILE_DIR COMPILE_DIR directory in which the compile file resides directory in which the compile file resides
COMPILE_FILE COMPILE_FILE the name of the file containing compiled functions (see Chapter 38: Use of Compile Scripts in Table Files ) the name of the file containing compiled functions (see Chapter 38: Use of Compile Scripts in Table Files )
DECLARED DECLARED Default: current date and time Default: current date and time the date/time that the instance was declared to UPS or declared with a chain the date/time that the instance was declared to UPS or declared with a chain Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations)
DECLARER DECLARER Default: current user Default: current user userid of user that performed the declaration userid of user that performed the declaration Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations)
DESCRIPTION DESCRIPTION product description product description
FILE FILE type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE) type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE)
FLAVOR FLAVOR product instance flavor product instance flavor Note: To easily accommodate flavor-neutral setup functions in a table file, FLAVOR can take the value ANY, but only in a table file. Note: To easily accommodate flavor-neutral setup functions in a table file, FLAVOR can take the value ANY, but only in a table file.
MODIFIED MODIFIED Default: Current date/time Default: Current date/time last time the associated instance was changed last time the associated instance was changed Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations)
MODIFIER MODIFIER Default: Current user Default: Current user userid of user that modified the instance userid of user that modified the instance Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations)
ORIGIN ORIGIN master source file; see option -D in Chapter 25: Generic Command Option Descriptions master source file; see option -D in Chapter 25: Generic Command Option Descriptions
PRODUCT PRODUCT product name product name
PROD_DIR PROD_DIR product root directory (usually defined relative to PROD_DIR_PREFIX, below) product root directory (usually defined relative to PROD_DIR_PREFIX, below)
QUALIFIERS QUALIFIERS additional instance specification information often used to indicate compilation options used by developer additional instance specification information often used to indicate compilation options used by developer Notes: appears immediately after a FLAVOR in these files, and is coupled with it to complete the instance identification (see 27.2.3 Qualifiers: Use in Instance Matching ) Notes: appears immediately after a FLAVOR in these files, and is coupled with it to complete the instance identification (see 27.2.3 Qualifiers: Use in Instance Matching )
STATISTICS STATISTICS flag to record statistics for specified products flag to record statistics for specified products See section 12.8.3 Collecting Statistics on Product Usage for usage information. See section 12.8.3 Collecting Statistics on Product Usage for usage information.
TABLE_DIR TABLE_DIR Default: search path (see section 29.4 Determination of ups Directory and Table File Locations ) Default: search path (see section 29.4 Determination of ups Directory and Table File Locations ) location of table file location of table file
TABLE_FILE TABLE_FILE name of table file (relative to TABLE_DIR) name of table file (relative to TABLE_DIR)
UPS_DB_VERSION UPS_DB_VERSION UPS database version UPS database version
UPS_DIR UPS_DIR Default: ${UPS_PROD_DIR}/ups if directory exists there Default: ${UPS_PROD_DIR}/ups if directory exists there location of ups directory (if not absolute path, then taken relative to PROD_DIR, if specified) location of ups directory (if not absolute path, then taken relative to PROD_DIR, if specified)
VERSION VERSION product version product version

  29.3 Version File Examples

  29.3.1 Sample Versions File

  Let's declare a new version via the command:

% ups declare -r /afs/fnal.gov/products/UNIX/exmh/v1_6_6 \
-m  exmh.table exmh v1_6_6

  This example assumes the ups directory resides in its default location (directly under product root directory), the table file resides in a default location (see section 29.4 Determination of ups Directory and Table File Locations ) and we are using $PRODUCTS to determine the database ( -U <upsDir> , -M <tableFileDir> and -z <databaseList> are unspecified).

  Given a machine of flavor Linux64bit+2, this creates the following version file, named v1_6_6.version :

FILE = version
PRODUCT = exmh
VERSION = v1_6_6

#*************************************************
#
FLAVOR = Linux64bit+2
QUALIFIERS = "" 
  DECLARED = 2013-03-30 21.06.59 GMT
  DECLARER = stolz
  MODIFIED = 2013-03-30 21.06.59 GMT
  MODIFIER = stolz
  PROD_DIR = /afs/fnal.gov/products/UNIX/exmh/v1_6_6
  UPS_DIR = ups
  TABLE_FILE = exmh.table

Sample version file for foo v2_0

  Version files can contain information for multiple instances of a single version of a product. Here is an example for a fictional product foo v2_0. The file below would have been created and modified by the series of commands:

% ups declare foo v2_0 -m v2_0.table -f Linux -q superoptimize \
-r /usr/prod/Linux/foo/v2_0s -U ups
% ups declare foo v2_0 -m v2_0.table -f OSF1 \
-r /usr/prod/OSF1/foo/v2_0 -U ups
FILE = version
PRODUCT = foo
VERSION = v2_0

#*************************************************
#
FLAVOR = Linux
QUALIFIERS = "superoptimize" 
  DECLARER = aheavey
  DECLARED = 2013-04-15 16.37.58 GMT
  MODIFIER = aheavey
  MODIFIED = 2013-04-15 16.37.58 GMT
  PROD_DIR = /usr/prod/Linux/foo/v2_0s
  UPS_DIR = ups
  TABLE_FILE = v2_0.table

 #----------------------------------------
 #
 FLAVOR = OSF1
 QUALIFIERS = "" 
  DECLARER = aheavey
  DECLARED = 2013-04-15 16.39.58 GMT
  MODIFIER = aheavey
  MODIFIED = 2013-04-15 16.39.58 GMT
   PROD_DIR = /usr/prod/OSF1/foo/v2_0
   UPS_DIR  = ups
   TABLE_FILE = v2_0.table

  29.4 Determination of ups Directory and Table File Locations

  In a version file, the TABLE_DIR and UPS_DIR keywords can each be specified as an absolute or a relative path. When either is specified as a relative path, it is taken as relative to PRODUCT_DIR_PREFIX/PRODUCT_DIR.

  The table file name and directory can be specified in several ways, depending on how their corresponding keywords have been defined. UPS uses the following algorithm to determine the table file location:

  If TABLE_FILE is specified as an absolute path, then:

  • The location is TABLE_FILE.

  If TABLE_FILE is specified as a relative path, or simply as the filename, then:

  • If TABLE_DIR is specified, the location is TABLE_DIR/TABLE_FILE.
  • If TABLE_DIR is not specified, and UPS_DIR is specified, then two locations are searched: first the product subdirectory in the database (e.g., $PRODUCTS/<product> ), and second UPS_DIR.
  • If neither TABLE_DIR nor UPS_DIR is specified at all, UPS will search for TABLE_FILE under the product subdirectory in the database only.

 

TOC PREV NEXT

Last revised on May 2014

TOC PREV NEXT
Fermilab CD logo Complete Guide and Reference Manual for UPS and UPD

Chapter Contents

Chapter 29: Version Files
   29.1 About Version Files
   29.2 Keywords used in Version Files
   29.3 Version File Examples
     29.3.1 Sample Versions
   29.4 Determination of ups Directory and Table File Locations

  Chapter 29: Version Files

  29.1 About Version Files

  Version files are UPS database files that contain information specific to the local installation and declaration of the declared product instances.

  The information in a version file includes (but is not limited to):

  • when the instance was declared
  • who declared the instance
  • the product root directory of the instance
  • the location of the ups directory
  • the location of the table file for the instance

  One version file must exist for each version of a product that is declared to the UPS database. For a particular version of a product, there is often a separate product instance installed for each flavor; and sometimes more than one per flavor if qualifiers are used. A new version file is created automatically by UPS when the first instance of a new version of a product is declared to the UPS database via the ups declare command. When a subsequent instance of the same version is declared, UPS automatically modifies the existing version file to include information for it. Multiple product instances are therefore often represented in a single version file.

  The naming convention for version files is the version number followed by .version . The version file must reside in the appropriate product-specific directory under the UPS database directory, $PRODUCTS/<product>/<version>.version
(e.g., $PRODUCTS/emacs/v19_34.version ).

  The information in version files is stored as described in 28.2 Keywords: Information Storage Format . The keywords get set according to the options specified on the ups declare command line.

  29.2 Keywords used in Version Files

  This is a subset of the list given in section 28.4 List of Supported Keywords .

Keyword and Keyword and Default Value (if any) Default Value (if any) Description and Description and Notes (if any) Notes (if any)
ARCHIVE_FILE ARCHIVE_FILE archive file name/location; used by UPD archive file name/location; used by UPD
AUTHORIZED_NODES AUTHORIZED_NODES Default: All nodes (); taken from UPS database configuration file Default: All nodes (); taken from UPS database configuration file authorized nodes authorized nodes
COMPILE_DIR COMPILE_DIR directory in which the compile file resides directory in which the compile file resides
COMPILE_FILE COMPILE_FILE the name of the file containing compiled functions (see Chapter 38: Use of Compile Scripts in Table Files ) the name of the file containing compiled functions (see Chapter 38: Use of Compile Scripts in Table Files )
DECLARED DECLARED Default: current date and time Default: current date and time the date/time that the instance was declared to UPS or declared with a chain the date/time that the instance was declared to UPS or declared with a chain Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations)
DECLARER DECLARER Default: current user Default: current user userid of user that performed the declaration userid of user that performed the declaration Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration (e.g., for subsequent chain declarations)
DESCRIPTION DESCRIPTION product description product description
FILE FILE type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE) type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE)
FLAVOR FLAVOR product instance flavor product instance flavor Note: To easily accommodate flavor-neutral setup functions in a table file, FLAVOR can take the value ANY, but only in a table file. Note: To easily accommodate flavor-neutral setup functions in a table file, FLAVOR can take the value ANY, but only in a table file.
MODIFIED MODIFIED Default: Current date/time Default: Current date/time last time the associated instance was changed last time the associated instance was changed Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations)
MODIFIER MODIFIER Default: Current user Default: Current user userid of user that modified the instance userid of user that modified the instance Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations) Note: often has multiple values, one for each declaration/modification (e.g., for subsequent chain declarations)
ORIGIN ORIGIN master source file; see option -D in Chapter 25: Generic Command Option Descriptions master source file; see option -D in Chapter 25: Generic Command Option Descriptions
PRODUCT PRODUCT product name product name
PROD_DIR PROD_DIR product root directory (usually defined relative to PROD_DIR_PREFIX, below) product root directory (usually defined relative to PROD_DIR_PREFIX, below)
QUALIFIERS QUALIFIERS additional instance specification information often used to indicate compilation options used by developer additional instance specification information often used to indicate compilation options used by developer Notes: appears immediately after a FLAVOR in these files, and is coupled with it to complete the instance identification (see 27.2.3 Qualifiers: Use in Instance Matching ) Notes: appears immediately after a FLAVOR in these files, and is coupled with it to complete the instance identification (see 27.2.3 Qualifiers: Use in Instance Matching )
STATISTICS STATISTICS flag to record statistics for specified products flag to record statistics for specified products See section 12.8.3 Collecting Statistics on Product Usage for usage information. See section 12.8.3 Collecting Statistics on Product Usage for usage information.
TABLE_DIR TABLE_DIR Default: search path (see section 29.4 Determination of ups Directory and Table File Locations ) Default: search path (see section 29.4 Determination of ups Directory and Table File Locations ) location of table file location of table file
TABLE_FILE TABLE_FILE name of table file (relative to TABLE_DIR) name of table file (relative to TABLE_DIR)
UPS_DB_VERSION UPS_DB_VERSION UPS database version UPS database version
UPS_DIR UPS_DIR Default: ${UPS_PROD_DIR}/ups if directory exists there Default: ${UPS_PROD_DIR}/ups if directory exists there location of ups directory (if not absolute path, then taken relative to PROD_DIR, if specified) location of ups directory (if not absolute path, then taken relative to PROD_DIR, if specified)
VERSION VERSION product version product version

  29.3 Version File Examples

  29.3.1 Sample Versions File

  Let's declare a new version via the command:

% ups declare -r /afs/fnal.gov/products/UNIX/exmh/v1_6_6 \
-m  exmh.table exmh v1_6_6

  This example assumes the ups directory resides in its default location (directly under product root directory), the table file resides in a default location (see section 29.4 Determination of ups Directory and Table File Locations ) and we are using $PRODUCTS to determine the database ( -U <upsDir> , -M <tableFileDir> and -z <databaseList> are unspecified).

  Given a machine of flavor Linux64bit+2, this creates the following version file, named v1_6_6.version :

FILE = version
PRODUCT = exmh
VERSION = v1_6_6

#*************************************************
#
FLAVOR = Linux64bit+2
QUALIFIERS = "" 
  DECLARED = 2013-03-30 21.06.59 GMT
  DECLARER = stolz
  MODIFIED = 2013-03-30 21.06.59 GMT
  MODIFIER = stolz
  PROD_DIR = /afs/fnal.gov/products/UNIX/exmh/v1_6_6
  UPS_DIR = ups
  TABLE_FILE = exmh.table

Sample version file for foo v2_0

  Version files can contain information for multiple instances of a single version of a product. Here is an example for a fictional product foo v2_0. The file below would have been created and modified by the series of commands:

% ups declare foo v2_0 -m v2_0.table -f Linux -q superoptimize \
-r /usr/prod/Linux/foo/v2_0s -U ups
% ups declare foo v2_0 -m v2_0.table -f OSF1 \
-r /usr/prod/OSF1/foo/v2_0 -U ups
FILE = version
PRODUCT = foo
VERSION = v2_0

#*************************************************
#
FLAVOR = Linux
QUALIFIERS = "superoptimize" 
  DECLARER = aheavey
  DECLARED = 2013-04-15 16.37.58 GMT
  MODIFIER = aheavey
  MODIFIED = 2013-04-15 16.37.58 GMT
  PROD_DIR = /usr/prod/Linux/foo/v2_0s
  UPS_DIR = ups
  TABLE_FILE = v2_0.table

 #----------------------------------------
 #
 FLAVOR = OSF1
 QUALIFIERS = "" 
  DECLARER = aheavey
  DECLARED = 2013-04-15 16.39.58 GMT
  MODIFIER = aheavey
  MODIFIED = 2013-04-15 16.39.58 GMT
   PROD_DIR = /usr/prod/OSF1/foo/v2_0
   UPS_DIR  = ups
   TABLE_FILE = v2_0.table

  29.4 Determination of ups Directory and Table File Locations

  In a version file, the TABLE_DIR and UPS_DIR keywords can each be specified as an absolute or a relative path. When either is specified as a relative path, it is taken as relative to PRODUCT_DIR_PREFIX/PRODUCT_DIR.

  The table file name and directory can be specified in several ways, depending on how their corresponding keywords have been defined. UPS uses the following algorithm to determine the table file location:

  If TABLE_FILE is specified as an absolute path, then:

  • The location is TABLE_FILE.

  If TABLE_FILE is specified as a relative path, or simply as the filename, then:

  • If TABLE_DIR is specified, the location is TABLE_DIR/TABLE_FILE.
  • If TABLE_DIR is not specified, and UPS_DIR is specified, then two locations are searched: first the product subdirectory in the database (e.g., $PRODUCTS/<product> ), and second UPS_DIR.
  • If neither TABLE_DIR nor UPS_DIR is specified at all, UPS will search for TABLE_FILE under the product subdirectory in the database only.

 

TOC PREV NEXT

Last revised on May 2014