From 4fbe70fbb6c12eb06bc026e043ed2a27572b5da1 Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Mon, 24 Jun 2019 14:39:22 -0700 Subject: [PATCH] [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 (cherry picked from commit 1709fd7fc222f81bcbedc05e683d2eec5337edcc) (cherry picked from commit 6ac1730127ddf2f8113e791c3740909bbe05837d) --- bindep.txt | 35 +++++++++++++++++++++++++++++++++++ tox.ini | 12 ++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 bindep.txt 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 7c4d9f0073..47b66431be 100644 --- a/tox.ini +++ b/tox.ini @@ -87,6 +87,18 @@ commands = doc8 --ignore D001 --ignore-path .tox --ignore-path doc/build --ignore-path manila.egg-info -e txt -e rst 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 =