#!/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_INFRA=$(set +o | grep xtrace) set +o xtrace # Defaults # -------- GITDIR["pbr"]=$DEST/pbr # Entry Points # ------------ # install_infra() - Collect source and prepare function install_infra { local PIP_VIRTUAL_ENV="$REQUIREMENTS_DIR/.venv" [ ! -d $PIP_VIRTUAL_ENV ] && ${VIRTUALENV_CMD} $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 setuptools 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_dev_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_INFRA # Tell emacs to use shell-script-mode ## Local variables: ## mode: shell-script ## End: