This repository can be used in two ways:
- To install on the actual CVMFS system, use the
run-cvmfs-install.sh
script - To use the docker mockup CVMFS system, use the Dockerfile
When updating the dependencies build on GitHub, please make sure that both the build date in setup.sh
is updated. When a new official build is ready, tag it with the build name (the same as the build directory)
This repository provides the dependencies for the Katydid software installations on the CVMFS system used on the PNNL HEP cluster.
It's based on the cvmfs-dependencies-common image (https://hub.docker.com/project8/cvmfs-dependencies-common).
Project 8 software is installed in the /cvmfs/hep.pnnl.gov/project8
directory. From there, installed dependencies go in the dependencies-katydid
subdirectory. For any images based on this image, their software should go in their own directories to avoid issues with directory names that change as builds are updated. For example:
/cvmfs/hep.pnnl.gov/project8
|
+- dependencies-katydid
| |
| +- build-[DATE]
| |
| +- bin, lib, include, . . .
|
+- dependencies-morpho
|
+- katydid
|
+- morpho
. . .
This repo can either be used to build a Docker image using the included Dockerfile, or installed directly in the actual CVMFS system by running the run-cvmfs-install.sh
script. Instructions for both builds are below.
Cleanup of the source directory is performed by the cleanup.sh script, which is run from the Dockerfile so that it is not automatically run when doing an install on the actual CVMFS system. It can, of course, be run manually on that system if so desired.
- download_pkg.sh: Downloads dependency source packages and unpacks.
- install.sh: Builds dependencies from source.
- run-cvmfs-install.sh: Builds and installs everything given a proper environment (either the real CVMFS environment or the one provided by the Docker base image)
- setup.sh: Sets up the necessary environment variables both for installing software and using the software.
- Clone the
cmvfs-dependencies-katydid
repo - Make sure the dependency-katydid build version in
setup.sh
(variableP8DEPKATYDIDBUILD
) is set correctly - Execute
run-cvmfs-install.sh
- Clone the
cmvfs-dependencies-katydid
repo - Make sure the dependency-katydid build version in
setup.sh
(variableP8DEPKATYDIDBUILD
) is set correctly - Execute
docker build -t project8/cvmfs-dependencies-katydid .
Your situation: There's a new version of a dependency (e.g. boost) out that we need to use for one of our packages. Here's how to update this image with the new dependency information and rebuild the container.
- Update the URL with the new dependency version in dependency_urls.txt
- Update the corresponding file and directory names in download_pkg.sh
- Update the build date in setup.sh (environment variable
P8DEPKATYDIDBUILD
) - Test the build locally
- If the build works, push the changes to the CVMFS-dependencies repo
- On the Docker Hub page for the
project8/cvmfs-dependencies-katydid
image, go to Build Settings - Update the date in the Docker Tag Name column of the second container build
- Trigger a rebuild of both containers (
latest
andbuild-[date]
) - If the rebuild works, and the rebuild of anything that depends on this image works, notify the DIRAC team of the changes that need to be pushed to CVMFS, providing them with the appropriate tag name
- Proceed with updating any downstream images that use the
cvmfs-dependencies-katydid
image