debianpkg: kill backports

The debianpkg/backports system is rather complicated and actually slows
down Debian package building quite a lot since the backports/rules file
is evaluated a zillion times during a normal build.

This just folds up everything into a single Debian package build that
works on all OSes.  The only real difference that the backports stuff
was used for is switching between systemd and init.d, the latter for
Ubuntu 12.04 and 14.04.

With this, that switch is controlled by the pkg.frr.nosystemd
Build-Profile instead.  Package builds for Ubuntu 14.04 need to supply
the -Ppkg.frr.nosystemd option to dpkg-buildpackage.  (12.04 isn't
supported anymore anyway.)

Note that the update-rc.d step that was previously coded into
postinst/postrm is now handled by the dh_installinit magic.

Other than this, there were some minor build dependency differences, all
of which are now just handled as | in the central deps.

Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
David Lamparter 2018-10-22 13:37:53 +02:00
parent 008f758b8e
commit 6397fb8809
31 changed files with 23 additions and 645 deletions

View File

@ -1,2 +0,0 @@
*/*.dirhash
*/debian/changelog

View File

@ -1,28 +0,0 @@
This directory contains the debian directories for backports to other debian
platforms. These are built via the `3.0 (custom)' source format, which
allows one to build a source package directly out of tarballs (e.g. an
orig.tar.gz tarball and a debian.tar.gz file), at which point the format can
be changed to a real format (e.g. `3.0 (quilt)').
Source packages are assembled via targets of the same name as the system to
which the backport is done (e.g. `precise'), included in debian/rules.
To create a new debian backport:
* Add its name to `KNOWN_BACKPORTS', defined in debian/rules.
* Create a directory of the same name in debian/backports.
* Add the files `exclude', `versionext', and `debian/source/format' under
this directory:
* `exclude' contains whitespace-separated paths (relative to the root of
the source dir) that should be excluded from the source package (e.g.
debian/patches).
* `versionext' contains the suffix added to the version number for this
backport's build. Distributions often have guidelines for what this
should be. If left empty, no new debian/changelog entry is created.
* `debian/source/format' should contain the source format of the resulting
source package. As of of the writing of this document the only supported
format is `3.0 (quilt)'.
* Add appropriate files under the `debian/' subdirectory. These will be
included in the source package, overriding any top-level `debian/' files
with equivalent paths.

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1 +0,0 @@
-1~debian8+1

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1 +0,0 @@
-1~debian9+1

View File

@ -1,137 +0,0 @@
.PHONY: backports $(KNOWN_BACKPORTS)
# error out if these files are missing
required_files = $(foreach backport,$(KNOWN_BACKPORTS), \
$(addprefix debian/backports/$(backport)/, \
debian/source/format \
versionext \
exclude))
$(if $(filter-out $(wildcard $(required_files)),$(required_files)), \
$(error missing required backports files: \
$(filter-out $(wildcard $(required_files)),$(required_files)). \
see debian/backports/README) \
)
TARBALLDIR ?= $(shell dh_testdir debian/changelog && realpath .)
define backports-targets
# if this file is empty, no automatic changelog entry is created
VERSIONEXT_$(1) ?= $(strip \
$(shell cat $(wildcard debian/backports/$(1)/versionext)))
DEBIAN_VERSION_$(1) = $(DEBIAN_VERSION)$$(VERSIONEXT_$(1))
BACKPORTDIR_$(1) = $(realpath debian/backports/$(1))
# as of right now, must be '3.0 (quilt)'
SOURCEFORMAT_$(1) ?= $(strip \
$(shell cat debian/backports/$(1)/debian/source/format))
# files checked for the dirhash (see below)
FINDCMD_$(1) = find -L debian/backports/$(1)/debian \
-type f \
! -path debian/backports/$(1)/debian/changelog
# files *not* pulled from the root debian directory into the backport tarball:
# debian/changelog (copied and edited for backport version entry)
# debian/backports itself (relevant contents are copied out separately)
# anything provided in the current backports debian dir
# anything specified in the 'exclude' file in the current backports debian dir
EXCLUDEROOT_$(1) = debian/changelog debian/backports \
$$(subst debian/backports/$(1)/,,$$(shell $$(FINDCMD_$(1)))) \
$$(shell cat debian/backports/$(1)/exclude)
EXCLUDEROOT_TAR_$(1) = $$(foreach file,$$(EXCLUDEROOT_$(1)),--exclude $$(file))
EXCLUDEROOT_FIND_$(1) = $$(foreach file,$$(EXCLUDEROOT_$(1)),-o -path $$(file))
# find command resulting in all files that *will* be pulled into the backport
# tarball.
FINDCMDROOT_$(1) = find -L debian/ \
'(' -false $$(EXCLUDEROOT_FIND_$(1)) ')' -prune -o \
-type f -a '!' '(' -false $$(EXCLUDEROOT_FIND_$(1)) ')'
# usually using `find' output for dependencies has the downfall of not tracking
# file removal. Work around that by introducing a dependency on a file whose
# name contains the hash of `find' output, so that the name will change when a
# file is deleted.
DIRHASH_$(1) = \
$$(shell $$(FINDCMD_$(1)) | sha1sum | sed -r 's/^(......).*/\1/')
DIRHASHROOT_$(1) = \
$$(shell $$(FINDCMDROOT_$(1)) | sha1sum | sed -r 's/^(......).*/\1/')
CONTROL_$(1) = $$(strip \
$$(if $$(wildcard $$(BACKPORTDIR_$(1))/debian/control), \
$$(BACKPORTDIR_$(1))/debian/control, \
$(realpath debian/control) \
))
# TARGETS:
$(1): $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc ;
# we use 3.0 (custom) to build a source package directly from tarballs,
# bypassing the usual checks (which wouldn't like our combination-of-
# directories approach)
$(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc:
dpkg-source -l$$(BACKPORTDIR_$(1))/debian/changelog \
-c$$(CONTROL_$(1)) \
--format='3.0 (custom)' \
--target-format='$$(SOURCEFORMAT_$(1))' \
-b . $$^
mv $(TARBALLDIR)/../$$(notdir $$@) $$@
ifeq ($$(SOURCEFORMAT_$(1)),3.0 (quilt))
# this target depends on the orig.tar.gz file, for which there is no target in
# this makefile. It is assumed to either already exist or be built by a target
# provided elsewhere in debian/rules (e.g. via pristine-tar)
$$(if $$(findstring $(ORIG_VERSION),$$(DEBIAN_VERSION_$(1))), \
$$(info downstream version matches upstream version (good)), \
$$(error quilt format expects downstream version \
($$(DEBIAN_VERSION_$(1))) to contain upstream version \
($(ORIG_VERSION)). Make a new debian/changelog entry \
to reflect the new upstream release) \
)
$(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc: \
$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz \
$(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).debian.tar.xz
else
$$(error unsupported source format for $(1) backport: $$(SOURCEFORMAT_$(1)))
endif #SOURCEFORMAT_$(1)
# for 3.0 (quilt)
$(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).debian.tar.xz: \
$$(BACKPORTDIR_$(1))/debian/changelog \
$$(shell $$(FINDCMD_$(1))) \
$$(BACKPORTDIR_$(1))/$$(DIRHASH_$(1)).backport.dirhash \
$$(shell $$(FINDCMDROOT_$(1))) \
$$(BACKPORTDIR_$(1))/$$(DIRHASHROOT_$(1)).root.dirhash \
$$(BACKPORTDIR_$(1))/exclude
rm -f $$(subst .tar.xz,.tar,$$@) $$@
tar -chf $$(subst .tar.xz,.tar,$$@) \
--exclude-vcs $$(EXCLUDEROOT_TAR_$(1)) debian/
cd debian/backports/$(1) && tar -uhf $$(subst .tar.xz,.tar,$$@) \
--exclude-vcs debian/
xz $$(subst .tar.xz,.tar,$$@)
$$(BACKPORTDIR_$(1))/debian/changelog: \
debian/changelog \
debian/backports/$(1)/versionext
rm -f debian/backports/$(1)/debian/changelog
cp $$< $$@
$(if $$(VERSIONEXT_$(1)), \
dch -c $$@ -v '$$(DEBIAN_VERSION_$(1))' -b \
'backport to $(1) systems', \
)
$$(BACKPORTDIR_$(1))/$$(DIRHASH_$(1)).backport.dirhash:
rm -f debian/backports/$(1)/*.backport.dirhash
touch $$@
$$(BACKPORTDIR_$(1))/$$(DIRHASHROOT_$(1)).root.dirhash:
rm -f debian/backports/$(1)/*.root.dirhash
touch $$@
endef # backports-targets
$(foreach backport,$(KNOWN_BACKPORTS),$(eval \
$(call backports-targets,$(backport))))
backports: $(KNOWN_BACKPORTS)

View File

@ -1,56 +0,0 @@
Source: frr
Section: net
Priority: optional
Maintainer: Nobody <nobody@frrouting.org>
Uploaders: Nobody <nobody@frrouting.org>
XSBC-Original-Maintainer: <maintainers@frrouting.org>
Build-Depends: debhelper (>= 7.0.50~), libncurses5-dev, libreadline-dev, texlive-latex-base, texlive-generic-recommended, libpam0g-dev | libpam-dev, libcap-dev, texinfo (>= 4.7), imagemagick, ghostscript, groff, autotools-dev, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, pkg-config, python (>= 2.7), python-ipaddr
Standards-Version: 3.9.6
Homepage: http://www.frrouting.org/
XS-Testsuite: autopkgtest
Package: frr
Architecture: any
Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), ${misc:Depends}
Pre-Depends: adduser
Conflicts: zebra, zebra-pj, quagga
Replaces: zebra, zebra-pj
Suggests: snmpd
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
FRR is free software which manages TCP/IP based routing protocols.
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, RIPng,
PIM and LDP as well as the IPv6 versions of these.
.
FRR is a fork of Quagga with an open community model. The main git
lives on https://github.com/frrouting/frr.git
Package: frr-dbg
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version})
Priority: extra
Section: debug
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (debug symbols)
This package provides debugging symbols for all binary packages built
from frr source package. It's highly recommended to have this package
installed before reporting any FRR crashes to either FRR developers or
Debian package maintainers.
Package: frr-doc
Section: net
Architecture: all
Depends: ${misc:Depends}
Suggests: frr
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (documentation)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these.
Package: frr-pythontools
Section: net
Architecture: all
Depends: ${misc:Depends}, frr (= ${binary:Version}), python (>= 2.7), python-ipaddr
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (Python Tools)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these.

View File

@ -1,11 +0,0 @@
etc/frr/
usr/bin/vtysh
usr/bin/mtracebis
usr/include/frr/
usr/lib/
usr/share/doc/frr/
usr/share/snmp/mibs/
usr/share/yang/
tools/etc/* etc/
tools/*.service lib/systemd/system
debian/frr.conf usr/lib/tmpfiles.d

View File

@ -1,206 +0,0 @@
#!/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
WANT_LDP ?= 1
WANT_PIM ?= 1
WANT_OSPFAPI ?= 1
WANT_BGP_VNC ?= 1
WANT_CUMULUS_MODE ?= 0
WANT_MULTIPATH ?= 1
WANT_SNMP ?= 0
WANT_RPKI ?= 0
WANT_BFD ?= 1
# 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
# 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
GENERATE_PDF ?= 0
#
####################################
export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
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_LDP), 1)
USE_LDP=--enable-ldpd
else
USE_LDP=--disable-ldpd
endif
ifeq ($(WANT_PIM), 1)
USE_PIM=--enable-pimd
else
USE_PIM=--disable-pimd
endif
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_RPKI), 1)
USE_RPKI=--enable-rpki
else
USE_RPKI=--disable-rpki
endif
ifeq ($(WANT_BFD), 1)
USE_BFD=--enable-bfdd
else
USE_BFD=--disable-bfdd
endif
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
ifdef DEBIAN_JOBS
MAKEFLAGS += -j$(DEBIAN_JOBS)
endif
%:
dh $@ --with=autoreconf --parallel --dbg-package=frr-dbg --list-missing
override_dh_gencontrol:
ifeq ($(WANT_RPKI), 1)
dh_gencontrol -- -Vdist:Depends="librtr0 (>= 0.5)"
else
dh_gencontrol
endif
override_dh_auto_configure:
# Frr needs /proc to check some BSD vs Linux specific stuff.
# Else it fails with an obscure error message pointing out that
# IPCTL_FORWARDING is an undefined symbol which is not very helpful.
@if ! [ -d /proc/1 ]; then \
echo "./configure needs a mounted /proc"; \
exit 1; \
fi
if ! [ -e config.status ]; then \
dh_auto_configure -- \
--enable-exampledir=/usr/share/doc/frr/examples/ \
--localstatedir=/var/run/frr \
--sbindir=/usr/lib/frr \
--sysconfdir=/etc/frr \
$(USE_SNMP) \
$(USE_OSPFAPI) \
$(USE_MULTIPATH) \
$(USE_LDP) \
--enable-fpm \
$(USE_FRR_USER) $(USE_FRR_GROUP) \
$(USE_FRR_VTY_GROUP) \
--enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \
--with-libpam \
--enable-systemd=no \
--enable-poll=yes \
$(USE_CUMULUS) \
$(USE_PIM) \
--enable-dependency-tracking \
$(USE_BGP_VNC) \
$(USE_RPKI) \
$(USE_BFD) \
$(shell dpkg-buildflags --export=configure); \
fi
override_dh_auto_build:
#dh_auto_build
$(MAKE)
# doc/ is a bit crazy
ifeq ($(GENERATE_PDF), 1)
dh_auto_build -- -C doc pdf
endif
rm -vf doc/_build/texinfo/frr.info
dh_auto_build -- -C doc info
override_dh_auto_test:
override_dh_auto_install:
dh_auto_install
cp tools/frrinit.sh debian/frr.init
# installed in frr-pythontools
rm debian/tmp/usr/lib/frr/frr-reload.py
# cleaning up the info dir
rm -f debian/tmp/usr/share/info/dir*
# 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*
# leftover from previously shipping SMUX client OID MIB
mkdir -p debian/tmp/usr/share/snmp/mibs/
# cleaning .la files
sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la
sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/frr/modules/*.la
sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/frr/libyang_plugins/*.la
override_dh_systemd_start:
dh_systemd_start frr.service
override_dh_systemd_enable:
dh_systemd_enable frr.service

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1 +0,0 @@
-1~ubuntu14.04+1

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1 +0,0 @@
-1~ubuntu16.04+1

View File

@ -1,54 +0,0 @@
Source: frr
Section: net
Priority: optional
Maintainer: Nobody <nobody@frrouting.org>
Uploaders: Nobody <nobody@frrouting.org>
XSBC-Original-Maintainer: <maintainers@frrouting.org>
Build-Depends: debhelper (>= 7.0.50~), libncurses5-dev, libreadline-dev, texlive-latex-base, texlive-generic-recommended, libpam0g-dev | libpam-dev, libcap-dev, texinfo (>= 4.7), imagemagick, ghostscript, groff, autotools-dev, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2 | libjson-c3, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddress, libpython-dev
Standards-Version: 3.9.6
Homepage: http://www.frrouting.org/
Package: frr
Architecture: any
Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), iproute2 | iproute, ${misc:Depends}, libc-ares2
Pre-Depends: adduser
Conflicts: zebra, zebra-pj, quagga
Replaces: zebra, zebra-pj
Suggests: snmpd
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
FRR is free software which manages TCP/IP based routing protocols.
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, RIPng,
PIM and LDP as well as the IPv6 versions of these.
.
FRR is a fork of Quagga with an open community model. The main git
lives on https://github.com/frrouting/frr.git
Package: frr-dbg
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version})
Priority: optional
Section: debug
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (debug symbols)
This package provides debugging symbols for all binary packages built
from frr source package. It's highly recommended to have this package
installed before reporting any FRR crashes to either FRR developers or
Debian package maintainers.
Package: frr-doc
Section: net
Architecture: all
Depends: ${misc:Depends}
Suggests: frr
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (documentation)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these.
Package: frr-pythontools
Section: net
Architecture: all
Depends: ${misc:Depends}, frr (= ${binary:Version}), python (>= 2.7), python-ipaddress
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (Python Tools)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these.

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1 +0,0 @@
-1~ubuntu17.10+1

View File

@ -1,54 +0,0 @@
Source: frr
Section: net
Priority: optional
Maintainer: Nobody <nobody@frrouting.org>
Uploaders: Nobody <nobody@frrouting.org>
XSBC-Original-Maintainer: <maintainers@frrouting.org>
Build-Depends: debhelper (>= 7.0.50~), libncurses5-dev, libreadline-dev, texlive-latex-base, texlive-generic-recommended, libpam0g-dev | libpam-dev, libcap-dev, texinfo (>= 4.7), imagemagick, ghostscript, groff, autotools-dev, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2 | libjson-c3, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddress, python-sphinx, libpython-dev
Standards-Version: 3.9.6
Homepage: http://www.frrouting.org/
Package: frr
Architecture: any
Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), iproute2 | iproute, ${misc:Depends}, libc-ares2
Pre-Depends: adduser
Conflicts: zebra, zebra-pj, quagga
Replaces: zebra, zebra-pj
Suggests: snmpd
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga
FRR is free software which manages TCP/IP based routing protocols.
It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, RIPng,
PIM and LDP as well as the IPv6 versions of these.
.
FRR is a fork of Quagga with an open community model. The main git
lives on https://github.com/frrouting/frr.git
Package: frr-dbg
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version})
Priority: optional
Section: debug
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (debug symbols)
This package provides debugging symbols for all binary packages built
from frr source package. It's highly recommended to have this package
installed before reporting any FRR crashes to either FRR developers or
Debian package maintainers.
Package: frr-doc
Section: net
Architecture: all
Depends: ${misc:Depends}
Suggests: frr
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (documentation)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these.
Package: frr-pythontools
Section: net
Architecture: all
Depends: ${misc:Depends}, frr (= ${binary:Version}), python (>= 2.7), python-ipaddress
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (Python Tools)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,
IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these.

View File

@ -1 +0,0 @@
3.0 (quilt)

View File

@ -1 +0,0 @@
-1~ubuntu18.04+1

View File

@ -10,21 +10,21 @@ Build-Depends:
chrpath,
debhelper (>= 7.0.50~),
dh-autoreconf,
dh-systemd,
dh-systemd <!pkg.frr.nosystemd>,
flex,
gawk,
git,
install-info,
libc-ares-dev,
libcap-dev,
libjson-c-dev,
libjson-c2 | libjson-c3,
libjson0 | libjson-c2 | libjson-c3,
libjson0-dev | libjson-c-dev,
libpam0g-dev | libpam-dev,
libpcre3-dev,
libpython-dev | libpython3-dev,
libreadline-dev,
libsnmp-dev,
libsystemd-dev,
libsystemd-dev <!pkg.frr.nosystemd>,
pkg-config,
python (>= 2.7) | python3,
python-sphinx | python3-sphinx,
@ -38,7 +38,6 @@ Depends:
${misc:Depends},
${shlibs:Depends},
iproute2 | iproute,
libc-ares2,
logrotate (>= 3.2-11)
Pre-Depends: adduser
Conflicts: zebra, zebra-pj, quagga
@ -83,8 +82,8 @@ Architecture: all
Depends:
${misc:Depends},
frr (= ${binary:Version}),
python (>= 2.7),
python-ipaddr
python (>= 2.7) | python3,
python-ipaddr | python-ipaddress
Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon (Python Tools)
This package includes info files for frr, a free software which manages
TCP/IP based routing protocols. It supports BGP4, BGP4+, OSPFv2, OSPFv3,

View File

@ -1 +1,2 @@
usr/share/info/
doc/user/_build/texinfo/*.png usr/share/info

View File

@ -3,10 +3,9 @@ usr/bin/vtysh
usr/bin/mtracebis
usr/include/frr/
usr/lib/
tools/frr usr/lib/frr
usr/share/doc/frr/
usr/share/man/
usr/share/yang/
tools/etc/* etc/
tools/*.service lib/systemd/system
tools/frr-reload usr/lib/frr/
debian/frr.conf usr/lib/tmpfiles.d

View File

@ -105,16 +105,17 @@ ifdef DEBIAN_JOBS
MAKEFLAGS += -j$(DEBIAN_JOBS)
endif
%:
dh $@ --with=systemd,autoreconf --parallel --dbg-package=frr-dbg --list-missing
override_dh_gencontrol:
ifeq ($(WANT_RPKI), 1)
dh_gencontrol -- -Vdist:Depends="librtr0 (>= 0.5)"
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
DH_WITH_SYSTEMD=systemd,
USE_SYSTEMD=--enable-systemd=yes
else
dh_gencontrol
DH_WITH_SYSTEMD=
USE_SYSTEMD=--enable-systemd=no
endif
%:
dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel --dbg-package=frr-dbg --list-missing
override_dh_auto_configure:
if ! [ -e config.status ]; then \
dh_auto_configure -- \
@ -132,7 +133,7 @@ override_dh_auto_configure:
--enable-logfile-mask=0640 \
$(USE_WERROR) \
--with-libpam \
--enable-systemd=yes \
$(USE_SYSTEMD) \
$(USE_CUMULUS) \
--disable-dependency-tracking \
$(USE_BGP_VNC) \
@ -140,19 +141,18 @@ override_dh_auto_configure:
$(shell dpkg-buildflags --export=configure); \
fi
override_dh_auto_build:
dh_auto_build
override_dh_auto_test:
override_dh_auto_install:
dh_auto_install
# installed in frr-pythontools
rm debian/tmp/usr/lib/frr/frr-reload.py
# cleaning up the info dir
rm -f debian/tmp/usr/share/info/dir*
# let dh_systemd_* and dh_installinit do their thing automatically
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
cp tools/frr.service debian/frr.service
else
cp tools/frr debian/frr.init
endif
# install config files
mkdir -p debian/tmp/etc/frr/
@ -162,38 +162,3 @@ override_dh_auto_install:
rm debian/tmp/usr/lib/*.la
rm debian/tmp/usr/lib/frr/modules/*.la
rm debian/tmp/usr/lib/frr/libyang_plugins/*.la
override_dh_systemd_start:
dh_systemd_start frr.service
override_dh_systemd_enable:
dh_systemd_enable frr.service
# backports
SRCPKG = frr
KNOWN_BACKPORTS = debian8 debian9 ubuntu14.04 ubuntu16.04 ubuntu17.10 ubuntu18.04
DEBIAN_VERSION := $(shell dh_testdir && \
dpkg-parsechangelog -c1 < debian/changelog | \
sed -rn 's/^Version: ?//p')
ORIG_VERSION := $(DEBIAN_VERSION)
-include debian/backports/rules
ifneq ($(TARBALLDIR),)
ifeq ($(wildcard frr-$(ORIG_VERSION).tar.gz),frr-$(ORIG_VERSION).tar.gz)
$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: \
frr-$(ORIG_VERSION).tar.gz
cp $< $@
else # wildcard frr-$(ORIG_VERSION).tar.gz
# better error message on missing .orig.tar.gz
$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz:
@ echo "\`$(TARBALLDIR)/$(SRCPKG)-$(ORIG_VERSION).tar.gz'" not \
found and not generated by debian/rules. Provided you have the \
necessary packages installed, you can generate it yourself via \
"\"./bootstrap.sh && ./configure && make dist\"".
exit 1
endif # wildcard frr-$(ORIG_VERSION).tar.gz
endif # TARBALLDIR nonempty

View File

@ -15,32 +15,6 @@ EXTRA_DIST += \
debianpkg/tests/daemons \
debianpkg/watchfrr.rc \
\
debianpkg/backports/README \
debianpkg/backports/rules \
debianpkg/backports/debian8/debian/source/format \
debianpkg/backports/debian8/exclude \
debianpkg/backports/debian8/versionext \
debianpkg/backports/debian9/debian/source/format \
debianpkg/backports/debian9/exclude \
debianpkg/backports/debian9/versionext \
debianpkg/backports/ubuntu14.04/debian/control \
debianpkg/backports/ubuntu14.04/debian/frr.install \
debianpkg/backports/ubuntu14.04/debian/rules \
debianpkg/backports/ubuntu14.04/debian/source/format \
debianpkg/backports/ubuntu14.04/exclude \
debianpkg/backports/ubuntu14.04/versionext \
debianpkg/backports/ubuntu16.04/debian/source/format \
debianpkg/backports/ubuntu16.04/exclude \
debianpkg/backports/ubuntu16.04/versionext \
debianpkg/backports/ubuntu17.10/debian/control \
debianpkg/backports/ubuntu17.10/debian/source/format \
debianpkg/backports/ubuntu17.10/exclude \
debianpkg/backports/ubuntu17.10/versionext \
debianpkg/backports/ubuntu18.04/debian/control \
debianpkg/backports/ubuntu18.04/debian/source/format \
debianpkg/backports/ubuntu18.04/exclude \
debianpkg/backports/ubuntu18.04/versionext \
\
debianpkg/frr-dbg.lintian-overrides \
debianpkg/frr-doc.docs \
debianpkg/frr-doc.info \