| #!/bin/bash |
| # |
| # lib/libraries |
| # |
| # 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: |