| # lib/oslo |
| # |
| # Functions to install oslo libraries from git |
| # |
| # We need this to handle the fact that projects would like to use |
| # pre-released versions of oslo libraries. |
| |
| # Dependencies: |
| # |
| # - ``functions`` file |
| |
| # ``stack.sh`` calls the entry points in this order: |
| # |
| # - install_oslo |
| |
| # Save trace setting |
| XTRACE=$(set +o | grep xtrace) |
| set +o xtrace |
| |
| |
| # Defaults |
| # -------- |
| OSLOCFG_DIR=$DEST/oslo.config |
| OSLOMSG_DIR=$DEST/oslo.messaging |
| OSLORWRAP_DIR=$DEST/oslo.rootwrap |
| |
| # Entry Points |
| # ------------ |
| |
| # install_oslo() - Collect source and prepare |
| function install_oslo() { |
| # TODO(sdague): remove this once we get to Icehouse, this just makes |
| # for a smoother transition of existing users. |
| cleanup_oslo |
| |
| git_clone $OSLOCFG_REPO $OSLOCFG_DIR $OSLOCFG_BRANCH |
| setup_develop $OSLOCFG_DIR |
| |
| git_clone $OSLOMSG_REPO $OSLOMSG_DIR $OSLOMSG_BRANCH |
| setup_develop $OSLOMSG_DIR |
| |
| git_clone $OSLORWRAP_REPO $OSLORWRAP_DIR $OSLORWRAP_BRANCH |
| setup_develop $OSLORWRAP_DIR |
| } |
| |
| # cleanup_oslo() - purge possibly old versions of oslo |
| function cleanup_oslo() { |
| # this means we've got an old oslo installed, lets get rid of it |
| if ! python -c 'import oslo.config' 2>/dev/null; then |
| echo "Found old oslo.config... removing to ensure consistency" |
| local PIP_CMD=$(get_pip_command) |
| pip_install oslo.config |
| sudo $PIP_CMD uninstall -y oslo.config |
| fi |
| } |
| |
| # Restore xtrace |
| $XTRACE |
| |
| # Tell emacs to use shell-script-mode |
| ## Local variables: |
| ## mode: shell-script |
| ## End: |