Building in Docker

From DUNE
Revision as of 18:32, 30 December 2014 by BrettViren (talk | contribs)
Jump to navigation Jump to search

Overview

The Software Builds can be done with and in Docker containers using lbne-docker . See the README file there for details.

Note: This method is under development.

Build Space

This is a bit tongue-in-cheek but describes the problem in general terms.

The problem being solved here is how to describe and populate a build space. Here, a build space is a (binary) scalar field across a discrete, multi-dimensional space with the following axes:

platforms 
A platform is specified by its distribution name (Debian, Ubuntu, Fedora, Scientific, Mac OS X) its release version string and a set of additional OS-level packages.
releases 
A release is specified by a git tag, hash or other ref on lbne-build .
environment 
The environment> includes any peculiarities about the environment in which the build is run which is independent from the above. For example, the need to deal with network proxies.

The binary scalar value of this space is then either "true" if its combination is supported for "false" if not. This scalar field (and the defined extent of the space) changes over time as new platforms are created, new software releases are made, new build environments are added and their combined support is added or removed.