Giter Site home page Giter Site logo

cvmfs-dependencies-katydid's Introduction

Project 8 CVMFS Katydid Dependencies

This repository can be used in two ways:

  1. To install on the actual CVMFS system, use the run-cvmfs-install.sh script
  2. 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)

Information

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.

Scripts

  • 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.

Installing on the actual CVMFS system

  1. Clone the cmvfs-dependencies-katydid repo
  2. Make sure the dependency-katydid build version in setup.sh (variable P8DEPKATYDIDBUILD) is set correctly
  3. Execute run-cvmfs-install.sh

Using the Docker mockup of the CVMFS system

  1. Clone the cmvfs-dependencies-katydid repo
  2. Make sure the dependency-katydid build version in setup.sh (variable P8DEPKATYDIDBUILD) is set correctly
  3. Execute docker build -t project8/cvmfs-dependencies-katydid .

Updating a dependency

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.

  1. Update the URL with the new dependency version in dependency_urls.txt
  2. Update the corresponding file and directory names in download_pkg.sh
  3. Update the build date in setup.sh (environment variable P8DEPKATYDIDBUILD)
  4. Test the build locally
  5. If the build works, push the changes to the CVMFS-dependencies repo
  6. On the Docker Hub page for the project8/cvmfs-dependencies-katydid image, go to Build Settings
  7. Update the date in the Docker Tag Name column of the second container build
  8. Trigger a rebuild of both containers (latest and build-[date])
  9. 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
  10. Proceed with updating any downstream images that use the cvmfs-dependencies-katydid image

cvmfs-dependencies-katydid's People

Contributors

nsoblath avatar

Watchers

 avatar  avatar Ben LaRoque avatar James Cloos avatar Joseph Formaggio avatar  avatar Benjamin Monreal avatar Sebastian Böser avatar Brendan Ashworth avatar Dan Alberto Rosa De Jesús avatar arina b. telles avatar  avatar Luiz de Viveiros avatar Karsten Heeger avatar  avatar Penny Slocum avatar Vincent Balbarin avatar Pranava Teja Surukuchi avatar Lucie Tvrznikova avatar  avatar  avatar Jo avatar  avatar Laura Gladstone avatar Andre Young avatar  avatar  avatar Walter C. Pettus avatar Christophorus avatar huyanxy avatar  avatar  avatar  avatar Luis Saldana avatar Razu Mohiuddin avatar Mathieu Guigue avatar  avatar James Nikkel avatar  avatar Alex Golub avatar  avatar

cvmfs-dependencies-katydid's Issues

Fix PYTHONPATH in setup.sh

Line 24 is:

export PYTHONPATH=${P8DEPKATYDIDBASEDIR}/lib/root:${P8DEPBASEDIR}/lib:${P8DEPBASEDIR}:${PYTHONPATH}

Brent and I believe it should be:

export PYTHONPATH=${P8DEPKATYDIDBASEDIR}/lib/root:${P8DEPKATYDIDBASEDIR}/lib:${P8DEPKATYDIDBASEDIR}:${PYTHONPATH}

He is testing it in his sandbox build on the cluster and will let me know if he runs into trouble.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.