diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/developer/building-frr-for-centos6.rst | 5 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-debian8.rst | 4 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-debian9.rst | 4 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-fedora.rst | 4 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-freebsd10.rst | 2 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-freebsd11.rst | 2 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-freebsd9.rst | 4 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-netbsd6.rst | 9 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-netbsd7.rst | 9 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-ubuntu1404.rst | 2 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-ubuntu1604.rst | 2 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-ubuntu1804.rst | 2 | ||||
| -rw-r--r-- | doc/developer/packaging-redhat.rst | 2 | ||||
| -rw-r--r-- | doc/subdir.am | 11 | ||||
| -rw-r--r-- | doc/user/installation.rst | 21 | 
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  | 
