]> git.proxmox.com Git - mirror_frr.git/commitdiff
debianpkg: kill backports
authorDavid Lamparter <equinox@diac24.net>
Mon, 22 Oct 2018 11:37:53 +0000 (13:37 +0200)
committerDavid Lamparter <equinox@diac24.net>
Tue, 19 Feb 2019 20:30:50 +0000 (21:30 +0100)
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>
31 files changed:
debianpkg/backports/.gitignore [deleted file]
debianpkg/backports/README [deleted file]
debianpkg/backports/debian8/debian/source/format [deleted file]
debianpkg/backports/debian8/exclude [deleted file]
debianpkg/backports/debian8/versionext [deleted file]
debianpkg/backports/debian9/debian/source/format [deleted file]
debianpkg/backports/debian9/exclude [deleted file]
debianpkg/backports/debian9/versionext [deleted file]
debianpkg/backports/rules [deleted file]
debianpkg/backports/ubuntu14.04/debian/control [deleted file]
debianpkg/backports/ubuntu14.04/debian/frr.install [deleted file]
debianpkg/backports/ubuntu14.04/debian/rules [deleted file]
debianpkg/backports/ubuntu14.04/debian/source/format [deleted file]
debianpkg/backports/ubuntu14.04/exclude [deleted file]
debianpkg/backports/ubuntu14.04/versionext [deleted file]
debianpkg/backports/ubuntu16.04/debian/source/format [deleted file]
debianpkg/backports/ubuntu16.04/exclude [deleted file]
debianpkg/backports/ubuntu16.04/versionext [deleted file]
debianpkg/backports/ubuntu17.10/debian/control [deleted file]
debianpkg/backports/ubuntu17.10/debian/source/format [deleted file]
debianpkg/backports/ubuntu17.10/exclude [deleted file]
debianpkg/backports/ubuntu17.10/versionext [deleted file]
debianpkg/backports/ubuntu18.04/debian/control [deleted file]
debianpkg/backports/ubuntu18.04/debian/source/format [deleted file]
debianpkg/backports/ubuntu18.04/exclude [deleted file]
debianpkg/backports/ubuntu18.04/versionext [deleted file]
debianpkg/control
debianpkg/frr-doc.install
debianpkg/frr.install
debianpkg/rules
debianpkg/subdir.am

diff --git a/debianpkg/backports/.gitignore b/debianpkg/backports/.gitignore
deleted file mode 100644 (file)
index 3b20d26..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-*/*.dirhash
-*/debian/changelog
diff --git a/debianpkg/backports/README b/debianpkg/backports/README
deleted file mode 100644 (file)
index efd322e..0000000
+++ /dev/null
@@ -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.
-
diff --git a/debianpkg/backports/debian8/debian/source/format b/debianpkg/backports/debian8/debian/source/format
deleted file mode 100644 (file)
index 163aaf8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debianpkg/backports/debian8/exclude b/debianpkg/backports/debian8/exclude
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debianpkg/backports/debian8/versionext b/debianpkg/backports/debian8/versionext
deleted file mode 100644 (file)
index 4824521..0000000
+++ /dev/null
@@ -1 +0,0 @@
--1~debian8+1
diff --git a/debianpkg/backports/debian9/debian/source/format b/debianpkg/backports/debian9/debian/source/format
deleted file mode 100644 (file)
index 163aaf8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debianpkg/backports/debian9/exclude b/debianpkg/backports/debian9/exclude
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debianpkg/backports/debian9/versionext b/debianpkg/backports/debian9/versionext
deleted file mode 100644 (file)
index db85932..0000000
+++ /dev/null
@@ -1 +0,0 @@
--1~debian9+1
diff --git a/debianpkg/backports/rules b/debianpkg/backports/rules
deleted file mode 100755 (executable)
index d0c6dcc..0000000
+++ /dev/null
@@ -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)
diff --git a/debianpkg/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control
deleted file mode 100644 (file)
index 3f31f18..0000000
+++ /dev/null
@@ -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.
-
diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.install b/debianpkg/backports/ubuntu14.04/debian/frr.install
deleted file mode 100644 (file)
index 7fb81c4..0000000
+++ /dev/null
@@ -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
diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules
deleted file mode 100755 (executable)
index 21b442d..0000000
+++ /dev/null
@@ -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
-
diff --git a/debianpkg/backports/ubuntu14.04/debian/source/format b/debianpkg/backports/ubuntu14.04/debian/source/format
deleted file mode 100644 (file)
index 163aaf8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debianpkg/backports/ubuntu14.04/exclude b/debianpkg/backports/ubuntu14.04/exclude
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debianpkg/backports/ubuntu14.04/versionext b/debianpkg/backports/ubuntu14.04/versionext
deleted file mode 100644 (file)
index c5be065..0000000
+++ /dev/null
@@ -1 +0,0 @@
--1~ubuntu14.04+1
diff --git a/debianpkg/backports/ubuntu16.04/debian/source/format b/debianpkg/backports/ubuntu16.04/debian/source/format
deleted file mode 100644 (file)
index 163aaf8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debianpkg/backports/ubuntu16.04/exclude b/debianpkg/backports/ubuntu16.04/exclude
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debianpkg/backports/ubuntu16.04/versionext b/debianpkg/backports/ubuntu16.04/versionext
deleted file mode 100644 (file)
index dc33d97..0000000
+++ /dev/null
@@ -1 +0,0 @@
--1~ubuntu16.04+1
diff --git a/debianpkg/backports/ubuntu17.10/debian/control b/debianpkg/backports/ubuntu17.10/debian/control
deleted file mode 100644 (file)
index ce73f9d..0000000
+++ /dev/null
@@ -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.
diff --git a/debianpkg/backports/ubuntu17.10/debian/source/format b/debianpkg/backports/ubuntu17.10/debian/source/format
deleted file mode 100644 (file)
index 163aaf8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debianpkg/backports/ubuntu17.10/exclude b/debianpkg/backports/ubuntu17.10/exclude
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debianpkg/backports/ubuntu17.10/versionext b/debianpkg/backports/ubuntu17.10/versionext
deleted file mode 100644 (file)
index bfbeccd..0000000
+++ /dev/null
@@ -1 +0,0 @@
--1~ubuntu17.10+1
diff --git a/debianpkg/backports/ubuntu18.04/debian/control b/debianpkg/backports/ubuntu18.04/debian/control
deleted file mode 100644 (file)
index 3fccb46..0000000
+++ /dev/null
@@ -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.
diff --git a/debianpkg/backports/ubuntu18.04/debian/source/format b/debianpkg/backports/ubuntu18.04/debian/source/format
deleted file mode 100644 (file)
index 163aaf8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debianpkg/backports/ubuntu18.04/exclude b/debianpkg/backports/ubuntu18.04/exclude
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debianpkg/backports/ubuntu18.04/versionext b/debianpkg/backports/ubuntu18.04/versionext
deleted file mode 100644 (file)
index 832fb4c..0000000
+++ /dev/null
@@ -1 +0,0 @@
--1~ubuntu18.04+1
index 04481a7df4455c4351cfafb40ea8095b1cfbf72e..f3699e9f68ce77f39cb5b8340be5956fbd67173c 100644 (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,
index 8854b2c547e187fc34d7b842d4ec446e11e7ecd9..79dbf5fb784121246e2632524c15e749f0c8bfaf 100644 (file)
@@ -1 +1,2 @@
+usr/share/info/
 doc/user/_build/texinfo/*.png usr/share/info
index a53c5d1385c8daded7251bdd37bb23e8c47059e6..13c5dd27a45d78af9e2d29ac2ac3d7a881371245 100644 (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
index 12d6c3545c5694bd42028add0672235c77f52f5b..a4812293b00fcb06849ebd25cb47c724b6133d6a 100755 (executable)
@@ -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
index af17e4642a45880654df8ec9f1b58af22cdc607b..e9a8d764b5027bd8b85b517318e6a4348c618cf9 100644 (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 \