devstack/lib/infra

59 lines
1.3 KiB
Plaintext

# 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:
#
# - unfubar_setuptools
# - install_infra
# Save trace setting
XTRACE=$(set +o | grep xtrace)
set +o xtrace
# Defaults
# --------
PBR_DIR=$DEST/pbr
REQUIREMENTS_DIR=$DEST/requirements
# Entry Points
# ------------
# unfubar_setuptools() - Unbreak the giant mess that is the current state of setuptools
function unfubar_setuptools {
# this is a giant game of who's on first, but it does consistently work
# there is hope that upstream python packaging fixes this in the future
echo_summary "Unbreaking setuptools"
pip_install -U setuptools
pip_install -U pip
uninstall_package python-setuptools
pip_install -U setuptools
pip_install -U pip
}
# install_infra() - Collect source and prepare
function install_infra {
# bring down global requirements
git_clone $REQUIREMENTS_REPO $REQUIREMENTS_DIR $REQUIREMENTS_BRANCH
# Install pbr
git_clone $PBR_REPO $PBR_DIR $PBR_BRANCH
setup_develop $PBR_DIR
}
# Restore xtrace
$XTRACE
# Tell emacs to use shell-script-mode
## Local variables:
## mode: shell-script
## End: