File = updconfig
group:
product = ANY
flavor= IRIX+6
flavor = IRIX+5
qualifiers = ANY
options = ANY
common:
UPS_THIS_DB = "/usr/products/irix6/upsdb"
UNWIND_PROD_DIR = "/usr/products/irix6/${UPS_PROD_NAME}/${UPS_PROD_VERSION}/${UPS_PROD_FLAVOR}"
UPS_PROD_DIR = "${UNWIND_PROD_DIR}"
UNWIND_UPS_DIR = "${UNWIND_PROD_DIR}/ups"
UPS_UPS_DIR = "ups"
UNWIND_TABLE_DIR = "${UPS_THIS_DB}/${UPS_PROD_NAME}"
UPS_TABLE_DIR = "${UNWIND_TABLE_DIR}"
UPS_TABLE_FILE = "${UPS_PROD_VERSION}.table"
end:
group:
product = ANY
flavor = ANY
qualifiers = ANY
options = ANY
common:
UPS_THIS_DB = "/afs/.fnal.gov/products/upsdb"
UNWIND_PROD_DIR = "/afs/.fnal.gov/products/${UPS_PROD_NAME}/${UPS_PROD_VERSION}/${UPS_PROD_FLAVOR}"
UPS_PROD_DIR = "/afs/fnal/products/${UPS_PROD_NAME}/${UPS_PROD_VERSION}/${UPS_PROD_FLAVOR}"
UNWIND_UPS_DIR = "${UNWIND_PROD_DIR}/ups"
UPS_UPS_DIR = "ups"
UNWIND_TABLE_DIR = "${UPS_THIS_DB}/${UPS_PROD_NAME}"
UPS_TABLE_DIR = "${UNWIND_TABLE_DIR}"
UPS_TABLE_FILE = "${UPS_PROD_VERSION}.table"
Action = predeclare
Execute( "/usr/local/bin/upd_volrelease ${UNWIND_PROD_DIR}",NO_UPS_ENV)
Execute( "/usr/local/bin/upd_volrelease ${UNWIND_UPS_DIR}",NO_UPS_ENV)
Execute( "/usr/local/bin/upd_volrelease ${UNWIND_TABLE_DIR}",NO_UPS_ENV)
Action = postdeclare
Execute( "/usr/local/bin/upd_volrelease ${UPS_THIS_DB}",NO_UPS_ENV)
end:
This example has two groups in it; the first case handles specificly products flavored IRIX+5 or IRIX+6 , the second case handles everything else. You can make the cases specific based on product name or names, version name or names, qualifier name or names, and options set with -O on the upd command line.
Several variables have an UNWIND_ prefix variant; This specifies the real path to actually put the files in, rather than the string to use when declaring the product. So for example, you could use:
UNWIND_PROD_DIR = /cdf/products/${UPS_PROD_NAME}/${UPS_PROD_VERSION}
prod_dir = \$BFDIST/${UPS_PROD_NAME}/${UPS_PROD_VERSION}
The actions are:
For more complicated configurations than this can handle, actual perl callout editing is still avaliable.
With in a group:...end:, listing multiple products and/or flavors means the or of the list: e.g.
group:
product=fred
product=joe
flavor=IRIX+5
flavor=IRIX+6
qualifiers=""
qualifiers="mips1"
...
end:
means product fred or joe, flavor IRIX+5 or IRIX+6, qualifiers none or
mips1. If left out, product, flavor, and qualifiers
default to ANY, which matches everything.