diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000000..e4bc4c912e --- /dev/null +++ b/bindep.txt @@ -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] diff --git a/tox.ini b/tox.ini index b351814b2a..e4e143adbd 100644 --- a/tox.ini +++ b/tox.ini @@ -69,6 +69,18 @@ commands = {posargs} [testenv:docs] commands = python setup.py build_sphinx +[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] commands = {toxinidir}/tools/cover.sh {posargs}