dh-autoreconf,
flex,
gawk,
- git,
install-info,
libc-ares-dev,
libcap-dev,
libjson0-dev | libjson-c-dev,
libpam0g-dev | libpam-dev,
libpcre3-dev,
- libpython-dev | libpython3-dev,
+ libpython3-dev,
libreadline-dev,
librtr-dev <pkg.frr.rtrlib>,
- libsnmp-dev <pkg.frr.snmp>,
+ libsnmp-dev,
libssh-dev <pkg.frr.rtrlib>,
libsystemd-dev <!pkg.frr.nosystemd>,
pkg-config,
- python (>= 2.7) | python3,
- python-sphinx | python3-sphinx,
+ python3,
+ python3-sphinx,
texinfo (>= 4.7)
Standards-Version: 4.2.1
Homepage: https://www.frrouting.org/
Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd
through the AgentX protocol. Provides read-only access to current
routing state through standard SNMP MIBs.
-Build-Profiles: <pkg.frr.snmp>
Package: frr-rpki-rtrlib
Architecture: any
number.
Build-Profiles: <pkg.frr.rtrlib>
-Package: frr-dbg
-Architecture: any
-Depends:
- ${misc:Depends},
- frr (= ${binary:Version})
-Section: debug
-Description: FRRouting suite - debug symbols
- This package provides debugging symbols for all binary packages built
- from frr source package. FRR itself uses these symbols when printing
- backtraces for crashes or other issues.
- .
- It is highly recommended to have this package installed before reporting
- any FRR crashes to either FRR developers or Debian package maintainers.
-
Package: frr-doc
Section: doc
Architecture: all
#!/usr/bin/make -f
-# FRRouting Configuration options
-######################################
-#
-# WANT_xxxx --> Set to 1 for enable, 0 for disable
-# The following are the defaults. They can be overridden by setting a
-# env variable to a different value
-
-# -Werror - don't enable this unless you're doing a dev package build
-WANT_WERROR ?= 0
-
-WANT_OSPFAPI ?= 1
-WANT_BGP_VNC ?= 1
-WANT_CUMULUS_MODE ?= 0
-WANT_MULTIPATH ?= 1
-
-# NOTES:
-# If multipath is enabled (WANT_MULTIPATH=1), then set number of multipaths here
-# Please be aware that 0 is NOT disabled, but treated as unlimited
-
-MULTIPATH ?= 256
-
-# Set the following to the value required (or leave alone for the default below)
-# WANT_FRR_USER is used for the username and groupname of the FRR user account
-
-WANT_FRR_USER ?= frr
-WANT_FRR_VTY_GROUP ?= frrvty
-
-# Don't build PDF docs by default
-# add build deps: texlive-latex-base, texlive-generic-recommended
-GENERATE_PDF ?= 0
-
-#
-####################################
+# standard Debian options & profiles
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-ifeq ($(WANT_OSPFAPI), 1)
- USE_OSPFAPI=--enable-ospfapi=yes
-else
- USE_OSPFAPI=--enable-ospfapi=no
-endif
-
-ifeq ($(WANT_BGP_VNC), 1)
- USE_BGP_VNC=--enable-bgp-vnc=yes
-else
- USE_BGP_VNC=--enable-bgp-vnc=no
-endif
-
-USE_FRR_USER=--enable-user=$(WANT_FRR_USER)
-USE_FRR_GROUP=--enable-group=$(WANT_FRR_USER)
-USE_FRR_VTY_GROUP=--enable-vty-group=$(WANT_FRR_VTY_GROUP)
-
-ifeq ($(WANT_MULTIPATH), 1)
- USE_MULTIPATH=--enable-multipath=$(MULTIPATH)
-else
- USE_MULTIPATH=--disable-multipath
-endif
-
-ifeq ($(WANT_CUMULUS_MODE), 1)
- USE_CUMULUS=--enable-cumulus=yes
-else
- USE_CUMULUS=--enable-cumulus=no
-endif
-
-ifeq ($(WANT_WERROR), 1)
- USE_WERROR=--enable-werror
-else
- USE_WERROR=--disable-werror
-endif
-
-#
-# generic debian options
-#
-
-ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
- DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-endif
-ifdef DEBIAN_JOBS
-MAKEFLAGS += -j$(DEBIAN_JOBS)
-endif
-
ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
-MAKE_SILENT="V=0"
-export DH_VERBOSE=0
+ MAKE_SILENT="V=0"
+ export DH_VERBOSE=0
else
-MAKE_SILENT="V=1"
-export DH_VERBOSE=1
-export DH_OPTIONS=-v
+ MAKE_SILENT="V=1"
+ export DH_VERBOSE=1
+ export DH_OPTIONS=-v
endif
-#
-# build profiles
-#
-
-ifeq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
- USE_DOC=--enable-doc --enable-doc-html
-else
- USE_DOC=--disable-doc
-endif
+# package-specific build profiles
ifeq ($(filter pkg.frr.rtrlib,$(DEB_BUILD_PROFILES)),)
- USE_RPKI=--disable-rpki
-else
- USE_RPKI=--enable-rpki
-endif
-
-ifeq ($(filter pkg.frr.snmp,$(DEB_BUILD_PROFILES)),)
- USE_SNMP=--disable-snmp
+ CONF_RPKI=--disable-rpki
else
- USE_SNMP=--enable-snmp
+ CONF_RPKI=--enable-rpki
endif
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
DH_WITH_SYSTEMD=systemd,
- USE_SYSTEMD=--enable-systemd=yes
+ CONF_SYSTEMD=--enable-systemd=yes
else
DH_WITH_SYSTEMD=
- USE_SYSTEMD=--enable-systemd=no
+ CONF_SYSTEMD=--enable-systemd=no
endif
export PYTHON=python3
%:
- dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel --dbg-package=frr-dbg
+ dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel
override_dh_auto_configure:
- if ! [ -e config.status ]; then \
+ $(shell dpkg-buildflags --export=sh); \
dh_auto_configure -- \
--enable-exampledir=/usr/share/doc/frr/examples/ \
--localstatedir=/var/run/frr \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \
--with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \
LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
- $(USE_DOC) \
- $(USE_SNMP) \
- $(USE_OSPFAPI) \
- $(USE_MULTIPATH) \
+ --disable-dependency-tracking \
+ \
+ $(CONF_SYSTEMD) \
+ $(CONF_RPKI) \
+ --with-libpam \
+ --enable-doc \
+ --enable-doc-html \
+ --enable-snmp \
--disable-fpm \
--disable-zeromq \
- $(USE_FRR_USER) $(USE_FRR_GROUP) \
- $(USE_FRR_VTY_GROUP) \
+ --enable-ospfapi \
+ --enable-bgp-vnc \
+ --enable-multipath=256 \
+ \
+ --enable-user=frr \
+ --enable-group=frr \
+ --enable-vty-group=frrvty \
--enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \
- $(USE_WERROR) \
- --with-libpam \
- $(USE_SYSTEMD) \
- $(USE_CUMULUS) \
- --disable-dependency-tracking \
- $(USE_BGP_VNC) \
- $(USE_RPKI) \
- $(shell dpkg-buildflags --export=configure); \
- fi
+ # end
override_dh_auto_install:
dh_auto_install
# install config files
mkdir -p debian/tmp/etc/frr/
- perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample*
+ sed -e 's#^!log file #!log file /var/log/frr/#' -i debian/tmp/usr/share/doc/frr/examples/*sample*
# drop dev-only files
find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f
dh_auto_build -- $(MAKE_SILENT)
override_dh_makeshlibs:
-# we don't need or want ldconfig for private libs
dh_makeshlibs -n
override_dh_missing: