.. | ||
extra-data.d | ||
install.d | ||
element-deps | ||
README.md |
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
Alternatively if you would like to use the keystone element and build an image with keystone from a stable branch then you would set DIB_REPOREF_keystone=stable/grizzly
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>
If mulitple elements register a source location with the same then source-repositories will exit with an error. Care should therefore be taken to only use elements together that download source to different locations.