blob: f644ed76c328a00fbd0707ca24481c5438808a15 [file] [log] [blame]
Sean Dague1b6b5312013-07-31 06:46:34 -04001# lib/oslo
2#
3# Functions to install oslo libraries from git
4#
5# We need this to handle the fact that projects would like to use
6# pre-released versions of oslo libraries.
7
8# Dependencies:
Adam Spiers6a5aa7c2013-10-24 11:27:02 +01009#
10# - ``functions`` file
Sean Dague1b6b5312013-07-31 06:46:34 -040011
12# ``stack.sh`` calls the entry points in this order:
13#
Adam Spiers6a5aa7c2013-10-24 11:27:02 +010014# - install_oslo
Sean Dague1b6b5312013-07-31 06:46:34 -040015
16# Save trace setting
17XTRACE=$(set +o | grep xtrace)
18set +o xtrace
19
20
21# Defaults
22# --------
23OSLOCFG_DIR=$DEST/oslo.config
24OSLOMSG_DIR=$DEST/oslo.messaging
Thierry Carrez0915e0c2014-01-02 15:05:41 +010025OSLORWRAP_DIR=$DEST/oslo.rootwrap
Sean Dague1b6b5312013-07-31 06:46:34 -040026
27# Entry Points
28# ------------
29
30# install_oslo() - Collect source and prepare
31function install_oslo() {
Sean Daguedb5fadb2013-08-09 13:41:33 -040032 # TODO(sdague): remove this once we get to Icehouse, this just makes
33 # for a smoother transition of existing users.
34 cleanup_oslo
35
Sean Dague1b6b5312013-07-31 06:46:34 -040036 git_clone $OSLOCFG_REPO $OSLOCFG_DIR $OSLOCFG_BRANCH
37 setup_develop $OSLOCFG_DIR
38
39 git_clone $OSLOMSG_REPO $OSLOMSG_DIR $OSLOMSG_BRANCH
40 setup_develop $OSLOMSG_DIR
Thierry Carrez0915e0c2014-01-02 15:05:41 +010041
42 git_clone $OSLORWRAP_REPO $OSLORWRAP_DIR $OSLORWRAP_BRANCH
43 setup_develop $OSLORWRAP_DIR
Sean Dague1b6b5312013-07-31 06:46:34 -040044}
45
Sean Daguedb5fadb2013-08-09 13:41:33 -040046# cleanup_oslo() - purge possibly old versions of oslo
47function cleanup_oslo() {
Alessio Ababilovc2a4c922013-08-16 21:53:22 +030048 # this means we've got an old oslo installed, lets get rid of it
Attila Fazekas025fc5e2013-08-13 18:55:33 +020049 if ! python -c 'import oslo.config' 2>/dev/null; then
Sean Daguedb5fadb2013-08-09 13:41:33 -040050 echo "Found old oslo.config... removing to ensure consistency"
51 local PIP_CMD=$(get_pip_command)
Alessio Ababilovc2a4c922013-08-16 21:53:22 +030052 pip_install oslo.config
53 sudo $PIP_CMD uninstall -y oslo.config
Sean Daguedb5fadb2013-08-09 13:41:33 -040054 fi
55}
56
Sean Dague1b6b5312013-07-31 06:46:34 -040057# Restore xtrace
58$XTRACE
59
Adam Spiers6a5aa7c2013-10-24 11:27:02 +010060# Tell emacs to use shell-script-mode
61## Local variables:
62## mode: shell-script
63## End: