#!/bin/bash # # lib/oslo # # Functions to install 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_libraries # Save trace setting _XTRACE_LIB_LIBRARIES=$(set +o | grep xtrace) set +o xtrace # Defaults # -------- GITDIR["automaton"]=$DEST/automaton GITDIR["castellan"]=$DEST/castellan GITDIR["cliff"]=$DEST/cliff GITDIR["cursive"]=$DEST/cursive GITDIR["debtcollector"]=$DEST/debtcollector GITDIR["futurist"]=$DEST/futurist GITDIR["openstacksdk"]=$DEST/openstacksdk GITDIR["os-client-config"]=$DEST/os-client-config GITDIR["osc-lib"]=$DEST/osc-lib GITDIR["osc-placement"]=$DEST/osc-placement GITDIR["oslo.cache"]=$DEST/oslo.cache GITDIR["oslo.concurrency"]=$DEST/oslo.concurrency GITDIR["oslo.config"]=$DEST/oslo.config GITDIR["oslo.context"]=$DEST/oslo.context GITDIR["oslo.db"]=$DEST/oslo.db GITDIR["oslo.i18n"]=$DEST/oslo.i18n GITDIR["oslo.limit"]=$DEST/oslo.limit GITDIR["oslo.log"]=$DEST/oslo.log GITDIR["oslo.messaging"]=$DEST/oslo.messaging GITDIR["oslo.middleware"]=$DEST/oslo.middleware GITDIR["oslo.policy"]=$DEST/oslo.policy GITDIR["oslo.privsep"]=$DEST/oslo.privsep GITDIR["oslo.reports"]=$DEST/oslo.reports GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap GITDIR["oslo.serialization"]=$DEST/oslo.serialization GITDIR["oslo.service"]=$DEST/oslo.service GITDIR["oslo.utils"]=$DEST/oslo.utils GITDIR["oslo.versionedobjects"]=$DEST/oslo.versionedobjects GITDIR["oslo.vmware"]=$DEST/oslo.vmware GITDIR["osprofiler"]=$DEST/osprofiler GITDIR["pycadf"]=$DEST/pycadf GITDIR["stevedore"]=$DEST/stevedore GITDIR["taskflow"]=$DEST/taskflow GITDIR["tooz"]=$DEST/tooz # Non oslo libraries are welcomed below as well, this prevents # duplication of this code. GITDIR["os-brick"]=$DEST/os-brick GITDIR["os-resource-classes"]=$DEST/os-resource-classes GITDIR["os-traits"]=$DEST/os-traits # Support entry points installation of console scripts OSLO_BIN_DIR=$(get_python_exec_prefix) # Functions # --------- function _install_lib_from_source { local name=$1 if use_library_from_git "$name"; then git_clone_by_name "$name" setup_dev_lib -bindep "$name" fi } # install_oslo - install libraries that oslo needs function install_oslo { install_libs } # install_libs() - Install additional libraries that we need and want # on all environments. Some will only install here if from source, # others will always install. function install_libs { _install_lib_from_source "automaton" _install_lib_from_source "castellan" _install_lib_from_source "cliff" _install_lib_from_source "cursive" _install_lib_from_source "debtcollector" _install_lib_from_source "futurist" _install_lib_from_source "openstacksdk" _install_lib_from_source "osc-lib" _install_lib_from_source "osc-placement" _install_lib_from_source "os-client-config" _install_lib_from_source "oslo.cache" _install_lib_from_source "oslo.concurrency" _install_lib_from_source "oslo.config" _install_lib_from_source "oslo.context" _install_lib_from_source "oslo.db" _install_lib_from_source "oslo.i18n" _install_lib_from_source "oslo.limit" _install_lib_from_source "oslo.log" _install_lib_from_source "oslo.messaging" _install_lib_from_source "oslo.middleware" _install_lib_from_source "oslo.policy" _install_lib_from_source "oslo.privsep" _install_lib_from_source "oslo.reports" _install_lib_from_source "oslo.rootwrap" _install_lib_from_source "oslo.serialization" _install_lib_from_source "oslo.service" _install_lib_from_source "oslo.utils" _install_lib_from_source "oslo.versionedobjects" _install_lib_from_source "oslo.vmware" _install_lib_from_source "osprofiler" _install_lib_from_source "pycadf" _install_lib_from_source "stevedore" _install_lib_from_source "taskflow" _install_lib_from_source "tooz" # installation of additional libraries # # os-traits for nova _install_lib_from_source "os-brick" _install_lib_from_source "os-resource-classes" _install_lib_from_source "os-traits" # # python client libraries we might need from git can go here _install_lib_from_source "python-barbicanclient" # etcd (because tooz does not have a hard dependency on these) # # NOTE(sdague): this is currently a work around because tooz # doesn't pull in etcd3. pip_install etcd3 pip_install etcd3gw } # Restore xtrace $_XTRACE_LIB_LIBRARIES # Tell emacs to use shell-script-mode ## Local variables: ## mode: shell-script ## End: