How to update uboone_photon_propagation

Uboone_photon_propagation is a hand-maintained ups product. This means that there is no source repository nor build procedure. Versions of uboone_photon_propagation are stored in the central MicroBooNE ups products area under /grid/fermiapp/products/uboone/uboone_photon_propagation. Updates are made by logging into any of the central login nodes uboonegpvmXX as user uboone and directly editing the content of the ups area. In principle, edits of the ups products area can be arbitrary, but it is frowned on to change existing ups versions. Rather, changes to uboone_photon_propagation should be done by making a new version.

Tarballs of each uboone_photon_propagation version are stored on the ups products server, which tarballs serve as backups as well as being available for distribution and download. The content of uboone_photon_propagation is automatically synced from the central ups area to the MicroBooNE cvmfs repository whenever there is a uboonecode software release.

Making a new version of uboone_photon_propagation in /grid/fermiapp

Log in to uboonegpvmXX as user uboone. You will need a kerberos ticket, and your kerberos principal should be in uboone's .k5login.

ssh -l uboone

Cd to the uboone_photon_propagation ups products directory.

cd /grid/fermiapp/products/uboone/uboone_photon_propagation

Since chnages are usually incremental with respect to the latest version, you should usually start by copying the latest version using cp -r. Just copy the directory that contains the version number, not the .version directory.

cp -r <latest version> <new version>

Cd to the new version directoroy.

cd <new version>

Then make any required changes. Changes can be anything, but usually simply add any new files.

Declare the new version to ups.

ups declare -0 [-c] -z /grid/fermiapp/products/uboone -r uboone_photon_propagation/<new version> -m uboone_photon_propagation.table uboone_photon_propagation <new version>

By way of explanation, here are the meanings of the options and arguments.
  • -0 - Specify null flavored product.
  • -c - Declare as current version (optional).
  • -z - Ups database path.
  • -r - Relative path of product version (with respect to path specified using -z).

The final <new version> is the version that users will type after "setup." This command will create a version directory "<new version>.version" in the uboone_photon_propagation product directory. After this step, the new version is available for use on the uboonegpvmXX nodes.

Sync to cvmfs (in uboone account from uboonegpvmXX node).

Now you can log out from account uboone.

Uploading to scisoft

You should do the steps in this section from your personal account. Go to any scratch directory and make a tarball of the new uboone_photon_propagation version.

cd <scratch>
tar -cjf uboone_photon_propagation-<dot version>-noarch.tar.bz2 -C /grid/fermiapp/products/uboone uboone_photon_propagation/<new version> uboone_photon_propagation/<new version>.version

It is important to follow the above naming convention exactly when making the tarball. Note that the version number embedded in the tarball name should be the "dot version" (underscores replaced by periods, and no initial "v"), e.g. 01.02.00.

It is a good idea to check the contents of the generated tarball.

tar -tf *.bz2

Next, upload the tarball to scisoft using script copyToSciSoft. Again, you will need a kerberos ticket, and you will need to be authorized to log in to

copyToSciSoft *.bz2

If you need to replace an existing tarball, you first need to log in to and delete the existing version from directory /nasroot/SciSoft/packages/uboone_photon_propagation.