4535c5323a
source-repositories uses find to discover things it should import. If someone happens to use emacs, and happens to have had an autosave file in a directory with a wildly broken version of a source-repositories- file, then dib will attempt to execute the contents of the autosave file and the user will be sad. Adding a filter to the find command for files ending in ~ will prevent pain and suffering. Change-Id: I27c8a4b53d3c9b913ca926db16b4271941f6fb5d |
||
---|---|---|
.. | ||
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.