blob: 4ceb80423cf1b3b8006ef71cdc0444c61c1fc4be [file] [log] [blame]
Sean Dague3ed99c02017-06-20 14:09:30 -04001#!/bin/bash
2#
3# lib/oslo
4#
Sean Dague7e41c6c2017-06-21 10:55:16 -04005# Functions to install libraries from git
Sean Dague3ed99c02017-06-20 14:09:30 -04006#
7# We need this to handle the fact that projects would like to use
8# pre-released versions of oslo libraries.
9
10# Dependencies:
11#
12# - ``functions`` file
13
14# ``stack.sh`` calls the entry points in this order:
15#
Sean Dague7e41c6c2017-06-21 10:55:16 -040016# - install_libraries
Sean Dague3ed99c02017-06-20 14:09:30 -040017
18# Save trace setting
Sean Dague7e41c6c2017-06-21 10:55:16 -040019_XTRACE_LIB_LIBRARIES=$(set +o | grep xtrace)
Sean Dague3ed99c02017-06-20 14:09:30 -040020set +o xtrace
21
22
23# Defaults
24# --------
25GITDIR["automaton"]=$DEST/automaton
26GITDIR["castellan"]=$DEST/castellan
27GITDIR["cliff"]=$DEST/cliff
28GITDIR["cursive"]=$DEST/cursive
29GITDIR["debtcollector"]=$DEST/debtcollector
30GITDIR["futurist"]=$DEST/futurist
31GITDIR["os-client-config"]=$DEST/os-client-config
32GITDIR["osc-lib"]=$DEST/osc-lib
33GITDIR["oslo.cache"]=$DEST/oslo.cache
34GITDIR["oslo.concurrency"]=$DEST/oslo.concurrency
35GITDIR["oslo.config"]=$DEST/oslo.config
36GITDIR["oslo.context"]=$DEST/oslo.context
37GITDIR["oslo.db"]=$DEST/oslo.db
38GITDIR["oslo.i18n"]=$DEST/oslo.i18n
39GITDIR["oslo.log"]=$DEST/oslo.log
40GITDIR["oslo.messaging"]=$DEST/oslo.messaging
41GITDIR["oslo.middleware"]=$DEST/oslo.middleware
42GITDIR["oslo.policy"]=$DEST/oslo.policy
43GITDIR["oslo.privsep"]=$DEST/oslo.privsep
44GITDIR["oslo.reports"]=$DEST/oslo.reports
45GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap
46GITDIR["oslo.serialization"]=$DEST/oslo.serialization
47GITDIR["oslo.service"]=$DEST/oslo.service
48GITDIR["oslo.utils"]=$DEST/oslo.utils
49GITDIR["oslo.versionedobjects"]=$DEST/oslo.versionedobjects
50GITDIR["oslo.vmware"]=$DEST/oslo.vmware
51GITDIR["osprofiler"]=$DEST/osprofiler
52GITDIR["pycadf"]=$DEST/pycadf
53GITDIR["python-openstacksdk"]=$DEST/python-openstacksdk
54GITDIR["stevedore"]=$DEST/stevedore
55GITDIR["taskflow"]=$DEST/taskflow
56GITDIR["tooz"]=$DEST/tooz
Sean Dague7e41c6c2017-06-21 10:55:16 -040057
58# Non oslo libraries are welcomed below as well, this prevents
59# duplication of this code.
Sean Dague99a64772017-06-21 10:46:12 -040060GITDIR["os-brick"]=$DEST/os-brick
Sean Dague7e41c6c2017-06-21 10:55:16 -040061GITDIR["os-traits"]=$DEST/os-traits
Sean Dague3ed99c02017-06-20 14:09:30 -040062
63# Support entry points installation of console scripts
64OSLO_BIN_DIR=$(get_python_exec_prefix)
65
66
67# Functions
68# ---------
69
70function _install_lib_from_source {
71 local name=$1
72 if use_library_from_git "$name"; then
73 git_clone_by_name "$name"
74 setup_dev_lib "$name"
75 fi
76}
77
78# install_oslo - install libraries that oslo needs
79function install_oslo {
80 install_libs
81}
82
83# install_libs() - Install additional libraries that we need and want
84# on all environments. Some will only install here if from source,
85# others will always install.
86function install_libs {
87 _install_lib_from_source "automaton"
88 _install_lib_from_source "castellan"
89 _install_lib_from_source "cliff"
90 _install_lib_from_source "cursive"
91 _install_lib_from_source "debtcollector"
92 _install_lib_from_source "futurist"
93 _install_lib_from_source "osc-lib"
94 _install_lib_from_source "os-client-config"
95 _install_lib_from_source "oslo.cache"
96 _install_lib_from_source "oslo.concurrency"
97 _install_lib_from_source "oslo.config"
98 _install_lib_from_source "oslo.context"
99 _install_lib_from_source "oslo.db"
100 _install_lib_from_source "oslo.i18n"
101 _install_lib_from_source "oslo.log"
102 _install_lib_from_source "oslo.messaging"
103 _install_lib_from_source "oslo.middleware"
104 _install_lib_from_source "oslo.policy"
105 _install_lib_from_source "oslo.privsep"
106 _install_lib_from_source "oslo.reports"
107 _install_lib_from_source "oslo.rootwrap"
108 _install_lib_from_source "oslo.serialization"
109 _install_lib_from_source "oslo.service"
110 _install_lib_from_source "oslo.utils"
111 _install_lib_from_source "oslo.versionedobjects"
112 _install_lib_from_source "oslo.vmware"
113 _install_lib_from_source "osprofiler"
114 _install_lib_from_source "pycadf"
115 _install_lib_from_source "python-openstacksdk"
116 _install_lib_from_source "stevedore"
117 _install_lib_from_source "taskflow"
118 _install_lib_from_source "tooz"
119 # installation of additional libraries
120 #
121 # os-traits for nova
Sean Dague99a64772017-06-21 10:46:12 -0400122 _install_lib_from_source "os-brick"
Sean Dague7e41c6c2017-06-21 10:55:16 -0400123 _install_lib_from_source "os-traits"
Kaitlin Farred7dbe52017-06-19 16:50:38 -0400124 #
125 # python client libraries we might need from git can go here
126 _install_lib_from_source "python-barbicanclient"
Sean Dague99a64772017-06-21 10:46:12 -0400127
Sean Dague3ed99c02017-06-20 14:09:30 -0400128
129 # etcd (because tooz does not have a hard dependency on these)
Sean Dague7e41c6c2017-06-21 10:55:16 -0400130 #
131 # NOTE(sdague): this is currently a work around because tooz
132 # doesn't pull in etcd3.
Sean Dague3ed99c02017-06-20 14:09:30 -0400133 pip_install etcd3
134 pip_install etcd3gw
135}
136
137# Restore xtrace
Sean Dague7e41c6c2017-06-21 10:55:16 -0400138$_XTRACE_LIB_LIBRARIES
Sean Dague3ed99c02017-06-20 14:09:30 -0400139
140# Tell emacs to use shell-script-mode
141## Local variables:
142## mode: shell-script
143## End: