| # 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 |
| |
| # Local variables: |
| # mode: shell-script |
| # End: |