Archive for the ‘UPS/UPD’ Category

A student wanted the latest version of ROOT added to the ups database. The software was already installed in /cdf/code/cdfsoft/root, but didn’t show up with ups list -a root. To fix this, I became the owner of all our cdf software and ran the following command:

ups declare root v_5_22_00j -r root/v5_22_00j-GCC_3_4_6/Linux+2.6 -f Linux+2 -z /cdf/code/cdfsoft/products/upsdb -m root.table -q GCC_3_4_6

It took a few times to get this correct. If you make a mistake you can run the undeclare command, or even easier, just delete the file in /cdf/code/cdfsoft/products/upsdb/root/v_5_22_00j and then run the declare command again.

All the software is installed in /cdf/code/cdfsoft/products. Then look in root/v5_22_00j-GCC_3_4_6 to find that version. The important bit for ups is the table file, which in this case is in /cdf/code/cdfsoft/products/root/v5_22_00j-GCC_3_4_6/Linux+2.6/ups/root.table.

[/ups]$ more root.table 
File    = table
Product = root

Group:

  Flavor     = ANY
  Qualifiers = "GCC_3_4_6"

  Flavor     = ANY
  Qualifiers = "GCC_3_4_6:debug"

  Flavor     = ANY
  Qualifiers = "64bit:GCC_3_4_6"

  Flavor     = ANY
  Qualifiers = "64bit:GCC_3_4_6:debug"

Common:
  Action = setup
    setupEnv()
    prodDir()
    envSet(ROOTSYS,${UPS_PROD_DIR});
    envPrepend(LD_LIBRARY_PATH,${ROOTSYS}/lib)
    envPrepend(PYTHONPATH,${ROOTSYS}/lib)
    pathPrepend(PATH,${ROOTSYS}/bin)
End:

This is the file that lists the flavor and qualifiers that must be used when declaring the version.