summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bindep.txt7
-rw-r--r--doc/requirements.txt3
-rw-r--r--test-requirements.txt3
-rw-r--r--tox.ini11
4 files changed, 22 insertions, 2 deletions
diff --git a/bindep.txt b/bindep.txt
new file mode 100644
index 0000000..7a2df73
--- /dev/null
+++ b/bindep.txt
@@ -0,0 +1,7 @@
+# This is a cross-platform list tracking distribution packages needed for install and tests;
+# see https://docs.openstack.org/infra/bindep/ for additional information.
+
+# graphviz is necessary for documentation build
+graphviz [!platform:gentoo]
+media-gfx/graphviz [platform:gentoo]
+
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 597b54e..6fd065e 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -3,4 +3,5 @@
# process, which may cause wedges in the gate later.
openstackdocstheme>=1.18.1 # Apache-2.0
reno>=2.5.0 # Apache-2.0
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx>=1.6.2,!=1.6.6,<2.0.0;python_version=='2.7' # BSD
+sphinx>=1.6.2,!=1.6.6;python_version>='3.4' # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 6a3828e..592fc8c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6,6 +6,7 @@ mock>=2.0.0 # BSD
coverage!=4.4,>=4.0 # Apache-2.0
testrepository>=0.0.18 # Apache-2.0/BSD
# sphinx is needed for testing the sphinxext module
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx>=1.6.2,!=1.6.6,<2.0.0;python_version=='2.7' # BSD
+sphinx>=1.6.2,!=1.6.6;python_version>='3.4' # BSD
# Bandit security code scanner
bandit>=1.1.0 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index 7c0da88..7971f05 100644
--- a/tox.ini
+++ b/tox.ini
@@ -43,3 +43,14 @@ deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/queens}
-r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
+
+[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).
+deps = bindep
+commands = bindep test
+usedevelop = False