Install python requirements directly
There are cases when an issue has been fixed upstream in a dependency but not yet released and it is desirable to install that version in a built image. pbr does not support such urls in requirements files because releasing software that depends on unreleased software is quite dangerous. Update assemble and install-from-bindep to install -r requirements.txt before installing the actual software so that image builds with such requirements lines will work. Change-Id: Ie17a66bdc4ea0609ce4e66051f659cbd829fdd5d
This commit is contained in:
parent
0e1cd6ee85
commit
d3c6bbc7af
@ -59,7 +59,14 @@ python -m venv /tmp/venv
|
||||
/tmp/venv/bin/pip install -U pip wheel
|
||||
|
||||
# Install everything so that the wheel cache is populated
|
||||
# with transitive depends.
|
||||
# with transitive depends. If a requirements.txt file exists,
|
||||
# install it directly so that people can use git url syntax
|
||||
# to do things like pick up patched but unreleased versions
|
||||
# of dependencies.
|
||||
if [ -f /tmp/src/requirements.txt ] ; then
|
||||
/tmp/venv/bin/pip install --cache-dir=/output/wheels -r /tmp/src/requirements.txt
|
||||
cp /tmp/src/requirements.txt /output/requirements.txt
|
||||
fi
|
||||
/tmp/venv/bin/pip install --cache-dir=/output/wheels /output/wheels/*whl
|
||||
|
||||
# Install each of the extras so that we collect all possibly
|
||||
|
@ -18,6 +18,13 @@ set -e
|
||||
|
||||
apt-get update
|
||||
apt-get -y install $(cat /output/bindep/run.txt)
|
||||
# If a requirements.txt file exists,
|
||||
# install it directly so that people can use git url syntax
|
||||
# to do things like pick up patched but unreleased versions
|
||||
# of dependencies.
|
||||
if [ -f /output/requirements.txt ] ; then
|
||||
pip install --cache-dir=/output/wheels -r /output/requirements.txt
|
||||
fi
|
||||
pip install --cache-dir=/output/wheels /output/wheels/*.whl
|
||||
|
||||
# clean up after ourselves
|
||||
|
Loading…
Reference in New Issue
Block a user