# 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_install $PBR_DIR } # Restore xtrace $XTRACE # Tell emacs to use shell-script-mode ## Local variables: ## mode: shell-script ## End: