devstack/lib/infra
Clark Boylan 013f52b015 Always install latest pbr
When not installing pbr from source always install the latest version of
pbr. It turns out that python-pbr is a system package that satisfies
many of our requirements files pbr requirements but breaks under
setuptools 8.0. Fix this by passing the -U flag to pip when installing
pbr so that we install the latest version of pbr always.

Note that we likely need to make this more generic to avoid other system
package leakage when installing packages not from source.

We should also probably bump our pbr requirements across the board to
reflect the new setuptools 8.0 world needs.

Change-Id: I23dd21cea37d26f879aa8d864ee7d371e70221ea
Fixes-bug: 1405318
2014-12-23 17:20:30 -08:00

53 lines
1.0 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 {
# bring down global requirements
git_clone $REQUIREMENTS_REPO $REQUIREMENTS_DIR $REQUIREMENTS_BRANCH
# 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: