| #!/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 | 
 |     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: |