diskimage-builder/elements/source-repositories
Derek Higgins f527b024b9 Install git with source-repositories element.
Git isn't a dependency of this element, but is a dependency of pbr
if you are doing pip install on a git cloned directoy, because this
looks to be a fairly common pattern it makes sense to have git on the
target image.

Change-Id: I49ee3fa4eac493b9dfa379a674ab9b3390cfc89a
2013-06-20 14:47:08 +01:00
..
extra-data.d Adding element to get source for elements. 2013-06-14 18:46:59 +01:00
install.d Install git with source-repositories element. 2013-06-20 14:47:08 +01:00
README.md Adding element to get source for elements. 2013-06-14 18:46:59 +01:00

With this element other elements can register source code repositories by placing their details in the file source-repository-*. An example of an element "custom-element" that wants to retrieve the ironic source from git and pbr from a tarball would be

File : elements/custom-element/source-repository-ironic

#<name> <type> <destination> <location> [<ref>]
# <ref> defaults to master if not specified
ironic git /usr/local/ironic git://github.com/openstack/ironic.git

File : elements/custom-element/source-repository-pbr

pbr tar /usr/local/pbr http://tarballs.openstack.org/pbr/pbr-master.tar.gz

diskimage-builder will then retrieve the sources specified and place them at the directory <destination>

A number of environment variables can be set by the process calling diskimage-builder which can change the details registered by the element, these are

DIB_REPOTYPE_<name>     : change the registered type
DIB_REPOLOCATION_<name> : change the registered location
DIB_REPOREF_<name>      : change the registered reference

for example if you would like diskimage-builder to get ironic from a local mirror you could set DIB_REPOLOCATION_ironic=git://localgitserver/ironic.git

Git sources will be cloned to <destination>

Tarballs will be extracted to <destination>. Tarballs should contain a single topleval directory, regardless of the name of this top level directory it will be renamed to <destination>