57aafb5a9a
We pull the pip constraints from the requirements repo so need to clone that repo prior to using the constraints. In fixup_stuff.sh devstack attempts to install packages like prettytable using the constraints. It is also possible to need constraints before fixup_stuff.sh if tracking depends. To deal with this clone requirements repo before any possible use of constraints in pip_install. Change-Id: I42e981c8c5ce1b8a57b9f6cce213065c72d6af11
60 lines
1.3 KiB
Bash
60 lines
1.3 KiB
Bash
#!/bin/bash
|
|
#
|
|
# lib/infra
|
|
#
|
|
# Functions to install infrastructure projects needed by other projects
|
|
# early in the cycle. We need this so we can do things like gate on
|
|
# requirements as a global list
|
|
|
|
# Dependencies:
|
|
#
|
|
# - ``functions`` file
|
|
|
|
# ``stack.sh`` calls the entry points in this order:
|
|
#
|
|
# - install_infra
|
|
|
|
# Save trace setting
|
|
XTRACE=$(set +o | grep xtrace)
|
|
set +o xtrace
|
|
|
|
|
|
# Defaults
|
|
# --------
|
|
GITDIR["pbr"]=$DEST/pbr
|
|
REQUIREMENTS_DIR=$DEST/requirements
|
|
|
|
# Entry Points
|
|
# ------------
|
|
|
|
# install_infra() - Collect source and prepare
|
|
function install_infra {
|
|
local PIP_VIRTUAL_ENV="$REQUIREMENTS_DIR/.venv"
|
|
[ ! -d $PIP_VIRTUAL_ENV ] && virtualenv $PIP_VIRTUAL_ENV
|
|
# We don't care about testing git pbr in the requirements venv.
|
|
PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install -U pbr
|
|
PIP_VIRTUAL_ENV=$PIP_VIRTUAL_ENV pip_install $REQUIREMENTS_DIR
|
|
|
|
# Unset the PIP_VIRTUAL_ENV so that PBR does not end up trapped
|
|
# down the VENV well
|
|
unset PIP_VIRTUAL_ENV
|
|
|
|
# Install pbr
|
|
if use_library_from_git "pbr"; then
|
|
git_clone_by_name "pbr"
|
|
setup_lib "pbr"
|
|
else
|
|
# Always upgrade pbr to latest version as we may have pulled it
|
|
# in via system packages.
|
|
pip_install "-U" "pbr"
|
|
fi
|
|
}
|
|
|
|
# Restore xtrace
|
|
$XTRACE
|
|
|
|
# Tell emacs to use shell-script-mode
|
|
## Local variables:
|
|
## mode: shell-script
|
|
## End:
|