Relocatable/Unified/Overlayable UPS

Back around ups version 4.5, we added several changes to allow the new "unified" layout which
allows easy tar-based distribution, to wit:

  • version files can now be directories with version file fragments
    • on read ups will read the files in a directory, or a file, for xxx.version in the $UPS_THIS_DB/product directory
    • on write ups will write either a file or a directory of files, depending on the setting of VERSION_SUBDIR in the $UPS_THIS_DB/upsfiles/dbconfig
    • directories/files in the $UPS_THIS_DB/product directory that are not xxx.version or xyz.table or xyz.chain are ignored.
This set of features allows you to
  • set $PROD_DIR_PREFIX to $UPS_THIS_DB and have everything for a product in the same directory This is now officially known as the "unified" layout, but has been called overlayable or relocatable ups.
  • tar up a version/flavor of a product and overlay that on another ups area with the same layout.
    • specifically copy product/va_b_c/flavor_quals and product/va_b_c.version/flavor_quals
    • this will add the ups declaration for the version and the files for the version