tripleo-image-elements/elements/pip-manifest
Jon-Paul Sullivan cdb8b49f5d Standardise manifest creation and retrieval
Bring in line with the manifest standardisation in review
I37eff5a13a14564e1adc33eb4f0144d571267617

This:
    * Removes the pip-manifest cleanup script and corresponding
      README documentation
    * Adds a dependency on the manifests element
    * Uses the manifests element for manifest location and copy to
      build area
    * Standardises the manifest naming

Change-Id: I8ab0796a8e19419bf40c1ebc94a7eb04e3ba9180
2014-05-26 11:21:18 +01:00
..
bin Standardise manifest creation and retrieval 2014-05-26 11:21:18 +01:00
environment.d Standardise manifest creation and retrieval 2014-05-26 11:21:18 +01:00
extra-data.d Standardise manifest creation and retrieval 2014-05-26 11:21:18 +01:00
install.d Create pip manifest files of installed packages 2014-03-25 12:22:59 +00:00
element-deps Standardise manifest creation and retrieval 2014-05-26 11:21:18 +01:00
README.md Standardise manifest creation and retrieval 2014-05-26 11:21:18 +01:00

Utility element to enable repeatable pip installs

Set this element as a dependency to make the utility scripts available, and then use them as appropriate.

Usage

This element makes a number of scripts available for use in image building, and performs actions to copy specified manifests into the image for use in building.

It also copies manifests generated during the build back to the build environment during cleanup.

bin

Utility scripts for use in other elements to create and reuse pip manifests, as detailed in the usage section.

get-pip-manifest

Echoes the name of the pip manifest file if one has been copied in, or just returns. The caller passes the name associated with their element, which should be descriptive of the element, to get the correct value.

For example, the nova element calls get-pip-manifest nova.

The name of the element is transformed to conform with bash variable naming rules, so any charaters that are not [A-Za-z0-9] are replaced with '_'.

use-pip-manifest

Uses the given manifest to perform the pip installs necessary.

Note that any development versions listed in the manifest are not reinstalled.

The reason for this is that development versions are expected to have been installed from a source other than pypi or the mirror in use, and so development versions will not be reinstallable without extra information.

The exact details with respect to this are for the relevant consuming element to determine.

write-pip-manifest

Calls pip freeze and writes the versions of all of the packages currently installed to a manifest file.

The format of the manifest is the standard python requirements format that is generated by the "pip freeze" command.

extra-data.d

75-inject-pip-manifests

Copies any pip manifest specified in DIB_PIP_MANIFEST_* environment variables into the image chroot environment.

install.d

01-pip-manifest

Installs the scripts in this element into the image for later use by other elements.