Project

General

Profile

Versionfiles » History » Version 1

Marc Mengel, 07/05/2016 12:01 PM
auto-upload

1 1 Marc Mengel
2 1 Marc Mengel
| [[upsv4TOC| !{width:84px;height:23px}images/navtoc.gif(TOC)!  ]] | [[files_intro| !{width:81px;height:23px}images/navprev.gif(PREV)!  ]] | [[chainfiles| !{width:81px;height:23px}images/navnext.gif(NEXT)!  ]] |
3 1 Marc Mengel
4 1 Marc Mengel
5 1 Marc Mengel
|.  !{width:60px;height:60px}images/CDlogo.gif(Fermilab CD logo)!  |\4. Complete Guide and Reference Manual for UPS and UPD|
6 1 Marc Mengel
7 1 Marc Mengel
8 1 Marc Mengel
h3. Chapter Contents
9 1 Marc Mengel
10 1 Marc Mengel
11 1 Marc Mengel
p<>. [[versionfiles#8463|Chapter 29: Version Files]] 
12 1 Marc Mengel
   [[versionfiles#33813|29.1 About Version Files]] 
13 1 Marc Mengel
   [[versionfiles#35092|29.2 Keywords used in Version Files]] 
14 1 Marc Mengel
   [[versionfiles#65132|29.3 Version File Examples]] 
15 1 Marc Mengel
     [[versionfiles#36355|29.3.1 Sample Versions]] 
16 1 Marc Mengel
   [[versionfiles#35235|29.4 Determination of ups Directory and Table File Locations]] 
17 1 Marc Mengel
18 1 Marc Mengel
19 1 Marc Mengel
h1.  %(#8463)&nbsp;% Chapter 29: Version Files
20 1 Marc Mengel
21 1 Marc Mengel
22 1 Marc Mengel
h2.  %(#33813)&nbsp;% 29.1 About Version Files
23 1 Marc Mengel
24 1 Marc Mengel
25 1 Marc Mengel
p<>. %(#64940)&nbsp;% Version files are %{font-weight: bold;color: #000000}UPS% database files that contain information specific to the local installation and declaration of the declared product instances.
26 1 Marc Mengel
27 1 Marc Mengel
p<>. %(#64540)&nbsp;% The information in a version file includes (but is not limited to):
28 1 Marc Mengel
29 1 Marc Mengel
30 1 Marc Mengel
* when the instance was declared
31 1 Marc Mengel
* who declared the instance
32 1 Marc Mengel
* the product root directory of the instance
33 1 Marc Mengel
* the location of the %{font-family: monospace}ups% directory
34 1 Marc Mengel
* the location of the table file for the instance
35 1 Marc Mengel
36 1 Marc Mengel
p<>. %(#64536)&nbsp;% One version file must exist for each version of a product that is declared to the %{font-weight: bold;color: #000000}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 %{font-weight: bold;color: #000000}UPS% when the first instance of a new version of a product is declared to the %{font-weight: bold;color: #000000}UPS% database via the %{font-weight: bold;font-family: monospace}ups declare% command. When a subsequent instance of the same version is declared, %{font-weight: bold;color: #000000}UPS% automatically modifies the existing version file to include information for it. Multiple product instances are therefore often represented in a single version file.
37 1 Marc Mengel
38 1 Marc Mengel
p<>. %(#64515)&nbsp;% The naming convention for version files is the version number followed by %{font-family: monospace}.version% . The version file must reside in the appropriate product-specific directory under the %{font-weight: bold;color: #000000}UPS% database directory, %{font-family: monospace}$PRODUCTS/<product>/<version>.version% 
39 1 Marc Mengel
(e.g., %{font-family: monospace}$PRODUCTS/emacs/v19_34.version% ).
40 1 Marc Mengel
41 1 Marc Mengel
p<>. %(#39658)&nbsp;% The information in version files is stored as described in [[files_intro#35506|28.2 %{font-weight: normal;color: #000000}Keywords: Information Storage Format% ]] . The keywords get set according to the options specified on the %{font-weight: bold;font-family: monospace}ups declare% command line.
42 1 Marc Mengel
43 1 Marc Mengel
44 1 Marc Mengel
h2.  %(#35092)&nbsp;% 29.2 Keywords used in Version Files
45 1 Marc Mengel
46 1 Marc Mengel
47 1 Marc Mengel
p<>. %(#66001)&nbsp;% This is a subset of the list given in section [[files_intro#35517|28.4 %{font-weight: normal;color: #000000}List of Supported Keywords% ]] .
48 1 Marc Mengel
49 1 Marc Mengel
|_. Keyword and Keyword and Default Value (if any) Default Value (if any) |_. Description and Description and Notes (if any) Notes (if any) |
50 1 Marc Mengel
|ARCHIVE_FILE ARCHIVE_FILE |archive file name/location; used by %{font-weight: bold;color: #000000}UPD%  archive file name/location; used by %{font-weight: bold;color: #000000}UPD%  |
51 1 Marc Mengel
|AUTHORIZED_NODES AUTHORIZED_NODES Default: All nodes (*); taken from %{font-weight: bold;color: #000000}UPS% database configuration file Default: All nodes (*); taken from %{font-weight: bold;color: #000000}UPS% database configuration file |authorized nodes authorized nodes |
52 1 Marc Mengel
|COMPILE_DIR COMPILE_DIR |directory in which the compile file resides directory in which the compile file resides |
53 1 Marc Mengel
|COMPILE_FILE COMPILE_FILE |the name of the file containing compiled functions (see [[compile#8463|Chapter 38: %{font-weight: normal;color: #000000}Use of Compile Scripts in Table Files% ]] ) the name of the file containing compiled functions (see [[compile#8463|Chapter 38: %{font-weight: normal;color: #000000}Use of Compile Scripts in Table Files% ]] ) |
54 1 Marc Mengel
|DECLARED DECLARED Default: current date and time Default: current date and time |the date/time that the instance was declared to %{font-weight: bold;color: #000000}UPS% or declared with a chain the date/time that the instance was declared to %{font-weight: bold;color: #000000}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) |
55 1 Marc Mengel
|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) |
56 1 Marc Mengel
|DESCRIPTION DESCRIPTION |product description product description |
57 1 Marc Mengel
|FILE FILE |type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE) type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE) |
58 1 Marc Mengel
|FLAVOR FLAVOR |product instance flavor product instance flavor Note: To easily accommodate flavor-neutral %{font-weight: bold;font-family: monospace}setup% functions in a table file, FLAVOR can take the value ANY, but %{font-weight: normal;color: #000000}only% in a table file. Note: To easily accommodate flavor-neutral %{font-weight: bold;font-family: monospace}setup% functions in a table file, FLAVOR can take the value ANY, but %{font-weight: normal;color: #000000}only% in a table file. |
59 1 Marc Mengel
|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) |
60 1 Marc Mengel
|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) |
61 1 Marc Mengel
|ORIGIN ORIGIN |master source file; see option %{font-weight: bold;font-family: monospace}-D% in [[options#8463|Chapter 25: %{font-weight: normal;color: #000000}Generic Command Option Descriptions% ]]  master source file; see option %{font-weight: bold;font-family: monospace}-D% in [[options#8463|Chapter 25: %{font-weight: normal;color: #000000}Generic Command Option Descriptions% ]]  |
62 1 Marc Mengel
|PRODUCT PRODUCT |product name product name |
63 1 Marc Mengel
|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) |
64 1 Marc Mengel
|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 [[matching#37834|27.2.3 %{font-weight: normal;color: #000000}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 [[matching#37834|27.2.3 %{font-weight: normal;color: #000000}Qualifiers: Use in Instance Matching% ]] ) |
65 1 Marc Mengel
|STATISTICS STATISTICS |flag to record statistics for specified products flag to record statistics for specified products See section [[gen_admin#86666|12.8.3 %{font-weight: normal;color: #000000}Collecting Statistics on Product Usage% ]] for usage information. See section [[gen_admin#86666|12.8.3 %{font-weight: normal;color: #000000}Collecting Statistics on Product Usage% ]] for usage information. |
66 1 Marc Mengel
|TABLE_DIR TABLE_DIR Default: search path (see section [[versionfiles#35235|29.4 %{font-weight: normal;color: #000000}Determination of ups Directory and Table File Locations% ]] ) Default: search path (see section [[versionfiles#35235|29.4 %{font-weight: normal;color: #000000}Determination of ups Directory and Table File Locations% ]] ) |location of table file location of table file |
67 1 Marc Mengel
|TABLE_FILE TABLE_FILE |name of table file (relative to TABLE_DIR) name of table file (relative to TABLE_DIR) |
68 1 Marc Mengel
|UPS_DB_VERSION UPS_DB_VERSION | %{font-weight: bold;color: #000000}UPS% database version  %{font-weight: bold;color: #000000}UPS% database version |
69 1 Marc Mengel
|UPS_DIR UPS_DIR Default: %{font-family: monospace}${UPS_PROD_DIR}/ups% if directory exists there Default: %{font-family: monospace}${UPS_PROD_DIR}/ups% if directory exists there |location of %{font-family: monospace}ups% directory (if not absolute path, then taken relative to PROD_DIR, if specified) location of %{font-family: monospace}ups% directory (if not absolute path, then taken relative to PROD_DIR, if specified) |
70 1 Marc Mengel
|VERSION VERSION |product version product version |
71 1 Marc Mengel
72 1 Marc Mengel
73 1 Marc Mengel
h2.  %(#65132)&nbsp;% 29.3 Version File Examples
74 1 Marc Mengel
75 1 Marc Mengel
76 1 Marc Mengel
h3.  %(#36355)&nbsp;% 29.3.1 Sample Versions File
77 1 Marc Mengel
78 1 Marc Mengel
79 1 Marc Mengel
p<>. %(#39511)&nbsp;% Let's declare a new version via the command:
80 1 Marc Mengel
81 1 Marc Mengel
82 1 Marc Mengel
<pre>
83 1 Marc Mengel
% ups declare -r /afs/fnal.gov/products/UNIX/exmh/v1_6_6 \
84 1 Marc Mengel
-m  exmh.table exmh v1_6_6
85 1 Marc Mengel
</pre>
86 1 Marc Mengel
87 1 Marc Mengel
88 1 Marc Mengel
p<>. %(#64579)&nbsp;% This example assumes the %{font-family: monospace}ups% directory resides in its default location (directly under product root directory), the table file resides in a default location (see section [[versionfiles#35235|29.4 %{font-weight: normal;color: #000000}Determination of ups Directory and Table File Locations% ]] ) and we are using $PRODUCTS to determine the database ( %{font-weight: bold;font-family: monospace}-U <upsDir>% , %{font-weight: bold;font-family: monospace}-M <tableFileDir>% and %{font-weight: bold;font-family: monospace}-z <databaseList>% are unspecified).
89 1 Marc Mengel
90 1 Marc Mengel
p<>. %(#39554)&nbsp;% Given a machine of flavor Linux64bit+2, this creates the following version file, named %{font-family: monospace}v1_6_6.version% :
91 1 Marc Mengel
92 1 Marc Mengel
93 1 Marc Mengel
<pre>
94 1 Marc Mengel
FILE = version
95 1 Marc Mengel
PRODUCT = exmh
96 1 Marc Mengel
VERSION = v1_6_6
97 1 Marc Mengel
98 1 Marc Mengel
#*************************************************
99 1 Marc Mengel
#
100 1 Marc Mengel
FLAVOR = Linux64bit+2
101 1 Marc Mengel
QUALIFIERS = ""
102 1 Marc Mengel
  DECLARED = 2013-03-30 21.06.59 GMT
103 1 Marc Mengel
  DECLARER = stolz
104 1 Marc Mengel
  MODIFIED = 2013-03-30 21.06.59 GMT
105 1 Marc Mengel
  MODIFIER = stolz
106 1 Marc Mengel
  PROD_DIR = /afs/fnal.gov/products/UNIX/exmh/v1_6_6
107 1 Marc Mengel
  UPS_DIR = ups
108 1 Marc Mengel
  TABLE_FILE = exmh.table
109 1 Marc Mengel
</pre>
110 1 Marc Mengel
111 1 Marc Mengel
112 1 Marc Mengel
p<>. Sample version file for foo v2_0
113 1 Marc Mengel
114 1 Marc Mengel
p<>. %(#35128)&nbsp;% Version files can contain information for multiple instances of a single version of a product. Here is an example for a fictional product %{font-weight: bold;color: #000000}foo% v2_0. The file below would have been created and modified by the series of commands:
115 1 Marc Mengel
116 1 Marc Mengel
117 1 Marc Mengel
<pre>
118 1 Marc Mengel
% ups declare foo v2_0 -m v2_0.table -f Linux -q superoptimize \
119 1 Marc Mengel
-r /usr/prod/Linux/foo/v2_0s -U ups
120 1 Marc Mengel
% ups declare foo v2_0 -m v2_0.table -f OSF1 \
121 1 Marc Mengel
-r /usr/prod/OSF1/foo/v2_0 -U ups
122 1 Marc Mengel
</pre>
123 1 Marc Mengel
124 1 Marc Mengel
125 1 Marc Mengel
<pre>
126 1 Marc Mengel
FILE = version
127 1 Marc Mengel
PRODUCT = foo
128 1 Marc Mengel
VERSION = v2_0
129 1 Marc Mengel
130 1 Marc Mengel
#*************************************************
131 1 Marc Mengel
#
132 1 Marc Mengel
FLAVOR = Linux
133 1 Marc Mengel
QUALIFIERS = "superoptimize"
134 1 Marc Mengel
  DECLARER = aheavey
135 1 Marc Mengel
  DECLARED = 2013-04-15 16.37.58 GMT
136 1 Marc Mengel
  MODIFIER = aheavey
137 1 Marc Mengel
  MODIFIED = 2013-04-15 16.37.58 GMT
138 1 Marc Mengel
  PROD_DIR = /usr/prod/Linux/foo/v2_0s
139 1 Marc Mengel
  UPS_DIR = ups
140 1 Marc Mengel
  TABLE_FILE = v2_0.table
141 1 Marc Mengel
142 1 Marc Mengel
 #----------------------------------------
143 1 Marc Mengel
 #
144 1 Marc Mengel
 FLAVOR = OSF1
145 1 Marc Mengel
 QUALIFIERS = ""
146 1 Marc Mengel
  DECLARER = aheavey
147 1 Marc Mengel
  DECLARED = 2013-04-15 16.39.58 GMT
148 1 Marc Mengel
  MODIFIER = aheavey
149 1 Marc Mengel
  MODIFIED = 2013-04-15 16.39.58 GMT
150 1 Marc Mengel
   PROD_DIR = /usr/prod/OSF1/foo/v2_0
151 1 Marc Mengel
   UPS_DIR  = ups
152 1 Marc Mengel
   TABLE_FILE = v2_0.table
153 1 Marc Mengel
</pre>
154 1 Marc Mengel
155 1 Marc Mengel
156 1 Marc Mengel
h2.  %(#35235)&nbsp;% 29.4 Determination of ups Directory and Table File Locations
157 1 Marc Mengel
158 1 Marc Mengel
159 1 Marc Mengel
p<>. %(#64964)&nbsp;% 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 %{font-weight: normal;color: #000000}relative% path, it is taken as relative to PRODUCT_DIR_PREFIX/PRODUCT_DIR.
160 1 Marc Mengel
161 1 Marc Mengel
p<>. %(#64959)&nbsp;% The table file name and directory can be specified in several ways, depending on how their corresponding keywords have been defined. %{font-weight: bold;color: #000000}UPS% uses the following algorithm to determine the table file location:
162 1 Marc Mengel
163 1 Marc Mengel
p<>. %(#64822)&nbsp;% If TABLE_FILE is specified as an absolute path, then:
164 1 Marc Mengel
165 1 Marc Mengel
166 1 Marc Mengel
* The location is TABLE_FILE.
167 1 Marc Mengel
168 1 Marc Mengel
p<>. %(#64824)&nbsp;% If TABLE_FILE is specified as a relative path, or simply as the filename, then:
169 1 Marc Mengel
170 1 Marc Mengel
171 1 Marc Mengel
* If TABLE_DIR is specified, the location is TABLE_DIR/TABLE_FILE.
172 1 Marc Mengel
* 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., %{font-family: monospace}$PRODUCTS/<product>% ), and second UPS_DIR.
173 1 Marc Mengel
* If neither TABLE_DIR nor UPS_DIR is specified at all, %{font-weight: bold;color: #000000}UPS% will search for TABLE_FILE under the product subdirectory in the database only.
174 1 Marc Mengel
175 1 Marc Mengel
p<>. %(#34803)&nbsp;% 
176 1 Marc Mengel
177 1 Marc Mengel
| [[upsv4TOC| !{width:84px;height:23px}images/navtoc.gif(TOC)!  ]] | [[files_intro| !{width:81px;height:23px}images/navprev.gif(PREV)!  ]] | [[chainfiles| !{width:81px;height:23px}images/navnext.gif(NEXT)!  ]] |
178 1 Marc Mengel
179 1 Marc Mengel
180 1 Marc Mengel
p<>. **Last revised on May 2014** 
181 1 Marc Mengel
182 1 Marc Mengel
| [[upsv4TOC| !{width:84px;height:23px}images/navtoc.gif(TOC)!  ]] | [[files_intro| !{width:81px;height:23px}images/navprev.gif(PREV)!  ]] | [[chainfiles| !{width:81px;height:23px}images/navnext.gif(NEXT)!  ]] |
183 1 Marc Mengel
184 1 Marc Mengel
185 1 Marc Mengel
|.  !{width:60px;height:60px}images/CDlogo.gif(Fermilab CD logo)!  |\4. Complete Guide and Reference Manual for UPS and UPD|
186 1 Marc Mengel
187 1 Marc Mengel
188 1 Marc Mengel
h3. Chapter Contents
189 1 Marc Mengel
190 1 Marc Mengel
191 1 Marc Mengel
p<>. [[versionfiles#8463|Chapter 29: Version Files]] 
192 1 Marc Mengel
   [[versionfiles#33813|29.1 About Version Files]] 
193 1 Marc Mengel
   [[versionfiles#35092|29.2 Keywords used in Version Files]] 
194 1 Marc Mengel
   [[versionfiles#65132|29.3 Version File Examples]] 
195 1 Marc Mengel
     [[versionfiles#36355|29.3.1 Sample Versions]] 
196 1 Marc Mengel
   [[versionfiles#35235|29.4 Determination of ups Directory and Table File Locations]] 
197 1 Marc Mengel
198 1 Marc Mengel
199 1 Marc Mengel
h1.  %(#8463)&nbsp;% Chapter 29: Version Files
200 1 Marc Mengel
201 1 Marc Mengel
202 1 Marc Mengel
h2.  %(#33813)&nbsp;% 29.1 About Version Files
203 1 Marc Mengel
204 1 Marc Mengel
205 1 Marc Mengel
p<>. %(#64940)&nbsp;% Version files are %{font-weight: bold;color: #000000}UPS% database files that contain information specific to the local installation and declaration of the declared product instances.
206 1 Marc Mengel
207 1 Marc Mengel
p<>. %(#64540)&nbsp;% The information in a version file includes (but is not limited to):
208 1 Marc Mengel
209 1 Marc Mengel
210 1 Marc Mengel
* when the instance was declared
211 1 Marc Mengel
* who declared the instance
212 1 Marc Mengel
* the product root directory of the instance
213 1 Marc Mengel
* the location of the %{font-family: monospace}ups% directory
214 1 Marc Mengel
* the location of the table file for the instance
215 1 Marc Mengel
216 1 Marc Mengel
p<>. %(#64536)&nbsp;% One version file must exist for each version of a product that is declared to the %{font-weight: bold;color: #000000}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 %{font-weight: bold;color: #000000}UPS% when the first instance of a new version of a product is declared to the %{font-weight: bold;color: #000000}UPS% database via the %{font-weight: bold;font-family: monospace}ups declare% command. When a subsequent instance of the same version is declared, %{font-weight: bold;color: #000000}UPS% automatically modifies the existing version file to include information for it. Multiple product instances are therefore often represented in a single version file.
217 1 Marc Mengel
218 1 Marc Mengel
p<>. %(#64515)&nbsp;% The naming convention for version files is the version number followed by %{font-family: monospace}.version% . The version file must reside in the appropriate product-specific directory under the %{font-weight: bold;color: #000000}UPS% database directory, %{font-family: monospace}$PRODUCTS/<product>/<version>.version% 
219 1 Marc Mengel
(e.g., %{font-family: monospace}$PRODUCTS/emacs/v19_34.version% ).
220 1 Marc Mengel
221 1 Marc Mengel
p<>. %(#39658)&nbsp;% The information in version files is stored as described in [[files_intro#35506|28.2 %{font-weight: normal;color: #000000}Keywords: Information Storage Format% ]] . The keywords get set according to the options specified on the %{font-weight: bold;font-family: monospace}ups declare% command line.
222 1 Marc Mengel
223 1 Marc Mengel
224 1 Marc Mengel
h2.  %(#35092)&nbsp;% 29.2 Keywords used in Version Files
225 1 Marc Mengel
226 1 Marc Mengel
227 1 Marc Mengel
p<>. %(#66001)&nbsp;% This is a subset of the list given in section [[files_intro#35517|28.4 %{font-weight: normal;color: #000000}List of Supported Keywords% ]] .
228 1 Marc Mengel
229 1 Marc Mengel
|_. Keyword and Keyword and Default Value (if any) Default Value (if any) |_. Description and Description and Notes (if any) Notes (if any) |
230 1 Marc Mengel
|ARCHIVE_FILE ARCHIVE_FILE |archive file name/location; used by %{font-weight: bold;color: #000000}UPD%  archive file name/location; used by %{font-weight: bold;color: #000000}UPD%  |
231 1 Marc Mengel
|AUTHORIZED_NODES AUTHORIZED_NODES Default: All nodes (*); taken from %{font-weight: bold;color: #000000}UPS% database configuration file Default: All nodes (*); taken from %{font-weight: bold;color: #000000}UPS% database configuration file |authorized nodes authorized nodes |
232 1 Marc Mengel
|COMPILE_DIR COMPILE_DIR |directory in which the compile file resides directory in which the compile file resides |
233 1 Marc Mengel
|COMPILE_FILE COMPILE_FILE |the name of the file containing compiled functions (see [[compile#8463|Chapter 38: %{font-weight: normal;color: #000000}Use of Compile Scripts in Table Files% ]] ) the name of the file containing compiled functions (see [[compile#8463|Chapter 38: %{font-weight: normal;color: #000000}Use of Compile Scripts in Table Files% ]] ) |
234 1 Marc Mengel
|DECLARED DECLARED Default: current date and time Default: current date and time |the date/time that the instance was declared to %{font-weight: bold;color: #000000}UPS% or declared with a chain the date/time that the instance was declared to %{font-weight: bold;color: #000000}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) |
235 1 Marc Mengel
|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) |
236 1 Marc Mengel
|DESCRIPTION DESCRIPTION |product description product description |
237 1 Marc Mengel
|FILE FILE |type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE) type of file (possible values: DBCONFIG, UPDCONFIG, CHAIN, VERSION, TABLE) |
238 1 Marc Mengel
|FLAVOR FLAVOR |product instance flavor product instance flavor Note: To easily accommodate flavor-neutral %{font-weight: bold;font-family: monospace}setup% functions in a table file, FLAVOR can take the value ANY, but %{font-weight: normal;color: #000000}only% in a table file. Note: To easily accommodate flavor-neutral %{font-weight: bold;font-family: monospace}setup% functions in a table file, FLAVOR can take the value ANY, but %{font-weight: normal;color: #000000}only% in a table file. |
239 1 Marc Mengel
|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) |
240 1 Marc Mengel
|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) |
241 1 Marc Mengel
|ORIGIN ORIGIN |master source file; see option %{font-weight: bold;font-family: monospace}-D% in [[options#8463|Chapter 25: %{font-weight: normal;color: #000000}Generic Command Option Descriptions% ]]  master source file; see option %{font-weight: bold;font-family: monospace}-D% in [[options#8463|Chapter 25: %{font-weight: normal;color: #000000}Generic Command Option Descriptions% ]]  |
242 1 Marc Mengel
|PRODUCT PRODUCT |product name product name |
243 1 Marc Mengel
|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) |
244 1 Marc Mengel
|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 [[matching#37834|27.2.3 %{font-weight: normal;color: #000000}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 [[matching#37834|27.2.3 %{font-weight: normal;color: #000000}Qualifiers: Use in Instance Matching% ]] ) |
245 1 Marc Mengel
|STATISTICS STATISTICS |flag to record statistics for specified products flag to record statistics for specified products See section [[gen_admin#86666|12.8.3 %{font-weight: normal;color: #000000}Collecting Statistics on Product Usage% ]] for usage information. See section [[gen_admin#86666|12.8.3 %{font-weight: normal;color: #000000}Collecting Statistics on Product Usage% ]] for usage information. |
246 1 Marc Mengel
|TABLE_DIR TABLE_DIR Default: search path (see section [[versionfiles#35235|29.4 %{font-weight: normal;color: #000000}Determination of ups Directory and Table File Locations% ]] ) Default: search path (see section [[versionfiles#35235|29.4 %{font-weight: normal;color: #000000}Determination of ups Directory and Table File Locations% ]] ) |location of table file location of table file |
247 1 Marc Mengel
|TABLE_FILE TABLE_FILE |name of table file (relative to TABLE_DIR) name of table file (relative to TABLE_DIR) |
248 1 Marc Mengel
|UPS_DB_VERSION UPS_DB_VERSION | %{font-weight: bold;color: #000000}UPS% database version  %{font-weight: bold;color: #000000}UPS% database version |
249 1 Marc Mengel
|UPS_DIR UPS_DIR Default: %{font-family: monospace}${UPS_PROD_DIR}/ups% if directory exists there Default: %{font-family: monospace}${UPS_PROD_DIR}/ups% if directory exists there |location of %{font-family: monospace}ups% directory (if not absolute path, then taken relative to PROD_DIR, if specified) location of %{font-family: monospace}ups% directory (if not absolute path, then taken relative to PROD_DIR, if specified) |
250 1 Marc Mengel
|VERSION VERSION |product version product version |
251 1 Marc Mengel
252 1 Marc Mengel
253 1 Marc Mengel
h2.  %(#65132)&nbsp;% 29.3 Version File Examples
254 1 Marc Mengel
255 1 Marc Mengel
256 1 Marc Mengel
h3.  %(#36355)&nbsp;% 29.3.1 Sample Versions File
257 1 Marc Mengel
258 1 Marc Mengel
259 1 Marc Mengel
p<>. %(#39511)&nbsp;% Let's declare a new version via the command:
260 1 Marc Mengel
261 1 Marc Mengel
262 1 Marc Mengel
<pre>
263 1 Marc Mengel
% ups declare -r /afs/fnal.gov/products/UNIX/exmh/v1_6_6 \
264 1 Marc Mengel
-m  exmh.table exmh v1_6_6
265 1 Marc Mengel
</pre>
266 1 Marc Mengel
267 1 Marc Mengel
268 1 Marc Mengel
p<>. %(#64579)&nbsp;% This example assumes the %{font-family: monospace}ups% directory resides in its default location (directly under product root directory), the table file resides in a default location (see section [[versionfiles#35235|29.4 %{font-weight: normal;color: #000000}Determination of ups Directory and Table File Locations% ]] ) and we are using $PRODUCTS to determine the database ( %{font-weight: bold;font-family: monospace}-U <upsDir>% , %{font-weight: bold;font-family: monospace}-M <tableFileDir>% and %{font-weight: bold;font-family: monospace}-z <databaseList>% are unspecified).
269 1 Marc Mengel
270 1 Marc Mengel
p<>. %(#39554)&nbsp;% Given a machine of flavor Linux64bit+2, this creates the following version file, named %{font-family: monospace}v1_6_6.version% :
271 1 Marc Mengel
272 1 Marc Mengel
273 1 Marc Mengel
<pre>
274 1 Marc Mengel
FILE = version
275 1 Marc Mengel
PRODUCT = exmh
276 1 Marc Mengel
VERSION = v1_6_6
277 1 Marc Mengel
278 1 Marc Mengel
#*************************************************
279 1 Marc Mengel
#
280 1 Marc Mengel
FLAVOR = Linux64bit+2
281 1 Marc Mengel
QUALIFIERS = ""
282 1 Marc Mengel
  DECLARED = 2013-03-30 21.06.59 GMT
283 1 Marc Mengel
  DECLARER = stolz
284 1 Marc Mengel
  MODIFIED = 2013-03-30 21.06.59 GMT
285 1 Marc Mengel
  MODIFIER = stolz
286 1 Marc Mengel
  PROD_DIR = /afs/fnal.gov/products/UNIX/exmh/v1_6_6
287 1 Marc Mengel
  UPS_DIR = ups
288 1 Marc Mengel
  TABLE_FILE = exmh.table
289 1 Marc Mengel
</pre>
290 1 Marc Mengel
291 1 Marc Mengel
292 1 Marc Mengel
p<>. Sample version file for foo v2_0
293 1 Marc Mengel
294 1 Marc Mengel
p<>. %(#35128)&nbsp;% Version files can contain information for multiple instances of a single version of a product. Here is an example for a fictional product %{font-weight: bold;color: #000000}foo% v2_0. The file below would have been created and modified by the series of commands:
295 1 Marc Mengel
296 1 Marc Mengel
297 1 Marc Mengel
<pre>
298 1 Marc Mengel
% ups declare foo v2_0 -m v2_0.table -f Linux -q superoptimize \
299 1 Marc Mengel
-r /usr/prod/Linux/foo/v2_0s -U ups
300 1 Marc Mengel
% ups declare foo v2_0 -m v2_0.table -f OSF1 \
301 1 Marc Mengel
-r /usr/prod/OSF1/foo/v2_0 -U ups
302 1 Marc Mengel
</pre>
303 1 Marc Mengel
304 1 Marc Mengel
305 1 Marc Mengel
<pre>
306 1 Marc Mengel
FILE = version
307 1 Marc Mengel
PRODUCT = foo
308 1 Marc Mengel
VERSION = v2_0
309 1 Marc Mengel
310 1 Marc Mengel
#*************************************************
311 1 Marc Mengel
#
312 1 Marc Mengel
FLAVOR = Linux
313 1 Marc Mengel
QUALIFIERS = "superoptimize"
314 1 Marc Mengel
  DECLARER = aheavey
315 1 Marc Mengel
  DECLARED = 2013-04-15 16.37.58 GMT
316 1 Marc Mengel
  MODIFIER = aheavey
317 1 Marc Mengel
  MODIFIED = 2013-04-15 16.37.58 GMT
318 1 Marc Mengel
  PROD_DIR = /usr/prod/Linux/foo/v2_0s
319 1 Marc Mengel
  UPS_DIR = ups
320 1 Marc Mengel
  TABLE_FILE = v2_0.table
321 1 Marc Mengel
322 1 Marc Mengel
 #----------------------------------------
323 1 Marc Mengel
 #
324 1 Marc Mengel
 FLAVOR = OSF1
325 1 Marc Mengel
 QUALIFIERS = ""
326 1 Marc Mengel
  DECLARER = aheavey
327 1 Marc Mengel
  DECLARED = 2013-04-15 16.39.58 GMT
328 1 Marc Mengel
  MODIFIER = aheavey
329 1 Marc Mengel
  MODIFIED = 2013-04-15 16.39.58 GMT
330 1 Marc Mengel
   PROD_DIR = /usr/prod/OSF1/foo/v2_0
331 1 Marc Mengel
   UPS_DIR  = ups
332 1 Marc Mengel
   TABLE_FILE = v2_0.table
333 1 Marc Mengel
</pre>
334 1 Marc Mengel
335 1 Marc Mengel
336 1 Marc Mengel
h2.  %(#35235)&nbsp;% 29.4 Determination of ups Directory and Table File Locations
337 1 Marc Mengel
338 1 Marc Mengel
339 1 Marc Mengel
p<>. %(#64964)&nbsp;% 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 %{font-weight: normal;color: #000000}relative% path, it is taken as relative to PRODUCT_DIR_PREFIX/PRODUCT_DIR.
340 1 Marc Mengel
341 1 Marc Mengel
p<>. %(#64959)&nbsp;% The table file name and directory can be specified in several ways, depending on how their corresponding keywords have been defined. %{font-weight: bold;color: #000000}UPS% uses the following algorithm to determine the table file location:
342 1 Marc Mengel
343 1 Marc Mengel
p<>. %(#64822)&nbsp;% If TABLE_FILE is specified as an absolute path, then:
344 1 Marc Mengel
345 1 Marc Mengel
346 1 Marc Mengel
* The location is TABLE_FILE.
347 1 Marc Mengel
348 1 Marc Mengel
p<>. %(#64824)&nbsp;% If TABLE_FILE is specified as a relative path, or simply as the filename, then:
349 1 Marc Mengel
350 1 Marc Mengel
351 1 Marc Mengel
* If TABLE_DIR is specified, the location is TABLE_DIR/TABLE_FILE.
352 1 Marc Mengel
* 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., %{font-family: monospace}$PRODUCTS/<product>% ), and second UPS_DIR.
353 1 Marc Mengel
* If neither TABLE_DIR nor UPS_DIR is specified at all, %{font-weight: bold;color: #000000}UPS% will search for TABLE_FILE under the product subdirectory in the database only.
354 1 Marc Mengel
355 1 Marc Mengel
p<>. %(#34803)&nbsp;% 
356 1 Marc Mengel
357 1 Marc Mengel
| [[upsv4TOC| !{width:84px;height:23px}images/navtoc.gif(TOC)!  ]] | [[files_intro| !{width:81px;height:23px}images/navprev.gif(PREV)!  ]] | [[chainfiles| !{width:81px;height:23px}images/navnext.gif(NEXT)!  ]] |
358 1 Marc Mengel
359 1 Marc Mengel
360 1 Marc Mengel
p<>. **Last revised on May 2014** 
361 1 Marc Mengel