dd3731c86a
Most libs maintain their own system packages in a local bindep.txt file. We don't currently use those when installing packages from source, which can result in broken package installs. This adds a flag to always attempt to install bindep packages if the bindep.txt file exists. If a file cannot be found, it will just emit a warning and carry on. Change-Id: Ia0570f837b8af1c3fee0a314b026a4a7ed27e6a9 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
146 lines
4.4 KiB
Bash
146 lines
4.4 KiB
Bash
#!/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.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-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.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-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:
|