[CI] Add bindep.txt

Bindep is a tool for checking the presence of binary
packages needed to use an application / library. It
started life as a way to make it easier to set up a
development environment for OpenStack projects.

Infra has been looking to drop the global
bindep_fallback.txt [1][2] file for all
OpenStack projects, they recommend that projects
maintain their own with packages as necessary.

[1] http://lists.openstack.org/pipermail/openstack-infra/2018-April/005926.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006888.html
Change-Id: I1824f132b0ffadc6c9179582d37295f3abed355f
This commit is contained in:
Goutham Pacha Ravi 2019-06-24 14:39:22 -07:00
parent 5d1ef1570b
commit 1709fd7fc2
2 changed files with 47 additions and 0 deletions

35
bindep.txt Normal file
View File

@ -0,0 +1,35 @@
# This is a cross-platform list tracking distribution packages needed for
# install and tests;
# see https://docs.openstack.org/infra/bindep/ for additional information.
build-essential [platform:dpkg test]
gcc [platform:rpm test]
# gettext and graphviz are needed by doc builds only. For transition,
# have them in both doc and test.
# TODO(jaegerandi): Remove test once infra scripts are updated.
gettext [!platform:suse doc test]
gettext-runtime [platform:suse doc test]
graphviz [doc test]
libffi-dev [platform:dpkg]
libffi-devel [platform:redhat]
libffi48-devel [platform:suse]
virtual/libffi [platform:gentoo]
libssl-dev [platform:dpkg]
openssl-devel [platform:rpm !platform:suse]
libopenssl-devel [platform:suse !platform:rpm]
locales [platform:debian]
mariadb [platform:rpm]
mariadb-server [platform:redhat]
mariadb-devel [platform:redhat]
libmysqlclient-dev [platform:dpkg]
libmysqlclient-devel [platform:suse]
libpq-dev [platform:dpkg]
mysql-client [platform:dpkg]
mysql-server [platform:dpkg]
postgresql
postgresql-client [platform:dpkg]
postgresql-devel [platform:rpm]
postgresql-server [platform:rpm]
libxml2-dev [platform:dpkg test]
libxslt-devel [platform:rpm test]
libxslt1-dev [platform:dpkg test]

12
tox.ini
View File

@ -88,6 +88,18 @@ commands =
doc8 --ignore D001 --ignore-path .tox --ignore-path doc/build --ignore-path manila.egg-info -e .txt -e .rst -e .inc
whitelist_externals = rm
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
basepython = python3
deps = bindep
commands = bindep test
usedevelop = False
[testenv:cover]
basepython = python3
setenv =