diff options
| -rw-r--r-- | doc/Makefile.am | 2 | ||||
| -rw-r--r-- | doc/developer/building-frr-for-openwrt.rst | 77 | ||||
| -rw-r--r-- | doc/developer/building-frr-on-lede-openwrt.rst | 108 | ||||
| -rw-r--r-- | doc/developer/building.rst | 2 | ||||
| -rw-r--r-- | doc/developer/workflow.rst | 10 |
5 files changed, 89 insertions, 110 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index f421865054..a2f2f19414 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -167,6 +167,7 @@ EXTRA_DIST = frr-sphinx.mk \ manpages/bfd-options.rst \ developer/bgpd.rst \ developer/bgp-typecodes.rst \ + developer/building-frr-for-openwrt.rst \ developer/building-frr-on-alpine.rst \ developer/building-frr-on-centos6.rst \ developer/building-frr-on-centos7.rst \ @@ -176,7 +177,6 @@ EXTRA_DIST = frr-sphinx.mk \ developer/building-frr-on-freebsd10.rst \ developer/building-frr-on-freebsd11.rst \ developer/building-frr-on-freebsd9.rst \ - developer/building-frr-on-lede-openwrt.rst \ developer/building-frr-on-netbsd6.rst \ developer/building-frr-on-netbsd7.rst \ developer/building-frr-on-omnios.rst \ diff --git a/doc/developer/building-frr-for-openwrt.rst b/doc/developer/building-frr-for-openwrt.rst new file mode 100644 index 0000000000..b9be1b5226 --- /dev/null +++ b/doc/developer/building-frr-for-openwrt.rst @@ -0,0 +1,77 @@ +OpenWRT +======= + +Prepare build environment +------------------------- + +For Debian based distributions, run: + +:: + + sudo apt-get install git build-essential libssl-dev libncurses5-dev \ + unzip gawk zlib1g-dev subversion mercurial + +For other environments, instructions can be found in the +`official documentation +<https://wiki.openwrt.org/doc/howto/buildroot.exigence#examples_of_package_installations>`_. + + +Get OpenWRT Sources (from Git) +------------------------------ + +.. note:: + The OpenWRT build will fail if you run it as root. So take care to run it as a nonprivileged user. + +Clone the OpenWRT sources and retrieve the package feeds + +:: + + git clone https://github.com/openwrt/openwrt.git + cd openwrt + ./scripts/feeds update -a + ./scripts/feeds install -a + cd feeds/routing + git fetch origin pull/319/head + git read-tree --prefix=frr/ -u FETCH_HEAD:frr + cd ../../package/feeds/routing/ + ln -sv ../../../feeds/routing/frr . + cd ../../.. + +Configure OpenWRT for your target and select the needed FRR packages in Network -> Routing and Redirection -> frr, +exit and save + +:: + + make menuconfig + +Then, to compile either a complete OpenWRT image, or the FRR packages, run: + +:: + + make or make package/frr/compile + +It may be possible that on first build ``make package/frr/compile`` not +to work and it may be needed to run a ``make`` for the entire build +environment. Add ``V=s`` to get more debugging output. + +Work with sources +----------------- + +To update to a newer version, or change other options, you need to edit the ``feeds/routing/frr/Makefile``. + +Usage +----- + +Edit ``/usr/sbin/frr.init`` and add/remove the daemons name in section +``DAEMONS=`` or don't install unneded packages For example: zebra bgpd ldpd +isisd nhrpd ospfd ospf6d pimd ripd ripngd + +Enable the serivce +^^^^^^^^^^^^^^^^^^ + +- ``service frr enable`` + +Start the service +^^^^^^^^^^^^^^^^^ + +- ``service frr start`` diff --git a/doc/developer/building-frr-on-lede-openwrt.rst b/doc/developer/building-frr-on-lede-openwrt.rst deleted file mode 100644 index d14754b37f..0000000000 --- a/doc/developer/building-frr-on-lede-openwrt.rst +++ /dev/null @@ -1,108 +0,0 @@ -OpenWRT/LEDE -============================================= - -- for the moment because of cross compile problems, master is not - supported, only up to 3.0 -- LDP can't be built because of missing Perl-XML-LibXML in OpenWRT/LEDE - tree - -Prepare build environment -------------------------- - -https://lede-project.org/docs/guide-developer/install-buildsystem - -for - -Ubuntu 12.04LTS: - -:: - - sudo apt-get install build-essential subversion git-core \ - libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc \ - libxml-parser-perl mercurial bzr ecj cvs unzip python3-sphinx - -Ubuntu 64bit: - -:: - - sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev \ - gawk gcc-multilib flex git-core gettext libssl-dev python3-sphinx - -Debian 8 Jessie: - -:: - - sudo apt-get install build-essential libncurses5-dev gawk git subversion \ - libssl-dev gettext unzip zlib1g-dev file python python3-sphinx - -Debian 9 Stretch: - -:: - - sudo apt-get install build-essential libncurses5-dev gawk git subversion \ - libssl-dev gettext zlib1g-dev python3-sphinx - -Centos x86-64 (some packages require EPEL): - -:: - - yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex \ - ncurses-devel zlib-devel zlib-static make patch unzip glibc glibc-devel \ - perl-ExtUtils-MakeMaker glibc-static quilt ncurses-libs sed sdcc bison \ - intltool sharutils wget git-core openssl-devel xz python-sphinx - -Fedora 24 - 64Bit: - -:: - - dnf install -y subversion binutils bzip2 gcc gcc-c++ gawk gettext git-core \ - unzip ncurses-devel ncurses-compat-libs zlib-devel zlib-static make \ - flex patch perl-ExtUtils-MakeMaker perl-Thread-Queue glibc glibc-devel \ - glibc-static quilt sed sdcc intltool sharutils bison wget openssl-devel \ - python3-sphinx - -Get LEDE Sources (from Git) ---------------------------- - -LEDE and OpenWRT is planned to remerge and won't cover the similar -OpenWRT build As normal user: git clone -https://git.lede-project.org/source.git lede cd lede ./scripts/feeds -update -a ./scripts/feeds install -a cd feeds/routing git pull origin -pull/319/head ln -s ../../../feeds/routing/frr/ -../../package/feeds/routing/ cd ../.. make menuconfig - -Select the needed target then select needed packages in Network -> -Routing and Redirection -> frr, exit and save - -:: - - make or make package/frr/compile - -It may be possible that on first build ``make package/frr/compile`` not -to work and it may be needed to run a ``make`` for the entire build -envronment, add V=s for debugging - -Work with sources ------------------ - -To update the rc1 version or add other options, the Makefile is found in -feeds/routing/frr - -edit: PKG\_VERSION:= PKG\_SOURCE\_VERSION:= - -Usage ------ - -Edit ``/usr/sbin/frr.init`` and add/remove the daemons name in section -DAEMONS= or don't install unneded packages For example: zebra bgpd ldpd -isisd nhrpd ospfd ospf6d pimd ripd ripngd - -Enable the serivce -^^^^^^^^^^^^^^^^^^ - -- service frr enable - -Start the service -^^^^^^^^^^^^^^^^^ - -- service frr start diff --git a/doc/developer/building.rst b/doc/developer/building.rst index 051611a65d..d145849f7f 100644 --- a/doc/developer/building.rst +++ b/doc/developer/building.rst @@ -7,7 +7,6 @@ Building FRR .. toctree:: :maxdepth: 2 - building-frr-on-lede-openwrt building-frr-on-alpine building-frr-on-centos6 building-frr-on-centos7 @@ -21,6 +20,7 @@ Building FRR building-frr-on-netbsd7 building-frr-on-omnios building-frr-on-openbsd6 + building-frr-for-openwrt building-frr-on-ubuntu1204 building-frr-on-ubuntu1404 building-frr-on-ubuntu1604 diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst index 358cb9ac7b..d316de0f38 100644 --- a/doc/developer/workflow.rst +++ b/doc/developer/workflow.rst @@ -135,6 +135,11 @@ systems. Once the automated tests succeed, other developers will review your code for quality and correctness. After any concerns are resolved, your code will be merged into the branch it was submitted against. +The title of the pull request should provide a high level technical +summary of the included patches. The description should provide +additional details that will help the reviewer to understand the context +of the included patches. + Patch Submission via Mailing List --------------------------------- @@ -330,6 +335,11 @@ Guidelines for code review - For a PR you marked with "Changes requested", please respond to updates in a timely manner to avoid impeding the flow of development. +- Rejected or obsolete PRs are generally closed by the submitter based + on requests and/or agreement captured in a PR comment. The comment + may originate with a reviewer or document agreement reached on Slack, + the Development mailing list, or the weekly technical meeting. + Coding Practices & Style ======================== |
