mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-06 22:38:08 +00:00
debianpkg: create frr-snmp and frr-rpki-rtrlib
This splits off SNMP and RPKI support so that users can install these packages (with the appropriate dependencies) independently of main FRR. It also obsoletes out the weird multi-variant package distribution we've been doing for RPKI support. The snmpd dependency is also changed to Recommends: on frr-snmp since the frr-snmp package is essentially useless without snmpd. Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
parent
679e826ac0
commit
3b2a8d2546
@ -22,6 +22,36 @@ which itself is a fork of Zebra.
|
|||||||
Zebra was developed by Kunihiro Ishiguro.
|
Zebra was developed by Kunihiro Ishiguro.
|
||||||
|
|
||||||
|
|
||||||
|
* Build Profiles used in the upstream debianpkg/
|
||||||
|
================================================
|
||||||
|
|
||||||
|
The following Build Profiles have been added:
|
||||||
|
|
||||||
|
- pkg.frr.rtrlib (pkg.frr.nortrlib)
|
||||||
|
controls whether the RPKI module is built.
|
||||||
|
Will be enabled by default at some point, adds some extra dependencies.
|
||||||
|
|
||||||
|
- pkg.frr.snmp (pkg.frr.nosnmp)
|
||||||
|
controls whether the SNMP module is built, see below for license issues.
|
||||||
|
Will remain default-off as long as the license issue persists.
|
||||||
|
|
||||||
|
- pkg.frr.nosystemd
|
||||||
|
Disables both systemd unit file installation as well as watchfrr sd_notify
|
||||||
|
support at startup. Removes libsystemd dependency.
|
||||||
|
|
||||||
|
Note that all options have a "no" form; if you want to have your decision
|
||||||
|
be sticky regardless of changes to what it defaults to, then always use one
|
||||||
|
of the two. For example, all occurrences of <pkg.frr.rtrlib> will at some
|
||||||
|
point be replaced with <!pkg.frr.nortrlib>.
|
||||||
|
|
||||||
|
The main frr package has the exact same contents regardless of rtrlib or snmp
|
||||||
|
choices. The options only control frr-snmp and frr-rpki-rtrlib packages.
|
||||||
|
|
||||||
|
The main frr package does NOT have the same contents if pkg.frr.nosystemd is
|
||||||
|
used. This option should only be used for systems that do not have systemd,
|
||||||
|
e.g. Ubuntu 14.04.
|
||||||
|
|
||||||
|
|
||||||
* Why has SNMP support been disabled?
|
* Why has SNMP support been disabled?
|
||||||
=====================================
|
=====================================
|
||||||
FRR used to link against the NetSNMP libraries to provide SNMP
|
FRR used to link against the NetSNMP libraries to provide SNMP
|
||||||
@ -43,9 +73,7 @@ during the last days before the Sarge release :-(
|
|||||||
|
|
||||||
It is allowed by the used licence mix that you fetch the sources and
|
It is allowed by the used licence mix that you fetch the sources and
|
||||||
build FRR yourself with SNMP with
|
build FRR yourself with SNMP with
|
||||||
<remove the "grep ^smux" block at the end of debian/frr.preinst>
|
# apt-get -b source -Ppkg.frr.snmp frr
|
||||||
# export WANT_SNMP=1
|
|
||||||
# apt-get -b source frr
|
|
||||||
Just distributing it in binary form, linked against OpenSSL, is forbidden.
|
Just distributing it in binary form, linked against OpenSSL, is forbidden.
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,9 @@ Build-Depends:
|
|||||||
libpcre3-dev,
|
libpcre3-dev,
|
||||||
libpython-dev | libpython3-dev,
|
libpython-dev | libpython3-dev,
|
||||||
libreadline-dev,
|
libreadline-dev,
|
||||||
libsnmp-dev,
|
librtr-dev <pkg.frr.rtrlib>,
|
||||||
|
libsnmp-dev <pkg.frr.snmp>,
|
||||||
|
libssh-dev <pkg.frr.rtrlib>,
|
||||||
libsystemd-dev <!pkg.frr.nosystemd>,
|
libsystemd-dev <!pkg.frr.nosystemd>,
|
||||||
pkg-config,
|
pkg-config,
|
||||||
python (>= 2.7) | python3,
|
python (>= 2.7) | python3,
|
||||||
@ -42,7 +44,6 @@ Depends:
|
|||||||
Pre-Depends: adduser
|
Pre-Depends: adduser
|
||||||
Conflicts: zebra, zebra-pj, quagga
|
Conflicts: zebra, zebra-pj, quagga
|
||||||
Replaces: zebra, zebra-pj
|
Replaces: zebra, zebra-pj
|
||||||
Suggests: snmpd
|
|
||||||
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
|
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
|
||||||
FRR is free software which manages TCP/IP based routing protocols.
|
FRR is free software which manages TCP/IP based routing protocols.
|
||||||
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, RIPng,
|
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, RIPng,
|
||||||
@ -51,6 +52,31 @@ Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
|
|||||||
FRR is a fork of Quagga with an open community model. The main git
|
FRR is a fork of Quagga with an open community model. The main git
|
||||||
lives on https://github.com/frrouting/frr.git
|
lives on https://github.com/frrouting/frr.git
|
||||||
|
|
||||||
|
Package: frr-snmp
|
||||||
|
Section: net
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
frr (= ${binary:Version})
|
||||||
|
Recommends: snmpd
|
||||||
|
Description: FRRouting SNMP support
|
||||||
|
Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd
|
||||||
|
through the AgentX protocol.
|
||||||
|
Build-Profiles: <pkg.frr.snmp>
|
||||||
|
|
||||||
|
Package: frr-rpki-rtrlib
|
||||||
|
Section: net
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
frr (= ${binary:Version})
|
||||||
|
Description: FRRouting RTRlib RPKI support
|
||||||
|
Adds RPKI support to FRR's bgpd, allowing validation of BGP routes against
|
||||||
|
cryptographic information stored in WHOIS databases.
|
||||||
|
Build-Profiles: <pkg.frr.rtrlib>
|
||||||
|
|
||||||
Package: frr-dbg
|
Package: frr-dbg
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends:
|
Depends:
|
||||||
|
1
debianpkg/frr-rpki-rtrlib.install
Normal file
1
debianpkg/frr-rpki-rtrlib.install
Normal file
@ -0,0 +1 @@
|
|||||||
|
usr/lib/frr/modules/bgpd_rpki.so
|
6
debianpkg/frr-snmp.install
Normal file
6
debianpkg/frr-snmp.install
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
usr/lib/libfrrsnmp.*
|
||||||
|
usr/lib/frr/modules/bgpd_snmp.so
|
||||||
|
usr/lib/frr/modules/ospfd_snmp.so
|
||||||
|
usr/lib/frr/modules/ospf6d_snmp.so
|
||||||
|
usr/lib/frr/modules/ripd_snmp.so
|
||||||
|
usr/lib/frr/modules/zebra_snmp.so
|
1
debianpkg/frr-snmp.lintian-overrides
Normal file
1
debianpkg/frr-snmp.lintian-overrides
Normal file
@ -0,0 +1 @@
|
|||||||
|
frr: package-name-doesnt-match-sonames libfrrsnmp0
|
@ -2,7 +2,12 @@ etc/frr/
|
|||||||
usr/bin/vtysh
|
usr/bin/vtysh
|
||||||
usr/bin/mtracebis
|
usr/bin/mtracebis
|
||||||
usr/include/frr/
|
usr/include/frr/
|
||||||
usr/lib/
|
usr/lib/libfrr.*
|
||||||
|
usr/lib/libfrrospfapiclient.*
|
||||||
|
usr/lib/frr/*d
|
||||||
|
usr/lib/frr/watchfrr
|
||||||
|
usr/lib/frr/zebra
|
||||||
|
usr/lib/frr/modules/zebra_irdp.so
|
||||||
usr/share/doc/frr/
|
usr/share/doc/frr/
|
||||||
usr/share/man/
|
usr/share/man/
|
||||||
usr/share/yang/
|
usr/share/yang/
|
||||||
|
@ -14,19 +14,8 @@ WANT_OSPFAPI ?= 1
|
|||||||
WANT_BGP_VNC ?= 1
|
WANT_BGP_VNC ?= 1
|
||||||
WANT_CUMULUS_MODE ?= 0
|
WANT_CUMULUS_MODE ?= 0
|
||||||
WANT_MULTIPATH ?= 1
|
WANT_MULTIPATH ?= 1
|
||||||
WANT_SNMP ?= 0
|
|
||||||
WANT_RPKI ?= 0
|
|
||||||
|
|
||||||
# NOTES:
|
# NOTES:
|
||||||
#
|
|
||||||
# If you use WANT_RPKI, then there is a new dependency for librtr0 package
|
|
||||||
# and a build dependency of the librtr-dev package.
|
|
||||||
# While the librtr0 is added to the depenencies automatically, the build
|
|
||||||
# dependency can't be changed dynamically and building will fail if the
|
|
||||||
# librtr-dev isn't installed during package build
|
|
||||||
# Tested versions of both packages can be found at
|
|
||||||
# https://ci1.netdef.org/browse/RPKI-RTRLIB/latestSuccessful/artifact
|
|
||||||
#
|
|
||||||
# If multipath is enabled (WANT_MULTIPATH=1), then set number of multipaths here
|
# 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
|
# Please be aware that 0 is NOT disabled, but treated as unlimited
|
||||||
|
|
||||||
@ -49,14 +38,6 @@ export DH_VERBOSE=1
|
|||||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||||
export DH_OPTIONS=-v
|
export DH_OPTIONS=-v
|
||||||
|
|
||||||
ifeq ($(WANT_SNMP), 1)
|
|
||||||
USE_SNMP=--enable-snmp
|
|
||||||
$(warning "DEBIAN: SNMP enabled, sorry for your inconvenience")
|
|
||||||
else
|
|
||||||
USE_SNMP=--disable-snmp
|
|
||||||
$(warning "DEBIAN: SNMP disabled, see README.Debian")
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(WANT_OSPFAPI), 1)
|
ifeq ($(WANT_OSPFAPI), 1)
|
||||||
USE_OSPFAPI=--enable-ospfapi=yes
|
USE_OSPFAPI=--enable-ospfapi=yes
|
||||||
else
|
else
|
||||||
@ -85,18 +66,16 @@ else
|
|||||||
USE_CUMULUS=--enable-cumulus=no
|
USE_CUMULUS=--enable-cumulus=no
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(WANT_RPKI), 1)
|
|
||||||
USE_RPKI=--enable-rpki
|
|
||||||
else
|
|
||||||
USE_RPKI=--disable-rpki
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(WANT_WERROR), 1)
|
ifeq ($(WANT_WERROR), 1)
|
||||||
USE_WERROR=--enable-werror
|
USE_WERROR=--enable-werror
|
||||||
else
|
else
|
||||||
USE_WERROR=--disable-werror
|
USE_WERROR=--disable-werror
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# generic debian options
|
||||||
|
#
|
||||||
|
|
||||||
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||||
DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||||
endif
|
endif
|
||||||
@ -105,6 +84,22 @@ ifdef DEBIAN_JOBS
|
|||||||
MAKEFLAGS += -j$(DEBIAN_JOBS)
|
MAKEFLAGS += -j$(DEBIAN_JOBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
else
|
||||||
|
USE_SNMP=--enable-snmp
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
|
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
|
||||||
DH_WITH_SYSTEMD=systemd,
|
DH_WITH_SYSTEMD=systemd,
|
||||||
USE_SYSTEMD=--enable-systemd=yes
|
USE_SYSTEMD=--enable-systemd=yes
|
||||||
|
@ -21,6 +21,9 @@ EXTRA_DIST += \
|
|||||||
debianpkg/frr-doc.install \
|
debianpkg/frr-doc.install \
|
||||||
debianpkg/frr-doc.lintian-overrides \
|
debianpkg/frr-doc.lintian-overrides \
|
||||||
debianpkg/frr-pythontools.install \
|
debianpkg/frr-pythontools.install \
|
||||||
|
debianpkg/frr-rpki-rtrlib.install \
|
||||||
|
debianpkg/frr-snmp.install \
|
||||||
|
debianpkg/frr-snmp.lintian-overrides \
|
||||||
debianpkg/frr.conf \
|
debianpkg/frr.conf \
|
||||||
debianpkg/frr.dirs \
|
debianpkg/frr.dirs \
|
||||||
debianpkg/frr.docs \
|
debianpkg/frr.docs \
|
||||||
|
Loading…
Reference in New Issue
Block a user