blob: 9d5d65532e80d6b620339a5c7d71ea802b50fcc1 [file] [log] [blame]
Sean Dague3ed99c02017-06-20 14:09:30 -04001#!/bin/bash
2#
Takashi Kajinamief63c692024-11-24 22:48:08 +09003# lib/libraries
Sean Dague3ed99c02017-06-20 14:09:30 -04004#
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
Monty Taylor236250f2018-03-23 08:27:57 -050031GITDIR["openstacksdk"]=$DEST/openstacksdk
Sean Dague3ed99c02017-06-20 14:09:30 -040032GITDIR["os-client-config"]=$DEST/os-client-config
33GITDIR["osc-lib"]=$DEST/osc-lib
Roman Podoliakaa066abe2017-04-18 16:18:14 +030034GITDIR["osc-placement"]=$DEST/osc-placement
Sean Dague3ed99c02017-06-20 14:09:30 -040035GITDIR["oslo.cache"]=$DEST/oslo.cache
36GITDIR["oslo.concurrency"]=$DEST/oslo.concurrency
37GITDIR["oslo.config"]=$DEST/oslo.config
38GITDIR["oslo.context"]=$DEST/oslo.context
39GITDIR["oslo.db"]=$DEST/oslo.db
40GITDIR["oslo.i18n"]=$DEST/oslo.i18n
melanie wittc7791302021-10-01 17:24:10 +000041GITDIR["oslo.limit"]=$DEST/oslo.limit
Sean Dague3ed99c02017-06-20 14:09:30 -040042GITDIR["oslo.log"]=$DEST/oslo.log
43GITDIR["oslo.messaging"]=$DEST/oslo.messaging
44GITDIR["oslo.middleware"]=$DEST/oslo.middleware
45GITDIR["oslo.policy"]=$DEST/oslo.policy
46GITDIR["oslo.privsep"]=$DEST/oslo.privsep
47GITDIR["oslo.reports"]=$DEST/oslo.reports
48GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap
49GITDIR["oslo.serialization"]=$DEST/oslo.serialization
50GITDIR["oslo.service"]=$DEST/oslo.service
51GITDIR["oslo.utils"]=$DEST/oslo.utils
52GITDIR["oslo.versionedobjects"]=$DEST/oslo.versionedobjects
53GITDIR["oslo.vmware"]=$DEST/oslo.vmware
54GITDIR["osprofiler"]=$DEST/osprofiler
55GITDIR["pycadf"]=$DEST/pycadf
Sean Dague3ed99c02017-06-20 14:09:30 -040056GITDIR["stevedore"]=$DEST/stevedore
57GITDIR["taskflow"]=$DEST/taskflow
58GITDIR["tooz"]=$DEST/tooz
Sean Dague7e41c6c2017-06-21 10:55:16 -040059
60# Non oslo libraries are welcomed below as well, this prevents
61# duplication of this code.
Sean Dague99a64772017-06-21 10:46:12 -040062GITDIR["os-brick"]=$DEST/os-brick
Przemyslaw Szczerbik1ab63132021-07-06 14:26:40 +020063GITDIR["os-resource-classes"]=$DEST/os-resource-classes
Sean Dague7e41c6c2017-06-21 10:55:16 -040064GITDIR["os-traits"]=$DEST/os-traits
Sean Dague3ed99c02017-06-20 14:09:30 -040065
66# Support entry points installation of console scripts
67OSLO_BIN_DIR=$(get_python_exec_prefix)
68
69
70# Functions
71# ---------
72
73function _install_lib_from_source {
74 local name=$1
75 if use_library_from_git "$name"; then
76 git_clone_by_name "$name"
Sean McGinnisdd3731c2020-07-28 08:51:41 -050077 setup_dev_lib -bindep "$name"
Sean Dague3ed99c02017-06-20 14:09:30 -040078 fi
79}
80
81# install_oslo - install libraries that oslo needs
82function install_oslo {
83 install_libs
84}
85
86# install_libs() - Install additional libraries that we need and want
87# on all environments. Some will only install here if from source,
88# others will always install.
89function install_libs {
90 _install_lib_from_source "automaton"
91 _install_lib_from_source "castellan"
92 _install_lib_from_source "cliff"
93 _install_lib_from_source "cursive"
94 _install_lib_from_source "debtcollector"
95 _install_lib_from_source "futurist"
Dean Troyeraab248b2018-03-28 10:05:05 -050096 _install_lib_from_source "openstacksdk"
Sean Dague3ed99c02017-06-20 14:09:30 -040097 _install_lib_from_source "osc-lib"
Roman Podoliakaa066abe2017-04-18 16:18:14 +030098 _install_lib_from_source "osc-placement"
Sean Dague3ed99c02017-06-20 14:09:30 -040099 _install_lib_from_source "os-client-config"
100 _install_lib_from_source "oslo.cache"
101 _install_lib_from_source "oslo.concurrency"
102 _install_lib_from_source "oslo.config"
103 _install_lib_from_source "oslo.context"
104 _install_lib_from_source "oslo.db"
105 _install_lib_from_source "oslo.i18n"
melanie wittc7791302021-10-01 17:24:10 +0000106 _install_lib_from_source "oslo.limit"
Sean Dague3ed99c02017-06-20 14:09:30 -0400107 _install_lib_from_source "oslo.log"
108 _install_lib_from_source "oslo.messaging"
109 _install_lib_from_source "oslo.middleware"
110 _install_lib_from_source "oslo.policy"
111 _install_lib_from_source "oslo.privsep"
112 _install_lib_from_source "oslo.reports"
113 _install_lib_from_source "oslo.rootwrap"
114 _install_lib_from_source "oslo.serialization"
115 _install_lib_from_source "oslo.service"
116 _install_lib_from_source "oslo.utils"
117 _install_lib_from_source "oslo.versionedobjects"
118 _install_lib_from_source "oslo.vmware"
119 _install_lib_from_source "osprofiler"
120 _install_lib_from_source "pycadf"
Sean Dague3ed99c02017-06-20 14:09:30 -0400121 _install_lib_from_source "stevedore"
122 _install_lib_from_source "taskflow"
123 _install_lib_from_source "tooz"
124 # installation of additional libraries
125 #
126 # os-traits for nova
Sean Dague99a64772017-06-21 10:46:12 -0400127 _install_lib_from_source "os-brick"
Przemyslaw Szczerbik1ab63132021-07-06 14:26:40 +0200128 _install_lib_from_source "os-resource-classes"
Sean Dague7e41c6c2017-06-21 10:55:16 -0400129 _install_lib_from_source "os-traits"
Kaitlin Farred7dbe52017-06-19 16:50:38 -0400130 #
131 # python client libraries we might need from git can go here
132 _install_lib_from_source "python-barbicanclient"
Sean Dague99a64772017-06-21 10:46:12 -0400133
Sean Dague3ed99c02017-06-20 14:09:30 -0400134
135 # etcd (because tooz does not have a hard dependency on these)
Sean Dague7e41c6c2017-06-21 10:55:16 -0400136 #
137 # NOTE(sdague): this is currently a work around because tooz
138 # doesn't pull in etcd3.
Sean Dague3ed99c02017-06-20 14:09:30 -0400139 pip_install etcd3
140 pip_install etcd3gw
141}
142
143# Restore xtrace
Sean Dague7e41c6c2017-06-21 10:55:16 -0400144$_XTRACE_LIB_LIBRARIES
Sean Dague3ed99c02017-06-20 14:09:30 -0400145
146# Tell emacs to use shell-script-mode
147## Local variables:
148## mode: shell-script
149## End: