Basic instructions for building Debian packages for FRR (Free Range Routing), a fork of Quagga, can be found in the github repository as
Building your own FRRouting Debian Package.
These build notes have a slight twist -- using a kernel from backports. It actually doesn't affect the build, but here is my sequence.
sudo apt install -t stretch-backports linux-image-4.14.0-0.bpo.3-amd64 iproute2
sudo reboot
sudo apt --no-install-recommends install \
libjson-c-dev \
libpython-dev \
libsystemd-dev \
linuxdoc-tools \
autoconf automake \
libtool \
make \
gawk \
libreadline-dev \
texinfo \
pkg-config \
bison flex \
python-pip \
libc-ares-dev \
python3-dev \
devscripts equivs \
git
git clone https://github.com/frrouting/frr.git frr
cd frr
./bootstrap.sh
./configure --with-pkg-extra-version=-qvsl-1.0
make dist
make dist
export WANT_CUMULUS_MODE=1
mv debianpkg debian
make -f debian/rules backports
mkdir frrpkg
cd frrpkg/
tar xf ~/frr/frr_*.orig.tar.gz
cd frr*
. /etc/os-release
tar xf ~/frr/frr_*${ID}${VERSION_ID}*.debian.tar.xz
sudo mk-build-deps --install debian/control
debuild -b -uc -us
As of this writing, the following packages are built, with the first being the one of interest:
frrpkg/frr_4.1-dev-rpb-1.0-1~debian9+1_amd64.deb
frrpkg/frr-pythontools_4.1-dev-rpb-1.0-1~debian9+1_all.deb
frrpkg/frr-dbg_4.1-dev-rpb-1.0-1~debian9+1_amd64.deb
frrpkg/frr-doc_4.1-dev-rpb-1.0-1~debian9+1_all.deb
gcc -v for debian/stretch yields:
gcc version 6.3.0 20170516 (Debian 6.3.0-18)
2017/11/17: a build note, BGP RPKI available in FRouting
To use this code, ensure that you have installed a new dependant
library rtrlib available here:
http://rtrlib.realmv6.org/
And configure FRR with `--enable-rpki` when compiling it.
2018/04/16 groff, groff-base packages - I am keeping this as a note here because with a minimal list of packages during a build, I may be missing one of these. Next time I perform a build, I'll try to remember to come back here and see what I missed.