summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/developer/building-frr-for-centos6.rst5
-rw-r--r--doc/developer/building-frr-for-debian8.rst4
-rw-r--r--doc/developer/building-frr-for-debian9.rst4
-rw-r--r--doc/developer/building-frr-for-fedora.rst4
-rw-r--r--doc/developer/building-frr-for-freebsd10.rst2
-rw-r--r--doc/developer/building-frr-for-freebsd11.rst2
-rw-r--r--doc/developer/building-frr-for-freebsd9.rst4
-rw-r--r--doc/developer/building-frr-for-netbsd6.rst9
-rw-r--r--doc/developer/building-frr-for-netbsd7.rst9
-rw-r--r--doc/developer/building-frr-for-ubuntu1404.rst2
-rw-r--r--doc/developer/building-frr-for-ubuntu1604.rst2
-rw-r--r--doc/developer/building-frr-for-ubuntu1804.rst2
-rw-r--r--doc/developer/packaging-redhat.rst2
-rw-r--r--doc/subdir.am11
-rw-r--r--doc/user/installation.rst21
15 files changed, 44 insertions, 39 deletions
diff --git a/doc/developer/building-frr-for-centos6.rst b/doc/developer/building-frr-for-centos6.rst
index f1ec2ad3ea..ee0ffc2bf7 100644
--- a/doc/developer/building-frr-for-centos6.rst
+++ b/doc/developer/building-frr-for-centos6.rst
@@ -163,10 +163,9 @@ an example.)
--disable-ldpd \
--enable-fpm \
--with-pkg-git-version \
- --with-pkg-extra-version=-MyOwnFRRVersion \
- SPHINXBUILD=sphinx-build2.7
+ --with-pkg-extra-version=-MyOwnFRRVersion
make
- make check PYTHON=/usr/bin/python2.7
+ make check
sudo make install
Create empty FRR configuration files
diff --git a/doc/developer/building-frr-for-debian8.rst b/doc/developer/building-frr-for-debian8.rst
index a26d055bc2..76f927853d 100644
--- a/doc/developer/building-frr-for-debian8.rst
+++ b/doc/developer/building-frr-for-debian8.rst
@@ -16,7 +16,7 @@ Add packages:
::
sudo apt-get install git autoconf automake libtool make \
- libreadline-dev texinfo libjson-c-dev pkg-config bison flex python-pip \
+ libreadline-dev texinfo libjson-c-dev pkg-config bison flex python3-pip \
libc-ares-dev python3-dev python3-sphinx build-essential libsystemd-dev \
libsnmp-dev
@@ -24,7 +24,7 @@ Install newer pytest (>3.0) from pip
::
- sudo pip install pytest
+ sudo pip3 install pytest
.. include:: building-libyang.rst
diff --git a/doc/developer/building-frr-for-debian9.rst b/doc/developer/building-frr-for-debian9.rst
index 2c5a9681af..e58c59f451 100644
--- a/doc/developer/building-frr-for-debian9.rst
+++ b/doc/developer/building-frr-for-debian9.rst
@@ -9,8 +9,8 @@ Add packages:
::
sudo apt-get install git autoconf automake libtool make \
- libreadline-dev texinfo libjson-c-dev pkg-config bison flex python-pip \
- libc-ares-dev python3-dev python-pytest python3-sphinx build-essential \
+ libreadline-dev texinfo libjson-c-dev pkg-config bison flex \
+ libc-ares-dev python3-dev python3-pytest python3-sphinx build-essential \
libsnmp-dev libsystemd-dev
.. include:: building-libyang.rst
diff --git a/doc/developer/building-frr-for-fedora.rst b/doc/developer/building-frr-for-fedora.rst
index 204c185f56..d11da2d647 100644
--- a/doc/developer/building-frr-for-fedora.rst
+++ b/doc/developer/building-frr-for-fedora.rst
@@ -13,8 +13,8 @@ Installing Dependencies
sudo dnf install git autoconf automake libtool make \
readline-devel texinfo net-snmp-devel groff pkgconfig json-c-devel \
- pam-devel pytest bison flex c-ares-devel python3-devel python2-sphinx \
- perl-core patch
+ pam-devel python3-pytest bison flex c-ares-devel python3-devel \
+ python3-sphinx perl-core patch
.. include:: building-libyang.rst
diff --git a/doc/developer/building-frr-for-freebsd10.rst b/doc/developer/building-frr-for-freebsd10.rst
index 86c44f4d90..e85cb80053 100644
--- a/doc/developer/building-frr-for-freebsd10.rst
+++ b/doc/developer/building-frr-for-freebsd10.rst
@@ -17,7 +17,7 @@ is first package install and asked)
::
pkg install git autoconf automake libtool gmake json-c pkgconf \
- bison flex py27-pytest c-ares python3 py-sphinx
+ bison flex py36-pytest c-ares python3.6 py36-sphinx
Make sure there is no /usr/bin/flex preinstalled (and use the newly
installed in /usr/local/bin): (FreeBSD frequently provides a older flex
diff --git a/doc/developer/building-frr-for-freebsd11.rst b/doc/developer/building-frr-for-freebsd11.rst
index 5e56c8cd7a..b97538b763 100644
--- a/doc/developer/building-frr-for-freebsd11.rst
+++ b/doc/developer/building-frr-for-freebsd11.rst
@@ -17,7 +17,7 @@ is first package install and asked)
.. code-block:: shell
pkg install git autoconf automake libtool gmake json-c pkgconf \
- bison flex py27-pytest c-ares python3 py36-sphinx texinfo
+ bison flex py36-pytest c-ares python3.6 py36-sphinx texinfo
Make sure there is no /usr/bin/flex preinstalled (and use the newly
installed in /usr/local/bin): (FreeBSD frequently provides a older flex
diff --git a/doc/developer/building-frr-for-freebsd9.rst b/doc/developer/building-frr-for-freebsd9.rst
index 59241d1d13..1e97749795 100644
--- a/doc/developer/building-frr-for-freebsd9.rst
+++ b/doc/developer/building-frr-for-freebsd9.rst
@@ -17,8 +17,8 @@ is first package install and asked)
::
pkg install -y git autoconf automake libtool gmake \
- pkgconf texinfo json-c bison flex py27-pytest c-ares \
- python3 py-sphinx libexecinfo
+ pkgconf texinfo json-c bison flex py36-pytest c-ares \
+ python3 py36-sphinx libexecinfo
Make sure there is no /usr/bin/flex preinstalled (and use the newly
installed in /usr/local/bin): (FreeBSD frequently provides a older flex
diff --git a/doc/developer/building-frr-for-netbsd6.rst b/doc/developer/building-frr-for-netbsd6.rst
index 49091c49b4..e50d11130a 100644
--- a/doc/developer/building-frr-for-netbsd6.rst
+++ b/doc/developer/building-frr-for-netbsd6.rst
@@ -23,7 +23,7 @@ Add packages:
::
sudo pkg_add git autoconf automake libtool gmake openssl \
- pkg-config json-c python27 py27-test python35 py-sphinx
+ pkg-config json-c py36-test python36 py36-sphinx
Install SSL Root Certificates (for git https access):
@@ -33,13 +33,6 @@ Install SSL Root Certificates (for git https access):
sudo touch /etc/openssl/openssl.cnf
sudo mozilla-rootcerts install
-Select default Python and py.test
-
-::
-
- sudo ln -s /usr/pkg/bin/python2.7 /usr/bin/python
- sudo ln -s /usr/pkg/bin/py.test-2.7 /usr/bin/py.test
-
.. include:: building-libyang.rst
Get FRR, compile it and install it (from Git)
diff --git a/doc/developer/building-frr-for-netbsd7.rst b/doc/developer/building-frr-for-netbsd7.rst
index 64c462a5c8..32d1145edc 100644
--- a/doc/developer/building-frr-for-netbsd7.rst
+++ b/doc/developer/building-frr-for-netbsd7.rst
@@ -14,7 +14,7 @@ Install required packages
::
sudo pkgin install git autoconf automake libtool gmake openssl \
- pkg-config json-c python27 py27-test python35 py-sphinx
+ pkg-config json-c python36 py36-test py36-sphinx
Install SSL Root Certificates (for git https access):
@@ -24,13 +24,6 @@ Install SSL Root Certificates (for git https access):
sudo touch /etc/openssl/openssl.cnf
sudo mozilla-rootcerts install
-Select default Python and py.test
-
-::
-
- sudo ln -s /usr/pkg/bin/python2.7 /usr/bin/python
- sudo ln -s /usr/pkg/bin/py.test-2.7 /usr/bin/py.test
-
.. include:: building-libyang.rst
Get FRR, compile it and install it (from Git)
diff --git a/doc/developer/building-frr-for-ubuntu1404.rst b/doc/developer/building-frr-for-ubuntu1404.rst
index 6e2765c1c8..569b3bded1 100644
--- a/doc/developer/building-frr-for-ubuntu1404.rst
+++ b/doc/developer/building-frr-for-ubuntu1404.rst
@@ -12,7 +12,7 @@ Installing Dependencies
apt-get update
apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
- pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest \
+ pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev python3-sphinx install-info build-essential \
libsnmp-dev perl
diff --git a/doc/developer/building-frr-for-ubuntu1604.rst b/doc/developer/building-frr-for-ubuntu1604.rst
index a9a0a2f733..03852a62aa 100644
--- a/doc/developer/building-frr-for-ubuntu1604.rst
+++ b/doc/developer/building-frr-for-ubuntu1604.rst
@@ -12,7 +12,7 @@ Installing Dependencies
apt-get update
apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
- pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest \
+ pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl
diff --git a/doc/developer/building-frr-for-ubuntu1804.rst b/doc/developer/building-frr-for-ubuntu1804.rst
index 8bdc2b9c76..96c0efe02a 100644
--- a/doc/developer/building-frr-for-ubuntu1804.rst
+++ b/doc/developer/building-frr-for-ubuntu1804.rst
@@ -12,7 +12,7 @@ Installing Dependencies
sudo apt update
sudo apt-get install \
git autoconf automake libtool make libreadline-dev texinfo \
- pkg-config libpam0g-dev libjson-c-dev bison flex python-pytest \
+ pkg-config libpam0g-dev libjson-c-dev bison flex python3-pytest \
libc-ares-dev python3-dev libsystemd-dev python-ipaddress python3-sphinx \
install-info build-essential libsystemd-dev libsnmp-dev perl
diff --git a/doc/developer/packaging-redhat.rst b/doc/developer/packaging-redhat.rst
index f6b9931156..d344046148 100644
--- a/doc/developer/packaging-redhat.rst
+++ b/doc/developer/packaging-redhat.rst
@@ -32,7 +32,7 @@ Tested on CentOS 6, CentOS 7 and Fedora 24.
cd frr
./bootstrap.sh
- ./configure --with-pkg-extra-version=-MyRPMVersion SPHINXBUILD=sphinx-build2.7
+ ./configure --with-pkg-extra-version=-MyRPMVersion
make dist
.. note::
diff --git a/doc/subdir.am b/doc/subdir.am
index 7d3792bf2b..a1297a4f81 100644
--- a/doc/subdir.am
+++ b/doc/subdir.am
@@ -4,7 +4,6 @@
# You can set these variables from the command line.
SPHINXOPTS ?=
-SPHINXBUILD ?= sphinx-build
PAPER ?=
# Internal variables.
@@ -32,20 +31,20 @@ am__v_MAKEINFO_1 =
doc/%/_build/.doctrees/environment.pickle:
$(AM_V_SPHINX) ( \
subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
- $(SPHINXBUILD) -a -q -b text -d "$${subdoc}/_build/.doctrees" \
+ $(PYTHON) $(PYSPHINX) -a -q -b text -d "$${subdoc}/_build/.doctrees" \
$(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/text" \
)
doc/%/_build/html/.buildinfo: doc/%/_build/.doctrees/environment.pickle
$(AM_V_SPHINX) ( \
subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
- $(SPHINXBUILD) -q -b html -d "$${subdoc}/_build/.doctrees" \
+ $(PYTHON) $(PYSPHINX) -q -b html -d "$${subdoc}/_build/.doctrees" \
$(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/html" \
)
.PRECIOUS: doc/%/_build/texinfo/frr.texi
doc/%/_build/texinfo/frr.texi: doc/%/_build/.doctrees/environment.pickle
$(AM_V_SPHINX) ( \
subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
- $(SPHINXBUILD) -q -b texinfo -d "$${subdoc}/_build/.doctrees" \
+ $(PYTHON) $(PYSPHINX) -q -b texinfo -d "$${subdoc}/_build/.doctrees" \
$(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/texinfo" \
)
doc/%/_build/texinfo/frr.info: doc/%/_build/texinfo/frr.texi
@@ -54,7 +53,7 @@ doc/%/_build/man/man.stamp: doc/%/_build/.doctrees/environment.pickle
$(AM_V_SPHINX) ( \
subdoc="$@"; subdoc="$${subdoc#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
$(MKDIR_P) "$${subdoc}/_build/man"; touch $@.tmp; \
- $(SPHINXBUILD) -a -q -b man -d "$${subdoc}/_build/.doctrees" \
+ $(PYTHON) $(PYSPHINX) -a -q -b man -d "$${subdoc}/_build/.doctrees" \
$(ALLSPHINXOPTS) "$(top_srcdir)/$${subdoc}" "$${subdoc}/_build/man" && \
mv -f $@.tmp $@ \
)
@@ -80,7 +79,7 @@ $(M_SPHINXTARGETS): doc/%/_build/.doctrees/environment.pickle
builder="$${target##*/}"; \
subdoc="$${target#doc/}"; subdoc="doc/$${subdoc%%/*}"; \
rm -rf "$@"; \
- $(SPHINXBUILD) -q -b $${builder} -d $${subdoc}/_build/.doctrees \
+ $(PYTHON) $(PYSPHINX) -q -b $${builder} -d $${subdoc}/_build/.doctrees \
$(ALLSPHINXOPTS) $(top_srcdir)/$${subdoc} $@ \
)
diff --git a/doc/user/installation.rst b/doc/user/installation.rst
index 964297292f..6438c11413 100644
--- a/doc/user/installation.rst
+++ b/doc/user/installation.rst
@@ -347,6 +347,27 @@ compile directory:
./configure --with-libyang-pluginsdir="`pwd`/yang/libyang_plugins/.libs" \
--with-yangmodelsdir="`pwd`/yang"
+Python dependency, documentation and tests
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+FRR's documentation and basic unit tests heavily use code written in Python.
+Additionally, FRR ships Python extensions written in C which are used during
+its build process.
+
+To this extent, FRR needs the following:
+
+* an installation of CPython, preferably version 3.2 or newer (2.7 works but
+ is end of life and will stop working at some point.)
+* development files (mostly headers) for that version of CPython
+* an installation of `sphinx` for that version of CPython, to build the
+ documentation
+* an installation of `pytest` for that version of CPython, to run the unit
+ tests
+
+The `sphinx` and `pytest` dependencies can be avoided by not building
+documentation / not running ``make check``, but the CPython dependency is a
+hard dependency of the FRR build process (for the `clippy` tool.)
+
.. _least-privilege-support:
Least-Privilege Support