From a8247b210fa21c6a6d7d661105f1687dfcde5968 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Tue, 14 Feb 2017 18:45:50 +0700 Subject: [PATCH 01/52] debian: structure for building backports from a single branch Source a makefile (when it exists) in debian/rules to assemble a source package via: * a debian.tar.gz tarball built from combining the contents of debian/ and debian/backports/$backport/debian/ using other details under debian/backports/$backport * an orig.tar.gz file (not generated by this makefile). This can (and should) be the same for all backports. Details in debian/backports/README Signed-off-by: Silas McCroskey --- debian/backports/.gitignore | 2 + debian/backports/README | 28 ++++++++ debian/backports/rules | 129 ++++++++++++++++++++++++++++++++++++ debian/rules | 19 ++++++ debian/rules.orig | 98 +++++++++++++++++++++++++++ 5 files changed, 276 insertions(+) create mode 100644 debian/backports/.gitignore create mode 100644 debian/backports/README create mode 100644 debian/backports/rules create mode 100755 debian/rules.orig diff --git a/debian/backports/.gitignore b/debian/backports/.gitignore new file mode 100644 index 0000000000..3b20d26891 --- /dev/null +++ b/debian/backports/.gitignore @@ -0,0 +1,2 @@ +*/*.dirhash +*/debian/changelog diff --git a/debian/backports/README b/debian/backports/README new file mode 100644 index 0000000000..efd322e1d9 --- /dev/null +++ b/debian/backports/README @@ -0,0 +1,28 @@ +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/debian/backports/rules b/debian/backports/rules new file mode 100644 index 0000000000..3b8699754f --- /dev/null +++ b/debian/backports/rules @@ -0,0 +1,129 @@ +.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 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 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: + # -b directory unused (but required) for '3.0 (custom)' source format + dpkg-source -l$$(BACKPORTDIR_$(1))/debian/changelog \ + -c$$(CONTROL_$(1)) \ + --format='3.0 (custom)' \ + --target-format='$$(SOURCEFORMAT_$(1))' \ + --build . $$^ + +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) +$(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 -cf $$(subst .tar.xz,.tar,$$@) \ + --exclude-vcs $$(EXCLUDEROOT_TAR_$(1)) debian/ + cd debian/backports/$(1) && tar -uf $$(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/debian/rules b/debian/rules index 5744505e64..8a13b1bcea 100755 --- a/debian/rules +++ b/debian/rules @@ -100,3 +100,22 @@ override_dh_systemd_start: override_dh_systemd_enable: dh_systemd_enable frr.service +# backports +SRCPKG = frr +KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04 +ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ + | cut -d, -f2 | xargs echo) +DEBIAN_VERSION := $(shell dh_testdir && \ + dpkg-parsechangelog -c1 -Sversion < debian/changelog) +-include debian/backports/rules + +ifneq ($(TARBALLDIR),) +# better error message on missing .orig.tar.gz +$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: + @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.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\"" \ + and renaming the resulting file. + exit 1 +endif # def TARBALLDIR diff --git a/debian/rules.orig b/debian/rules.orig new file mode 100755 index 0000000000..42c0d5f63a --- /dev/null +++ b/debian/rules.orig @@ -0,0 +1,98 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 +export DEB_BUILD_HARDENING=1 +export DH_OPTIONS=-v + +ifeq ($(WANT_SNMP), 1) + USE_SNMP=--enable-snmp + $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience") +else + $(warning "DEBIAN: SNMP disabled, see README.Debian") +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=systemd,autoreconf --parallel --dbg-package=frr-dbg --list-missing + +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) \ + --enable-ospfapi=yes \ + --enable-vtysh=yes \ + --enable-isisd=yes \ + --enable-multipath=256 \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --enable-werror \ + --enable-gcc-rdynamic \ + --with-libpam \ + --enable-systemd=yes \ + --enable-poll=yes \ + --enable-cumulus=yes \ + --enable-pimd=yes \ + --enable-dependency-tracking \ + --enable-bgp-vnc=no; \ + fi + +override_dh_auto_build: + #dh_auto_build + $(MAKE) + dh_auto_build -- -C doc draft-zebra-00.txt + + + # doc/ is a bit crazy +ifeq ($(GENERATE_PDF), 1) + dh_auto_build -- -C doc frr.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf +endif + rm -vf doc/frr.info + dh_auto_build -- -C doc frr.info + rm -vf doc/frr.info.html* + +override_dh_auto_test: + +override_dh_auto_install: + dh_auto_install + + # 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* + + # installing the Frr specific SNMP MIB + install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB + + # cleaning .la files + sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la + +override_dh_systemd_start: + dh_systemd_start frr.service + +override_dh_systemd_enable: + dh_systemd_enable frr.service + From 79c81c2651608795138df0176f5326c4a4fa7c51 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Tue, 14 Feb 2017 18:52:40 +0700 Subject: [PATCH 02/52] debian: fix dpkg tool invocations to work on Ubuntu 12.04 dpkg-parsechangelog and dpkg-source were both using flags not yet available in the versions available on 12.04. Signed-off-by: Martin Winter --- debian/backports/rules | 2 +- debian/rules | 5 +++-- debian/rules.orig | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/debian/backports/rules b/debian/backports/rules index 3b8699754f..a5b8991d13 100644 --- a/debian/backports/rules +++ b/debian/backports/rules @@ -76,7 +76,7 @@ $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc: -c$$(CONTROL_$(1)) \ --format='3.0 (custom)' \ --target-format='$$(SOURCEFORMAT_$(1))' \ - --build . $$^ + -b . $$^ ifeq ($$(SOURCEFORMAT_$(1)),3.0 (quilt)) # this target depends on the orig.tar.gz file, for which there is no target in diff --git a/debian/rules b/debian/rules index 8a13b1bcea..3b6b9d86e2 100755 --- a/debian/rules +++ b/debian/rules @@ -106,13 +106,14 @@ KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04 ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ | cut -d, -f2 | xargs echo) DEBIAN_VERSION := $(shell dh_testdir && \ - dpkg-parsechangelog -c1 -Sversion < debian/changelog) + dpkg-parsechangelog -c1 < debian/changelog | \ + sed -rn 's/^Version: ?//p') -include debian/backports/rules ifneq ($(TARBALLDIR),) # better error message on missing .orig.tar.gz $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: - @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz'" not + @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.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\"" \ diff --git a/debian/rules.orig b/debian/rules.orig index 42c0d5f63a..98bf6222b8 100755 --- a/debian/rules.orig +++ b/debian/rules.orig @@ -96,3 +96,22 @@ override_dh_systemd_start: override_dh_systemd_enable: dh_systemd_enable frr.service +# backports +SRCPKG = frr +KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04 +ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ + | cut -d, -f2 | xargs echo) +DEBIAN_VERSION := $(shell dh_testdir && \ + dpkg-parsechangelog -c1 -Sversion < debian/changelog) +-include debian/backports/rules + +ifneq ($(TARBALLDIR),) +# better error message on missing .orig.tar.gz +$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: + @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.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\"" \ + and renaming the resulting file. + exit 1 +endif # def TARBALLDIR From ee9d7744f8bb1b09363e4eed9a612f827d210d64 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Tue, 14 Feb 2017 19:04:10 +0700 Subject: [PATCH 03/52] debian/backports: include in distfile, don't put files in .. Testing-done: ran 'make dist', unpacked elsewhere, built from result Adjusted target to build the .orig.tar.gz accordingly, since it must exclude the debian/ subdirectory. Allows for building any backport from only a tarball. Signed-off-by: Silas McCroskey Signed-off-by: Martin Winter --- .gitignore | 5 +++++ Makefile.am | 1 + configure.ac | 1 + debian/Makefile.am | 36 ++++++++++++++++++++++++++++++++++++ debian/backports/rules | 8 +++++--- debian/rules | 18 ++++++++++++++---- debian/rules.orig | 5 +++-- 7 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 debian/Makefile.am diff --git a/.gitignore b/.gitignore index 7ed1255d9e..f7c731b4bc 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ aclocal.m4 Makefile.in *.tar.gz *.tar.gz.asc +*.tar.?z .nfs* libtool .libs @@ -61,6 +62,10 @@ debian/frr.prerm.debhelper debian/frr.substvars debian/frr/ debian/tmp/ +*.deb +*.ddeb +*.dsc +*.changes *.pyc *.swp cscope.* diff --git a/Makefile.am b/Makefile.am index 15f86dff4f..a4841490e5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -64,6 +64,7 @@ DIST_SUBDIRS = . bgpd \ vtysh doc tests \ solaris bgpd/rfp-example/librfp \ bgpd/rfp-example/rfptest \ + debian # end if PKGSRC diff --git a/configure.ac b/configure.ac index 41ebab6a16..c535ed8d5b 100755 --- a/configure.ac +++ b/configure.ac @@ -1839,6 +1839,7 @@ AC_CONFIG_FILES([Makefile doc/Makefile tests/Makefile bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile redhat/frr.spec + debian/Makefile snapcraft/snapcraft.yaml lib/version.h tests/lib/cli/test_cli.refout diff --git a/debian/Makefile.am b/debian/Makefile.am new file mode 100644 index 0000000000..56e37088a1 --- /dev/null +++ b/debian/Makefile.am @@ -0,0 +1,36 @@ + +EXTRA_DIST = README.Debian README.Maintainer \ + changelog compat control copyright \ + rules source/format tests/control \ + tests/daemons watch watchquagga.rc \ + backports/README backports/rules \ + backports/ubuntu12.04/debian/control \ + backports/ubuntu12.04/debian/quagga.install \ + backports/ubuntu12.04/debian/quagga.postinst \ + backports/ubuntu12.04/debian/rules \ + backports/ubuntu12.04/debian/source/format \ + backports/ubuntu12.04/exclude \ + backports/ubuntu12.04/versionext \ + backports/ubuntu14.04/debian/control \ + backports/ubuntu14.04/debian/quagga.install \ + backports/ubuntu14.04/debian/rules \ + backports/ubuntu14.04/debian/source/format \ + backports/ubuntu14.04/exclude \ + backports/ubuntu14.04/versionext \ + backports/ubuntu16.04/debian/source/format \ + backports/ubuntu16.04/exclude \ + backports/ubuntu16.04/versionext \ + patches/50_vtysh__vtysh.conf.sample.diff \ + patches/75_vtysh__vtysh.c__PAGER.diff \ + patches/80_vtysh__vtysh.c__privs.diff \ + patches/82_vtysh__vtysh_user.c__pam.diff \ + patches/90_configure_ncurses.diff patches/series \ + po/POTFILES.in po/cs.po po/da.po po/de.po po/es.po po/fr.po \ + po/it.po po/ja.po po/nl.po po/pt.po po/pt_BR.po po/ru.po \ + po/sv.po po/templates.pot \ + quagga-doc.docs quagga-doc.info quagga-doc.install \ + quagga-doc.lintian-overrides quagga.conf quagga.config \ + quagga.dirs quagga.docs quagga.install \ + quagga.lintian-overrides quagga.logrotate \ + quagga.manpages quagga.pam quagga.postinst quagga.postrm \ + quagga.preinst quagga.prerm diff --git a/debian/backports/rules b/debian/backports/rules index a5b8991d13..f2ae9cc9ab 100644 --- a/debian/backports/rules +++ b/debian/backports/rules @@ -12,7 +12,7 @@ $(if $(filter-out $(wildcard $(required_files)),$(required_files)), \ see debian/backports/README) \ ) -TARBALLDIR ?= $(shell dh_testdir debian/changelog && realpath ../) +TARBALLDIR ?= $(shell dh_testdir debian/changelog && realpath .) define backports-targets # if this file is empty, no automatic changelog entry is created @@ -71,12 +71,14 @@ $(1): $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc ; # bypassing the usual checks (which wouldn't like our combination-of- # directories approach) $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc: - # -b directory unused (but required) for '3.0 (custom)' source format + # -b directory does nothing but determine will the .dsc will end up + # for the custom source format. Put it in the current directory by + # specifying one of its subdirs. dpkg-source -l$$(BACKPORTDIR_$(1))/debian/changelog \ -c$$(CONTROL_$(1)) \ --format='3.0 (custom)' \ --target-format='$$(SOURCEFORMAT_$(1))' \ - -b . $$^ + -b debian $$^ ifeq ($$(SOURCEFORMAT_$(1)),3.0 (quilt)) # this target depends on the orig.tar.gz file, for which there is no target in diff --git a/debian/rules b/debian/rules index 3b6b9d86e2..4713a7848c 100755 --- a/debian/rules +++ b/debian/rules @@ -111,12 +111,22 @@ DEBIAN_VERSION := $(shell dh_testdir && \ -include debian/backports/rules ifneq ($(TARBALLDIR),) +ifeq ($(wildcard quagga-$(ORIG_VERSION).tar.gz),quagga-$(ORIG_VERSION).tar.gz) + +$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: \ + quagga-$(ORIG_VERSION).tar.gz + gunzip -c < $< | tar --delete quagga-$(ORIG_VERSION)/debian/ \ + | gzip -c > $@ + +else # wildcard quagga-$(ORIG_VERSION).tar.gz + # better error message on missing .orig.tar.gz $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: - @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz'" not \ + @ 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\"" \ - and renaming the resulting file. + "\"./bootstrap.sh && ./configure && make dist\"". exit 1 -endif # def TARBALLDIR + +endif # wildcard quagga-$(ORIG_VERSION).tar.gz +endif # TARBALLDIR nonempty diff --git a/debian/rules.orig b/debian/rules.orig index 98bf6222b8..348e7eafd8 100755 --- a/debian/rules.orig +++ b/debian/rules.orig @@ -102,13 +102,14 @@ KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04 ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ | cut -d, -f2 | xargs echo) DEBIAN_VERSION := $(shell dh_testdir && \ - dpkg-parsechangelog -c1 -Sversion < debian/changelog) + dpkg-parsechangelog -c1 < debian/changelog | \ + sed -rn 's/^Version: ?//p') -include debian/backports/rules ifneq ($(TARBALLDIR),) # better error message on missing .orig.tar.gz $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: - @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz'" not + @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.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\"" \ From 5c9c02c58fd7e2c6aec074e490e0fed989d90152 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Tue, 14 Feb 2017 22:34:56 +0700 Subject: [PATCH 04/52] debian: move ubuntu 12.04 files into new backports system `git diff'ed the main (cmaster) branch against the 12.04 branch to determine changed debian files, then pulled them into debian/backports via `git cat-file'. Added 'debian/patches' to the exclude file, since the existing patches interfere with the build and are unused by our build. Used '-0~ubuntu12.04+1' as the version extention, to denote: no patches (-0), debian packaging files changed for backport (+1). Original commit by Silas with updates on fork name by Martin Signed-off-by: Martin Winter --- debian/backports/ubuntu12.04/debian/control | 45 +++++++++ .../backports/ubuntu12.04/debian/frr.install | 24 +++++ .../backports/ubuntu12.04/debian/frr.postinst | 48 ++++++++++ debian/backports/ubuntu12.04/debian/rules | 92 +++++++++++++++++++ .../ubuntu12.04/debian/source/format | 1 + debian/backports/ubuntu12.04/exclude | 1 + debian/backports/ubuntu12.04/versionext | 1 + 7 files changed, 212 insertions(+) create mode 100644 debian/backports/ubuntu12.04/debian/control create mode 100644 debian/backports/ubuntu12.04/debian/frr.install create mode 100644 debian/backports/ubuntu12.04/debian/frr.postinst create mode 100644 debian/backports/ubuntu12.04/debian/rules create mode 100644 debian/backports/ubuntu12.04/debian/source/format create mode 100644 debian/backports/ubuntu12.04/exclude create mode 100644 debian/backports/ubuntu12.04/versionext diff --git a/debian/backports/ubuntu12.04/debian/control b/debian/backports/ubuntu12.04/debian/control new file mode 100644 index 0000000000..da7aa0390d --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/control @@ -0,0 +1,45 @@ +Source: frr +Section: net +Priority: optional +Maintainer: Nobody +Uploaders: Nobody +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr +Standards-Version: 3.9.6 +Homepage: http://www.freerangerouting.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, quagga +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/freerangerouting/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 forked from Quagga (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: Documentation files for FRR + 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/debian/backports/ubuntu12.04/debian/frr.install b/debian/backports/ubuntu12.04/debian/frr.install new file mode 100644 index 0000000000..95916754e9 --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/frr.install @@ -0,0 +1,24 @@ +etc/frr/ +usr/bin/vtysh +usr/include/frr/ +usr/lib/ +tools/frr-reload.py usr/lib/frr/ +tools/frr etc/init.d/ +usr/share/doc/frr/ +usr/share/man/man1/vtysh.1 +usr/share/man/man1/frr.1 +usr/share/man/man8 +usr/share/man/man8/bgpd.8 +usr/share/man/man8/ospf6d.8 +usr/share/man/man8/ospfd.8 +usr/share/man/man8/ripd.8 +usr/share/man/man8/ripngd.8 +usr/share/man/man8/zebra.8 +usr/share/man/man8/isisd.8 +usr/share/man/man8/pimd.8 +usr/share/man/man8/ldpd.8 +usr/share/man/man8/watchfrr.8 +usr/share/snmp/mibs/ +cumulus/etc/* etc/ +tools/*.service lib/systemd/system +debian/frr.conf usr/lib/tmpfiles.d diff --git a/debian/backports/ubuntu12.04/debian/frr.postinst b/debian/backports/ubuntu12.04/debian/frr.postinst new file mode 100644 index 0000000000..d4c33cd5cd --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/frr.postinst @@ -0,0 +1,48 @@ +#!/bin/bash -e + +###################### +PASSWDFILE=/etc/passwd +GROUPFILE=/etc/group + +frruid=`egrep "^frr:" $PASSWDFILE | awk -F ":" '{ print $3 }'` +frrgid=`egrep "^frr:" $GROUPFILE | awk -F ":" '{ print $3 }'` +frrvtygid=`egrep "^frrvty:" $GROUPFILE | awk -F ":" '{ print $3 }'` + +[ -n ${frruid} ] || (echo "No uid for frr in ${PASSWDFILE}" && /bin/false) +[ -n ${frrgid} ] || (echo "No gid for frr in ${GROUPFILE}" && /bin/false) +[ -n ${frrVTYgid} ] || (echo "No gid for frrvty in ${GROUPFILE}" && /bin/false) + +chown -R ${frruid}:${frrgid} /etc/frr +touch /etc/frr/vtysh.conf +chgrp ${frrvtygid} /etc/frr/vtysh* +chmod 440 /etc/sudoers.d/frr_sudoers +chmod 644 /etc/frr/* + +ENVIRONMENTFILE=/etc/environment +if ! grep --quiet VTYSH_PAGER=/bin/cat ${ENVIRONMENTFILE}; then + echo "VTYSH_PAGER=/bin/cat" >> ${ENVIRONMENTFILE} +fi +################################################## + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} + +# This is most likely due to the answer "no" to the "really stop the server" +# question in the prerm script. +if [ "$1" = "abort-upgrade" ]; then + exit 0 +fi + +. /usr/share/debconf/confmodule + +db_stop + +if [ -x "/etc/init.d/frr" ] || [ -e "/etc/init/frr.conf" ]; then + if [ ! -e "/etc/init/frr.conf" ]; then + update-rc.d frr defaults >/dev/null + fi + invoke-rc.d frr start || exit $? +fi + +#DEBHELPER# + diff --git a/debian/backports/ubuntu12.04/debian/rules b/debian/backports/ubuntu12.04/debian/rules new file mode 100644 index 0000000000..122405aede --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/rules @@ -0,0 +1,92 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 +export DEB_BUILD_HARDENING=1 +export DH_OPTIONS=-v + +ifeq ($(WANT_SNMP), 1) + USE_SNMP=--enable-snmp + $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience") +else + $(warning "DEBIAN: SNMP disabled, see README.Debian") +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_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) \ + --enable-ospfapi=yes \ + --enable-vtysh=yes \ + --enable-isisd=yes \ + --enable-multipath=256 \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --enable-werror \ + --enable-gcc-rdynamic \ + --with-libpam \ + --enable-systemd=no \ + --enable-poll=yes \ + --enable-cumulus=yes \ + --disable-rr-semantics \ + --enable-pimd=no \ + --enable-dependency-tracking; \ + fi + +override_dh_auto_build: + #dh_auto_build + $(MAKE) + dh_auto_build -- -C doc draft-zebra-00.txt + + + # doc/ is a bit crazy +ifeq ($(GENERATE_PDF), 1) + dh_auto_build -- -C doc frr.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf +endif + rm -vf doc/frr.info + dh_auto_build -- -C doc frr.info + rm -vf doc/frr.info.html* + +override_dh_auto_test: + +override_dh_auto_install: + dh_auto_install + + # 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* + + # installing the FRR specific SNMP MIB + install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB + + # cleaning .la files + sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la + diff --git a/debian/backports/ubuntu12.04/debian/source/format b/debian/backports/ubuntu12.04/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/backports/ubuntu12.04/exclude b/debian/backports/ubuntu12.04/exclude new file mode 100644 index 0000000000..6857a8d448 --- /dev/null +++ b/debian/backports/ubuntu12.04/exclude @@ -0,0 +1 @@ +debian/patches diff --git a/debian/backports/ubuntu12.04/versionext b/debian/backports/ubuntu12.04/versionext new file mode 100644 index 0000000000..0a8f3c956e --- /dev/null +++ b/debian/backports/ubuntu12.04/versionext @@ -0,0 +1 @@ +-0~ubuntu12.04+1 From c3add5decbc7370ab9b3e174beba2e2cad380383 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Tue, 14 Feb 2017 22:44:17 +0700 Subject: [PATCH 05/52] debian: move ubuntu 14.04 files into new backports system `git diff'ed the main (cmaster) branch against the 14.04 branch to determine changed debian files, then pulled them into debian/backports via `git cat-file'. Added 'debian/patches' to the exclude file, since the existing patches interfere with the build and are unused by our build. Used '-0~ubuntu14.04+1' as the version extention, to denote: no patches (-0), debian packaging files changed for backport (+1). Original commit by Silas with updates on fork name by Martin Signed-off-by: Martin Winter --- debian/backports/ubuntu14.04/debian/control | 45 +++++++++ .../backports/ubuntu14.04/debian/frr.install | 24 +++++ debian/backports/ubuntu14.04/debian/rules | 98 +++++++++++++++++++ .../ubuntu14.04/debian/source/format | 1 + debian/backports/ubuntu14.04/exclude | 1 + debian/backports/ubuntu14.04/versionext | 1 + 6 files changed, 170 insertions(+) create mode 100644 debian/backports/ubuntu14.04/debian/control create mode 100644 debian/backports/ubuntu14.04/debian/frr.install create mode 100644 debian/backports/ubuntu14.04/debian/rules create mode 100644 debian/backports/ubuntu14.04/debian/source/format create mode 100644 debian/backports/ubuntu14.04/exclude create mode 100644 debian/backports/ubuntu14.04/versionext diff --git a/debian/backports/ubuntu14.04/debian/control b/debian/backports/ubuntu14.04/debian/control new file mode 100644 index 0000000000..16bdc163a2 --- /dev/null +++ b/debian/backports/ubuntu14.04/debian/control @@ -0,0 +1,45 @@ +Source: frr +Section: net +Priority: optional +Maintainer: Nobody +Uploaders: Nobody +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr +Standards-Version: 3.9.6 +Homepage: http://www.freerangerouting.org/ +XS-Testsuite: autopkgtest + +Package: frr +Architecture: any +Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), ${misc:Depends} +Pre-Depends: adduser +Conflicts: zebra, zebra-pj +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/freerangerouting/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 forked from Quagga (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: Documentation files for FRR + 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/debian/backports/ubuntu14.04/debian/frr.install b/debian/backports/ubuntu14.04/debian/frr.install new file mode 100644 index 0000000000..95916754e9 --- /dev/null +++ b/debian/backports/ubuntu14.04/debian/frr.install @@ -0,0 +1,24 @@ +etc/frr/ +usr/bin/vtysh +usr/include/frr/ +usr/lib/ +tools/frr-reload.py usr/lib/frr/ +tools/frr etc/init.d/ +usr/share/doc/frr/ +usr/share/man/man1/vtysh.1 +usr/share/man/man1/frr.1 +usr/share/man/man8 +usr/share/man/man8/bgpd.8 +usr/share/man/man8/ospf6d.8 +usr/share/man/man8/ospfd.8 +usr/share/man/man8/ripd.8 +usr/share/man/man8/ripngd.8 +usr/share/man/man8/zebra.8 +usr/share/man/man8/isisd.8 +usr/share/man/man8/pimd.8 +usr/share/man/man8/ldpd.8 +usr/share/man/man8/watchfrr.8 +usr/share/snmp/mibs/ +cumulus/etc/* etc/ +tools/*.service lib/systemd/system +debian/frr.conf usr/lib/tmpfiles.d diff --git a/debian/backports/ubuntu14.04/debian/rules b/debian/backports/ubuntu14.04/debian/rules new file mode 100644 index 0000000000..cf63076015 --- /dev/null +++ b/debian/backports/ubuntu14.04/debian/rules @@ -0,0 +1,98 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 +export DEB_BUILD_HARDENING=1 +export DH_OPTIONS=-v + +ifeq ($(WANT_SNMP), 1) + USE_SNMP=--enable-snmp + $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience") +else + $(warning "DEBIAN: SNMP disabled, see README.Debian") +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_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) \ + --enable-ospfapi=yes \ + --enable-vtysh=yes \ + --enable-isisd=yes \ + --enable-multipath=256 \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --enable-werror \ + --enable-gcc-rdynamic \ + --with-libpam \ + --enable-systemd=no \ + --disable-rr-semantics \ + --enable-poll=yes \ + --enable-cumulus=yes \ + --enable-pimd=no \ + --enable-dependency-tracking; \ + fi + +override_dh_auto_build: + #dh_auto_build + $(MAKE) + dh_auto_build -- -C doc draft-zebra-00.txt + + + # doc/ is a bit crazy +ifeq ($(GENERATE_PDF), 1) + dh_auto_build -- -C doc frr.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf +endif + rm -vf doc/frr.info + dh_auto_build -- -C doc frr.info + rm -vf doc/frr.info.html* + +override_dh_auto_test: + +override_dh_auto_install: + dh_auto_install + + # 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* + + # installing the FRR specific SNMP MIB + install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB + + # cleaning .la files + sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la + +override_dh_systemd_start: + dh_systemd_start frr.service + +override_dh_systemd_enable: + dh_systemd_enable frr.service + diff --git a/debian/backports/ubuntu14.04/debian/source/format b/debian/backports/ubuntu14.04/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debian/backports/ubuntu14.04/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/backports/ubuntu14.04/exclude b/debian/backports/ubuntu14.04/exclude new file mode 100644 index 0000000000..6857a8d448 --- /dev/null +++ b/debian/backports/ubuntu14.04/exclude @@ -0,0 +1 @@ +debian/patches diff --git a/debian/backports/ubuntu14.04/versionext b/debian/backports/ubuntu14.04/versionext new file mode 100644 index 0000000000..5ebeee771d --- /dev/null +++ b/debian/backports/ubuntu14.04/versionext @@ -0,0 +1 @@ +-0~ubuntu14.04+1 From 7fa9aa586cae1d1e6bb26e5c3794eb92f8199f8d Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Tue, 14 Feb 2017 22:48:19 +0700 Subject: [PATCH 06/52] debian: move ubuntu 16.04 files into new backports system Added 'debian/patches' to the exclude file, since the existing patches interfere with the build and are unused by our build. No other changes were necessary. Used '-0~ubuntu16.04+1' as the version extention, to denote: no patches (-0), debian packaging files changed for backport (+1). Signed-off-by: Silas McCroskey Signed-off-by: Martin Winter --- debian/backports/ubuntu16.04/debian/source/format | 1 + debian/backports/ubuntu16.04/exclude | 1 + debian/backports/ubuntu16.04/versionext | 1 + 3 files changed, 3 insertions(+) create mode 100644 debian/backports/ubuntu16.04/debian/source/format create mode 100644 debian/backports/ubuntu16.04/exclude create mode 100644 debian/backports/ubuntu16.04/versionext diff --git a/debian/backports/ubuntu16.04/debian/source/format b/debian/backports/ubuntu16.04/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debian/backports/ubuntu16.04/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/backports/ubuntu16.04/exclude b/debian/backports/ubuntu16.04/exclude new file mode 100644 index 0000000000..6857a8d448 --- /dev/null +++ b/debian/backports/ubuntu16.04/exclude @@ -0,0 +1 @@ +debian/patches diff --git a/debian/backports/ubuntu16.04/versionext b/debian/backports/ubuntu16.04/versionext new file mode 100644 index 0000000000..56339e8367 --- /dev/null +++ b/debian/backports/ubuntu16.04/versionext @@ -0,0 +1 @@ +-0~ubuntu16.04+1 From dc885deff170440e2ae570a885b7c1ff20fbd6e6 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Wed, 15 Feb 2017 00:34:42 +0700 Subject: [PATCH 07/52] debian: add pkg-config to build-depends Testing-done: `--add-depends pkg-config' sbuild The dependency on pkg-config was introduced recently, and missed because it's in our schroots by default. Need to add it for other build environments (e.g. ubuntu schroots). Signed-off by: Silas McCroskey --- debian/backports/ubuntu12.04/debian/control | 2 +- debian/backports/ubuntu14.04/debian/control | 2 +- debian/control | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/backports/ubuntu12.04/debian/control b/debian/backports/ubuntu12.04/debian/control index da7aa0390d..3f30a023c0 100644 --- a/debian/backports/ubuntu12.04/debian/control +++ b/debian/backports/ubuntu12.04/debian/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest diff --git a/debian/backports/ubuntu14.04/debian/control b/debian/backports/ubuntu14.04/debian/control index 16bdc163a2..23a1ae826d 100644 --- a/debian/backports/ubuntu14.04/debian/control +++ b/debian/backports/ubuntu14.04/debian/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest diff --git a/debian/control b/debian/control index 84b04c347d..7d735e5597 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Christian Hammers Uploaders: Florian Weimer -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, python3-dev +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, pkg-config Standards-Version: 3.9.6 Homepage: http://www.frr.net/ XS-Testsuite: autopkgtest From 891a387c0d308cb5013af9b16c0129b9f9c05d50 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Wed, 15 Feb 2017 00:48:57 +0700 Subject: [PATCH 08/52] backports: symlink identical files Testing-done: built all backports in schroots and VMs made files identical between different backports symlinks to the ones for the more recent distribution, and updated relevant tar invocations to follow symlinks. Signed-off by: Silas McCroskey --- debian/backports/rules | 8 ++-- debian/backports/ubuntu12.04/debian/control | 46 +------------------ .../backports/ubuntu12.04/debian/frr.install | 25 +--------- 3 files changed, 6 insertions(+), 73 deletions(-) mode change 100644 => 120000 debian/backports/ubuntu12.04/debian/control mode change 100644 => 120000 debian/backports/ubuntu12.04/debian/frr.install diff --git a/debian/backports/rules b/debian/backports/rules index f2ae9cc9ab..4d082af1b1 100644 --- a/debian/backports/rules +++ b/debian/backports/rules @@ -26,7 +26,7 @@ SOURCEFORMAT_$(1) ?= $(strip \ $(shell cat debian/backports/$(1)/debian/source/format)) # files checked for the dirhash (see below) -FINDCMD_$(1) = find debian/backports/$(1)/debian \ +FINDCMD_$(1) = find -L debian/backports/$(1)/debian \ -type f \ ! -path debian/backports/$(1)/debian/changelog @@ -44,7 +44,7 @@ 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 debian/ \ +FINDCMDROOT_$(1) = find -L debian/ \ '(' -false $$(EXCLUDEROOT_FIND_$(1)) ')' -prune -o \ -type f -a '!' '(' -false $$(EXCLUDEROOT_FIND_$(1)) ')' @@ -100,9 +100,9 @@ $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).debian.tar.xz: \ $$(BACKPORTDIR_$(1))/$$(DIRHASHROOT_$(1)).root.dirhash \ $$(BACKPORTDIR_$(1))/exclude rm -f $$(subst .tar.xz,.tar,$$@) $$@ - tar -cf $$(subst .tar.xz,.tar,$$@) \ + tar -chf $$(subst .tar.xz,.tar,$$@) \ --exclude-vcs $$(EXCLUDEROOT_TAR_$(1)) debian/ - cd debian/backports/$(1) && tar -uf $$(subst .tar.xz,.tar,$$@) \ + cd debian/backports/$(1) && tar -uhf $$(subst .tar.xz,.tar,$$@) \ --exclude-vcs debian/ xz $$(subst .tar.xz,.tar,$$@) diff --git a/debian/backports/ubuntu12.04/debian/control b/debian/backports/ubuntu12.04/debian/control deleted file mode 100644 index 3f30a023c0..0000000000 --- a/debian/backports/ubuntu12.04/debian/control +++ /dev/null @@ -1,45 +0,0 @@ -Source: frr -Section: net -Priority: optional -Maintainer: Nobody -Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config -Standards-Version: 3.9.6 -Homepage: http://www.freerangerouting.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, quagga -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/freerangerouting/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 forked from Quagga (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: Documentation files for FRR - 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/debian/backports/ubuntu12.04/debian/control b/debian/backports/ubuntu12.04/debian/control new file mode 120000 index 0000000000..31862f4099 --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/control @@ -0,0 +1 @@ +../../ubuntu14.04/debian/control \ No newline at end of file diff --git a/debian/backports/ubuntu12.04/debian/frr.install b/debian/backports/ubuntu12.04/debian/frr.install deleted file mode 100644 index 95916754e9..0000000000 --- a/debian/backports/ubuntu12.04/debian/frr.install +++ /dev/null @@ -1,24 +0,0 @@ -etc/frr/ -usr/bin/vtysh -usr/include/frr/ -usr/lib/ -tools/frr-reload.py usr/lib/frr/ -tools/frr etc/init.d/ -usr/share/doc/frr/ -usr/share/man/man1/vtysh.1 -usr/share/man/man1/frr.1 -usr/share/man/man8 -usr/share/man/man8/bgpd.8 -usr/share/man/man8/ospf6d.8 -usr/share/man/man8/ospfd.8 -usr/share/man/man8/ripd.8 -usr/share/man/man8/ripngd.8 -usr/share/man/man8/zebra.8 -usr/share/man/man8/isisd.8 -usr/share/man/man8/pimd.8 -usr/share/man/man8/ldpd.8 -usr/share/man/man8/watchfrr.8 -usr/share/snmp/mibs/ -cumulus/etc/* etc/ -tools/*.service lib/systemd/system -debian/frr.conf usr/lib/tmpfiles.d diff --git a/debian/backports/ubuntu12.04/debian/frr.install b/debian/backports/ubuntu12.04/debian/frr.install new file mode 120000 index 0000000000..83ecca5958 --- /dev/null +++ b/debian/backports/ubuntu12.04/debian/frr.install @@ -0,0 +1 @@ +../../ubuntu14.04/debian/frr.install \ No newline at end of file From 0f4ac62149e686f3409479c4ef6fd65af37bd5e4 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 17 Feb 2017 01:49:00 +0700 Subject: [PATCH 09/52] debian: Fix some incorrect references to Quagga instead of FRR Signed-off-by: Martin Winter --- debian/Makefile.am | 20 ++++++++++---------- debian/rules | 10 +++++----- debian/watch | 6 +++--- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/debian/Makefile.am b/debian/Makefile.am index 56e37088a1..5555a3e01e 100644 --- a/debian/Makefile.am +++ b/debian/Makefile.am @@ -2,17 +2,17 @@ EXTRA_DIST = README.Debian README.Maintainer \ changelog compat control copyright \ rules source/format tests/control \ - tests/daemons watch watchquagga.rc \ + tests/daemons watch watchfrr.rc \ backports/README backports/rules \ backports/ubuntu12.04/debian/control \ - backports/ubuntu12.04/debian/quagga.install \ - backports/ubuntu12.04/debian/quagga.postinst \ + backports/ubuntu12.04/debian/frr.install \ + backports/ubuntu12.04/debian/frr.postinst \ backports/ubuntu12.04/debian/rules \ backports/ubuntu12.04/debian/source/format \ backports/ubuntu12.04/exclude \ backports/ubuntu12.04/versionext \ backports/ubuntu14.04/debian/control \ - backports/ubuntu14.04/debian/quagga.install \ + backports/ubuntu14.04/debian/frr.install \ backports/ubuntu14.04/debian/rules \ backports/ubuntu14.04/debian/source/format \ backports/ubuntu14.04/exclude \ @@ -28,9 +28,9 @@ EXTRA_DIST = README.Debian README.Maintainer \ po/POTFILES.in po/cs.po po/da.po po/de.po po/es.po po/fr.po \ po/it.po po/ja.po po/nl.po po/pt.po po/pt_BR.po po/ru.po \ po/sv.po po/templates.pot \ - quagga-doc.docs quagga-doc.info quagga-doc.install \ - quagga-doc.lintian-overrides quagga.conf quagga.config \ - quagga.dirs quagga.docs quagga.install \ - quagga.lintian-overrides quagga.logrotate \ - quagga.manpages quagga.pam quagga.postinst quagga.postrm \ - quagga.preinst quagga.prerm + frr-doc.docs frr-doc.info frr-doc.install \ + frr-doc.lintian-overrides frr.conf frr.config \ + frr.dirs frr.docs frr.install \ + frr.lintian-overrides frr.logrotate \ + frr.manpages frr.pam frr.postinst frr.postrm \ + frr.preinst frr.prerm diff --git a/debian/rules b/debian/rules index 4713a7848c..7a5efdd765 100755 --- a/debian/rules +++ b/debian/rules @@ -111,14 +111,14 @@ DEBIAN_VERSION := $(shell dh_testdir && \ -include debian/backports/rules ifneq ($(TARBALLDIR),) -ifeq ($(wildcard quagga-$(ORIG_VERSION).tar.gz),quagga-$(ORIG_VERSION).tar.gz) +ifeq ($(wildcard frr-$(ORIG_VERSION).tar.gz),frr-$(ORIG_VERSION).tar.gz) $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: \ - quagga-$(ORIG_VERSION).tar.gz - gunzip -c < $< | tar --delete quagga-$(ORIG_VERSION)/debian/ \ + frr-$(ORIG_VERSION).tar.gz + gunzip -c < $< | tar --delete frr-$(ORIG_VERSION)/debian/ \ | gzip -c > $@ -else # wildcard quagga-$(ORIG_VERSION).tar.gz +else # wildcard frr-$(ORIG_VERSION).tar.gz # better error message on missing .orig.tar.gz $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: @@ -128,5 +128,5 @@ $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: "\"./bootstrap.sh && ./configure && make dist\"". exit 1 -endif # wildcard quagga-$(ORIG_VERSION).tar.gz +endif # wildcard frr-$(ORIG_VERSION).tar.gz endif # TARBALLDIR nonempty diff --git a/debian/watch b/debian/watch index 46ff1c7dab..06c21eb2c7 100644 --- a/debian/watch +++ b/debian/watch @@ -2,7 +2,7 @@ # Rename this file to "watch" and then you can run the "uscan" command # to check for upstream updates and more. # Site Directory Pattern Version Script -version=3 -opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/ \ - http://download.savannah.gnu.org/releases/frr/quagga-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz)) +##version=3 +##opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/ \ +## http://download.savannah.gnu.org/releases/frr/quagga-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz)) # Bart Martens Fri, 25 Jan 2013 06:38:53 +0000 From 47607bcaa0feb17d65ef931f8dd61c4ad0110fa3 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Thu, 27 Apr 2017 14:27:09 -0700 Subject: [PATCH 10/52] backports: error out on upstream/downstream version mismatch The quilt source format expects the upstream tarball's version to correspond roughly to the debian version of the package, and errors will be thrown (at unpack time, in our case) if it doesn't. Do a sanity check when we're building the source package to make sure they match up. Signed-off-by: Silas McCroskey --- debian/backports/rules | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/debian/backports/rules b/debian/backports/rules index 4d082af1b1..63bbedf777 100644 --- a/debian/backports/rules +++ b/debian/backports/rules @@ -84,6 +84,14 @@ 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 From 8c43d3b14be2a86a8ce3f0fe14d6791cdfd54a97 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Thu, 27 Apr 2017 14:31:29 -0700 Subject: [PATCH 11/52] precise/trusty: don't attempt to install pimd or ldpd manuals Neither of these daemons are installed on 14.04, leading to build failures now that the man pages are excluded from the Makefiles when the daemons aren't enabled for install. Signed-off-by: Silas McCroskey --- debian/backports/ubuntu14.04/debian/frr.install | 2 -- 1 file changed, 2 deletions(-) diff --git a/debian/backports/ubuntu14.04/debian/frr.install b/debian/backports/ubuntu14.04/debian/frr.install index 95916754e9..147d15279f 100644 --- a/debian/backports/ubuntu14.04/debian/frr.install +++ b/debian/backports/ubuntu14.04/debian/frr.install @@ -15,8 +15,6 @@ usr/share/man/man8/ripd.8 usr/share/man/man8/ripngd.8 usr/share/man/man8/zebra.8 usr/share/man/man8/isisd.8 -usr/share/man/man8/pimd.8 -usr/share/man/man8/ldpd.8 usr/share/man/man8/watchfrr.8 usr/share/snmp/mibs/ cumulus/etc/* etc/ From 05d5cb46b9c193aa339f94252e2e370a0d2173f7 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Thu, 27 Apr 2017 16:42:43 -0700 Subject: [PATCH 12/52] debian: delete unused files out of debian/ These are unused and not referenced anywhere. debian/rules.orig: included by mistake debian/watch: no longer applicable; url is not valid debian/patches: stale, unused, misleading Signed-off-by: Silas McCroskey --- debian/Makefile.am | 7 +- debian/backports/ubuntu12.04/exclude | 1 - debian/backports/ubuntu14.04/exclude | 1 - debian/backports/ubuntu16.04/exclude | 1 - .../patches/50_vtysh__vtysh.conf.sample.diff | 16 --- debian/patches/75_vtysh__vtysh.c__PAGER.diff | 26 ---- debian/patches/80_vtysh__vtysh.c__privs.diff | 59 --------- .../patches/82_vtysh__vtysh_user.c__pam.diff | 10 -- debian/patches/90_configure_ncurses.diff | 47 ------- debian/patches/series | 5 - debian/rules.orig | 118 ------------------ debian/watch | 8 -- 12 files changed, 1 insertion(+), 298 deletions(-) delete mode 100644 debian/patches/50_vtysh__vtysh.conf.sample.diff delete mode 100644 debian/patches/75_vtysh__vtysh.c__PAGER.diff delete mode 100644 debian/patches/80_vtysh__vtysh.c__privs.diff delete mode 100644 debian/patches/82_vtysh__vtysh_user.c__pam.diff delete mode 100644 debian/patches/90_configure_ncurses.diff delete mode 100644 debian/patches/series delete mode 100755 debian/rules.orig delete mode 100644 debian/watch diff --git a/debian/Makefile.am b/debian/Makefile.am index 5555a3e01e..6078b6a1f4 100644 --- a/debian/Makefile.am +++ b/debian/Makefile.am @@ -2,7 +2,7 @@ EXTRA_DIST = README.Debian README.Maintainer \ changelog compat control copyright \ rules source/format tests/control \ - tests/daemons watch watchfrr.rc \ + tests/daemons watchfrr.rc \ backports/README backports/rules \ backports/ubuntu12.04/debian/control \ backports/ubuntu12.04/debian/frr.install \ @@ -20,11 +20,6 @@ EXTRA_DIST = README.Debian README.Maintainer \ backports/ubuntu16.04/debian/source/format \ backports/ubuntu16.04/exclude \ backports/ubuntu16.04/versionext \ - patches/50_vtysh__vtysh.conf.sample.diff \ - patches/75_vtysh__vtysh.c__PAGER.diff \ - patches/80_vtysh__vtysh.c__privs.diff \ - patches/82_vtysh__vtysh_user.c__pam.diff \ - patches/90_configure_ncurses.diff patches/series \ po/POTFILES.in po/cs.po po/da.po po/de.po po/es.po po/fr.po \ po/it.po po/ja.po po/nl.po po/pt.po po/pt_BR.po po/ru.po \ po/sv.po po/templates.pot \ diff --git a/debian/backports/ubuntu12.04/exclude b/debian/backports/ubuntu12.04/exclude index 6857a8d448..e69de29bb2 100644 --- a/debian/backports/ubuntu12.04/exclude +++ b/debian/backports/ubuntu12.04/exclude @@ -1 +0,0 @@ -debian/patches diff --git a/debian/backports/ubuntu14.04/exclude b/debian/backports/ubuntu14.04/exclude index 6857a8d448..e69de29bb2 100644 --- a/debian/backports/ubuntu14.04/exclude +++ b/debian/backports/ubuntu14.04/exclude @@ -1 +0,0 @@ -debian/patches diff --git a/debian/backports/ubuntu16.04/exclude b/debian/backports/ubuntu16.04/exclude index 6857a8d448..e69de29bb2 100644 --- a/debian/backports/ubuntu16.04/exclude +++ b/debian/backports/ubuntu16.04/exclude @@ -1 +0,0 @@ -debian/patches diff --git a/debian/patches/50_vtysh__vtysh.conf.sample.diff b/debian/patches/50_vtysh__vtysh.conf.sample.diff deleted file mode 100644 index d60581f70c..0000000000 --- a/debian/patches/50_vtysh__vtysh.conf.sample.diff +++ /dev/null @@ -1,16 +0,0 @@ -Description: Change example to make it compatible with the Debian init scripts - per default. -Author: Christian Hammers - ---- old/vtysh/vtysh.conf.sample.orig 2004-10-30 23:07:40.000000000 +0200 -+++ new/vtysh/vtysh.conf.sample 2004-10-30 23:08:24.000000000 +0200 -@@ -1,7 +1,7 @@ - ! - ! Sample configuration file for vtysh. - ! --!service integrated-vtysh-config -+service integrated-vtysh-config - !hostname quagga-router --!username root nopassword -+username root nopassword - ! diff --git a/debian/patches/75_vtysh__vtysh.c__PAGER.diff b/debian/patches/75_vtysh__vtysh.c__PAGER.diff deleted file mode 100644 index 2dbf6b2441..0000000000 --- a/debian/patches/75_vtysh__vtysh.c__PAGER.diff +++ /dev/null @@ -1,26 +0,0 @@ -Description: Use the pager program that was choosen with the Debian - update-alternative system. (Updated line numbers for 0.99.22) -Author: Christian Hammers - ---- old/vtysh/vtysh.c.orig 2004-10-18 01:23:16.000000000 +0200 -+++ new/vtysh/vtysh.c 2004-10-18 01:25:15.000000000 +0200 -@@ -265,10 +265,16 @@ - - pager_defined = getenv ("VTYSH_PAGER"); - -- if (pager_defined) -+ if (pager_defined) { - vtysh_pager_name = strdup (pager_defined); -- else -- vtysh_pager_name = strdup ("more"); -+ } else { -+ struct stat pager_stat; -+ if (stat("/usr/bin/pager", &pager_stat) == 0) { -+ vtysh_pager_name = strdup ("/usr/bin/pager"); -+ } else { -+ vtysh_pager_name = strdup ("more"); -+ } -+ } - } - - /* Command execution over the vty interface. */ diff --git a/debian/patches/80_vtysh__vtysh.c__privs.diff b/debian/patches/80_vtysh__vtysh.c__privs.diff deleted file mode 100644 index 863c81391f..0000000000 --- a/debian/patches/80_vtysh__vtysh.c__privs.diff +++ /dev/null @@ -1,59 +0,0 @@ -Description: Fixes group permission. (line numbers adjusted for 0.99.22) - -Index: quagga-0.99.23.1/vtysh/vtysh.c -=================================================================== ---- quagga-0.99.23.1.orig/vtysh/vtysh.c 2015-04-16 07:58:08.000000000 -0700 -+++ quagga-0.99.23.1/vtysh/vtysh.c 2015-04-16 08:02:16.108035000 -0700 -@@ -26,6 +26,8 @@ - #include - #include - #include -+#include -+#include - - #include - #include -@@ -2026,6 +2028,9 @@ - char line[] = "write terminal\n"; - FILE *fp, *fp1; - -+ /* Setting file permissions */ -+ struct group *quagga_vty_group; -+ - fprintf (stdout,"Building Configuration...\n"); - - backup_config_file(integrate_default); -@@ -2058,16 +2063,31 @@ - - fclose (fp); - -+ errno = 0; -+ if ((quagga_vty_group = getgrnam(VTY_GROUP)) == NULL) -+ { -+ fprintf (stdout, "%% Can't get group %s: %s (%d)\n", -+ VTY_GROUP, strerror(errno), errno); -+ return CMD_WARNING; -+ } -+ -+ if ((chown(integrate_default, -1, quagga_vty_group->gr_gid)) != 0) -+ { -+ fprintf (stdout,"%% Can't chown configuration file %s: %s (%d)\n", -+ integrate_default, strerror(errno), errno); -+ return CMD_WARNING; -+ } -+ - if (chmod (integrate_default, CONFIGFILE_MASK) != 0) - { -- fprintf (stdout,"%% Can't chmod configuration file %s: %s (%d)\n", -+ fprintf (stdout,"%% Can't chmod configuration file %s: %s (%d)\n", - integrate_default, safe_strerror(errno), errno); - return CMD_WARNING; - } - - if (chmod (host.config, CONFIGFILE_MASK) != 0) - { -- fprintf (stdout,"%% Can't chmod configuration file %s: %s (%d)\n", -+ fprintf (stdout,"%% Can't chmod configuration file %s: %s (%d)\n", - integrate_default, safe_strerror(errno), errno); - return CMD_WARNING; - } diff --git a/debian/patches/82_vtysh__vtysh_user.c__pam.diff b/debian/patches/82_vtysh__vtysh_user.c__pam.diff deleted file mode 100644 index 5358ed8870..0000000000 --- a/debian/patches/82_vtysh__vtysh_user.c__pam.diff +++ /dev/null @@ -1,10 +0,0 @@ -Description: Adds explanation why vtysh does not work if PAM fails. -Author: Christian Hammers - ---- old/vtysh/vtysh_user.c.orig 2006-11-03 01:53:58.000000000 +0100 -+++ new/vtysh/vtysh_user.c 2006-11-03 01:59:02.000000000 +0100 -@@ -60,2 +60,4 @@ vtysh_pam (const char *user) - ret = pam_authenticate (pamh, 0); -+ if (ret != PAM_SUCCESS) -+ printf("Not authenticated. Check /etc/pam.d/quagga.\n"); - /* printf ("ret %d\n", ret); */ diff --git a/debian/patches/90_configure_ncurses.diff b/debian/patches/90_configure_ncurses.diff deleted file mode 100644 index 9d3dbb15d1..0000000000 --- a/debian/patches/90_configure_ncurses.diff +++ /dev/null @@ -1,47 +0,0 @@ -Description: To make checklib happy. - See http://rerun.lefant.net/checklib/log.quagga_0.99.5-1.html - (adjusted for 0.99.2) -Author: Christian Hammers - ---- old/configure 2011-09-27 00:30:23.000000000 +0200 -+++ new/configure 2011-09-27 00:30:28.000000000 +0200 -@@ -14207,7 +14207,8 @@ - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $LIBS" -+#42#DEBIAN# LIBS="-ltermcap $LIBS" -+LIBS="$LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -14238,7 +14238,8 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tputs" >&5 - $as_echo "$ac_cv_lib_termcap_tputs" >&6; } - if test "x$ac_cv_lib_termcap_tputs" = xyes; then : -- LIBREADLINE="$LIBREADLINE -ltermcap" -+ #42#DEBIAN# LIBREADLINE="$LIBREADLINE -ltermcap" -+ LIBREADLINE="$LIBREADLINE " - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tputs in -ltinfo" >&5 - $as_echo_n "checking for tputs in -ltinfo... " >&6; } -@@ -14285,7 +14289,8 @@ - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lcurses $LIBS" -+#42#DEBIAN# LIBS="-lcurses $LIBS" -+LIBS="$LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -14355,7 +14355,8 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_tputs" >&5 - $as_echo "$ac_cv_lib_ncurses_tputs" >&6; } - if test "x$ac_cv_lib_ncurses_tputs" = xyes; then : -- LIBREADLINE="$LIBREADLINE -lncurses" -+ #42#DEBIAN# LIBREADLINE="$LIBREADLINE -lncurses" -+ LIBREADLINE="$LIBREADLINE" - fi - - diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index b3f6cc1452..0000000000 --- a/debian/patches/series +++ /dev/null @@ -1,5 +0,0 @@ -90_configure_ncurses.diff -82_vtysh__vtysh_user.c__pam.diff -80_vtysh__vtysh.c__privs.diff -75_vtysh__vtysh.c__PAGER.diff -50_vtysh__vtysh.conf.sample.diff diff --git a/debian/rules.orig b/debian/rules.orig deleted file mode 100755 index 348e7eafd8..0000000000 --- a/debian/rules.orig +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/make -f - -export DH_VERBOSE=1 -export DEB_BUILD_HARDENING=1 -export DH_OPTIONS=-v - -ifeq ($(WANT_SNMP), 1) - USE_SNMP=--enable-snmp - $(warning "DEBIAN: SNMP enabled, sorry for your inconvenience") -else - $(warning "DEBIAN: SNMP disabled, see README.Debian") -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=systemd,autoreconf --parallel --dbg-package=frr-dbg --list-missing - -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) \ - --enable-ospfapi=yes \ - --enable-vtysh=yes \ - --enable-isisd=yes \ - --enable-multipath=256 \ - --enable-user=frr \ - --enable-group=frr \ - --enable-vty-group=frrvty \ - --enable-configfile-mask=0640 \ - --enable-logfile-mask=0640 \ - --enable-werror \ - --enable-gcc-rdynamic \ - --with-libpam \ - --enable-systemd=yes \ - --enable-poll=yes \ - --enable-cumulus=yes \ - --enable-pimd=yes \ - --enable-dependency-tracking \ - --enable-bgp-vnc=no; \ - fi - -override_dh_auto_build: - #dh_auto_build - $(MAKE) - dh_auto_build -- -C doc draft-zebra-00.txt - - - # doc/ is a bit crazy -ifeq ($(GENERATE_PDF), 1) - dh_auto_build -- -C doc frr.pdf || true # pdfetex fails with exit code 1 but still produces a good looking .pdf -endif - rm -vf doc/frr.info - dh_auto_build -- -C doc frr.info - rm -vf doc/frr.info.html* - -override_dh_auto_test: - -override_dh_auto_install: - dh_auto_install - - # 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* - - # installing the Frr specific SNMP MIB - install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB - - # cleaning .la files - sed -i "/dependency_libs/ s/'.*'/''/" debian/tmp/usr/lib/*.la - -override_dh_systemd_start: - dh_systemd_start frr.service - -override_dh_systemd_enable: - dh_systemd_enable frr.service - -# backports -SRCPKG = frr -KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04 -ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ - | cut -d, -f2 | xargs echo) -DEBIAN_VERSION := $(shell dh_testdir && \ - dpkg-parsechangelog -c1 < debian/changelog | \ - sed -rn 's/^Version: ?//p') --include debian/backports/rules - -ifneq ($(TARBALLDIR),) -# better error message on missing .orig.tar.gz -$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: - @ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.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\"" \ - and renaming the resulting file. - exit 1 -endif # def TARBALLDIR diff --git a/debian/watch b/debian/watch deleted file mode 100644 index 06c21eb2c7..0000000000 --- a/debian/watch +++ /dev/null @@ -1,8 +0,0 @@ -# Example watch control file for uscan -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# Site Directory Pattern Version Script -##version=3 -##opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/ \ -## http://download.savannah.gnu.org/releases/frr/quagga-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz)) -# Bart Martens Fri, 25 Jan 2013 06:38:53 +0000 From 5877299679a7ca332d6c0fe8f14425940a9027d0 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Thu, 27 Apr 2017 23:58:13 -0700 Subject: [PATCH 13/52] debian: clean up, update base debian/control this removes some cruft -- old/outdated/incorrect information, trailing whitespace, etc., and updates the descriptions. Some small changes were made where appropriate to minimize the diff between the base control file and those of the various backports. Signed-off-by: Silas McCroskey --- debian/control | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/debian/control b/debian/control index 7d735e5597..482573a080 100644 --- a/debian/control +++ b/debian/control @@ -1,11 +1,11 @@ Source: frr Section: net Priority: optional -Maintainer: Christian Hammers -Uploaders: Florian Weimer +Maintainer: Nobody +Uploaders: Nobody 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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, pkg-config Standards-Version: 3.9.6 -Homepage: http://www.frr.net/ +Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest Package: frr @@ -15,34 +15,31 @@ Pre-Depends: adduser Conflicts: zebra, zebra-pj, quagga Replaces: zebra, zebra-pj Suggests: snmpd -Description: BGP/OSPF/RIP routing daemon - Frr is free software which manages TCP/IP based routing protocols. - It supports BGP4, BGP4+, OSPFv2, OSPFv3, IS-IS, RIPv1, RIPv2, and RIPng as - well as the IPv6 versions of these. +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 uses threading if the kernel supports it, but can also run on - kernels that do not support threading. Each protocol has its own daemon. - . - It is more than a routed replacement, it can be used as a Route Server and - a Route Reflector. + FRR is a fork of Quagga with an open community model. The main git + lives on https://github.com/freerangerouting/frr.git Package: frr-dbg Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version}) Priority: extra Section: debug -Description: BGP/OSPF/RIP 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. +Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga (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: documentation files for frr +Description: documentation files for FRR 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, and RIPng as well as the IPv6 versions of these. + IS-IS, RIPv1, RIPv2, RIPng, PIM and LDP as well as the IPv6 versions of these. From 05f0385849c7265e1d31a282753cd3f1bb91bd7a Mon Sep 17 00:00:00 2001 From: smccroskey Date: Fri, 28 Apr 2017 00:00:53 -0700 Subject: [PATCH 14/52] backports: minimize diffs with base debian files minimize diffs between the base debian files and each backport to the changes that actually matter, so that they aren't lost in the noise of capitalization and ordering differences. Signed-off-by: Silas McCroskey --- debian/backports/ubuntu12.04/debian/rules | 8 ++++---- debian/backports/ubuntu14.04/debian/control | 2 +- debian/backports/ubuntu14.04/debian/rules | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/debian/backports/ubuntu12.04/debian/rules b/debian/backports/ubuntu12.04/debian/rules index 122405aede..34528d54b7 100644 --- a/debian/backports/ubuntu12.04/debian/rules +++ b/debian/backports/ubuntu12.04/debian/rules @@ -23,7 +23,7 @@ endif dh $@ --with=autoreconf --parallel --dbg-package=frr-dbg --list-missing override_dh_auto_configure: - # FRR needs /proc to check some BSD vs Linux specific stuff. + # 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 \ @@ -53,9 +53,9 @@ override_dh_auto_configure: --enable-systemd=no \ --enable-poll=yes \ --enable-cumulus=yes \ - --disable-rr-semantics \ --enable-pimd=no \ - --enable-dependency-tracking; \ + --enable-dependency-tracking \ + --disable-rr-semantics; \ fi override_dh_auto_build: @@ -84,7 +84,7 @@ override_dh_auto_install: 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* - # installing the FRR specific SNMP MIB + # installing the Frr specific SNMP MIB install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB # cleaning .la files diff --git a/debian/backports/ubuntu14.04/debian/control b/debian/backports/ubuntu14.04/debian/control index 23a1ae826d..c05cdd04f8 100644 --- a/debian/backports/ubuntu14.04/debian/control +++ b/debian/backports/ubuntu14.04/debian/control @@ -39,7 +39,7 @@ Section: net Architecture: all Depends: ${misc:Depends} Suggests: frr -Description: Documentation files for FRR +Description: documentation files for FRR 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/debian/backports/ubuntu14.04/debian/rules b/debian/backports/ubuntu14.04/debian/rules index cf63076015..84d4b177c8 100644 --- a/debian/backports/ubuntu14.04/debian/rules +++ b/debian/backports/ubuntu14.04/debian/rules @@ -23,7 +23,7 @@ endif dh $@ --with=autoreconf --parallel --dbg-package=frr-dbg --list-missing override_dh_auto_configure: - # FRR needs /proc to check some BSD vs Linux specific stuff. + # 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 \ @@ -51,11 +51,11 @@ override_dh_auto_configure: --enable-gcc-rdynamic \ --with-libpam \ --enable-systemd=no \ - --disable-rr-semantics \ --enable-poll=yes \ --enable-cumulus=yes \ --enable-pimd=no \ - --enable-dependency-tracking; \ + --enable-dependency-tracking \ + --disable-rr-semantics; \ fi override_dh_auto_build: @@ -84,7 +84,7 @@ override_dh_auto_install: 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* - # installing the FRR specific SNMP MIB + # installing the Frr specific SNMP MIB install -D -m 644 ./zebra/GNOME-PRODUCT-ZEBRA-MIB debian/tmp/usr/share/snmp/mibs/GNOME-PRODUCT-ZEBRA-MIB # cleaning .la files From 495feb8a41c59f3741eedd1386e40c0f18335294 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 8 Jun 2017 19:14:41 -0700 Subject: [PATCH 15/52] debian->debianpkg: Move debian files from debian dir to debianpkg dir. Debian build systems use debian subdir for building and having a debian dir in the source package causes issues. Moving it to debianpkg avoids the issue and allows us to ship debian package files in the source distribution Signed-off-by: Martin Winter --- Makefile.am | 2 +- configure.ac | 2 +- {debian => debianpkg}/Makefile.am | 0 {debian => debianpkg}/README.Debian | 0 {debian => debianpkg}/README.Maintainer | 0 {debian => debianpkg}/backports/.gitignore | 0 {debian => debianpkg}/backports/README | 0 {debian => debianpkg}/backports/rules | 0 {debian => debianpkg}/backports/ubuntu12.04/debian/control | 0 {debian => debianpkg}/backports/ubuntu12.04/debian/frr.install | 0 .../backports/ubuntu12.04/debian/frr.postinst | 0 {debian => debianpkg}/backports/ubuntu12.04/debian/rules | 0 .../backports/ubuntu12.04/debian/source/format | 0 {debian => debianpkg}/backports/ubuntu12.04/exclude | 0 {debian => debianpkg}/backports/ubuntu12.04/versionext | 0 {debian => debianpkg}/backports/ubuntu14.04/debian/control | 0 {debian => debianpkg}/backports/ubuntu14.04/debian/frr.install | 0 {debian => debianpkg}/backports/ubuntu14.04/debian/rules | 0 .../backports/ubuntu14.04/debian/source/format | 0 {debian => debianpkg}/backports/ubuntu14.04/exclude | 0 {debian => debianpkg}/backports/ubuntu14.04/versionext | 0 .../backports/ubuntu16.04/debian/source/format | 0 {debian => debianpkg}/backports/ubuntu16.04/exclude | 0 {debian => debianpkg}/backports/ubuntu16.04/versionext | 0 {debian => debianpkg}/changelog | 0 {debian => debianpkg}/compat | 0 {debian => debianpkg}/control | 0 {debian => debianpkg}/copyright | 0 {debian => debianpkg}/frr-doc.docs | 0 {debian => debianpkg}/frr-doc.info | 0 {debian => debianpkg}/frr-doc.install | 0 {debian => debianpkg}/frr-doc.lintian-overrides | 0 {debian => debianpkg}/frr.conf | 0 {debian => debianpkg}/frr.config | 0 {debian => debianpkg}/frr.dirs | 0 {debian => debianpkg}/frr.docs | 0 {debian => debianpkg}/frr.install | 0 {debian => debianpkg}/frr.lintian-overrides | 0 {debian => debianpkg}/frr.logrotate | 0 {debian => debianpkg}/frr.manpages | 0 {debian => debianpkg}/frr.pam | 0 {debian => debianpkg}/frr.postinst | 0 {debian => debianpkg}/frr.postrm | 0 {debian => debianpkg}/frr.preinst | 0 {debian => debianpkg}/frr.prerm | 0 {debian => debianpkg}/po/POTFILES.in | 0 {debian => debianpkg}/po/cs.po | 0 {debian => debianpkg}/po/da.po | 0 {debian => debianpkg}/po/de.po | 0 {debian => debianpkg}/po/es.po | 0 {debian => debianpkg}/po/fr.po | 0 {debian => debianpkg}/po/it.po | 0 {debian => debianpkg}/po/ja.po | 0 {debian => debianpkg}/po/nl.po | 0 {debian => debianpkg}/po/pt.po | 0 {debian => debianpkg}/po/pt_BR.po | 0 {debian => debianpkg}/po/ru.po | 0 {debian => debianpkg}/po/sv.po | 0 {debian => debianpkg}/po/templates.pot | 0 {debian => debianpkg}/rules | 3 +-- {debian => debianpkg}/source/format | 0 {debian => debianpkg}/tests/control | 0 {debian => debianpkg}/tests/daemons | 0 {debian => debianpkg}/watchfrr.rc | 0 64 files changed, 3 insertions(+), 4 deletions(-) rename {debian => debianpkg}/Makefile.am (100%) rename {debian => debianpkg}/README.Debian (100%) rename {debian => debianpkg}/README.Maintainer (100%) rename {debian => debianpkg}/backports/.gitignore (100%) rename {debian => debianpkg}/backports/README (100%) rename {debian => debianpkg}/backports/rules (100%) rename {debian => debianpkg}/backports/ubuntu12.04/debian/control (100%) rename {debian => debianpkg}/backports/ubuntu12.04/debian/frr.install (100%) rename {debian => debianpkg}/backports/ubuntu12.04/debian/frr.postinst (100%) rename {debian => debianpkg}/backports/ubuntu12.04/debian/rules (100%) rename {debian => debianpkg}/backports/ubuntu12.04/debian/source/format (100%) rename {debian => debianpkg}/backports/ubuntu12.04/exclude (100%) rename {debian => debianpkg}/backports/ubuntu12.04/versionext (100%) rename {debian => debianpkg}/backports/ubuntu14.04/debian/control (100%) rename {debian => debianpkg}/backports/ubuntu14.04/debian/frr.install (100%) rename {debian => debianpkg}/backports/ubuntu14.04/debian/rules (100%) rename {debian => debianpkg}/backports/ubuntu14.04/debian/source/format (100%) rename {debian => debianpkg}/backports/ubuntu14.04/exclude (100%) rename {debian => debianpkg}/backports/ubuntu14.04/versionext (100%) rename {debian => debianpkg}/backports/ubuntu16.04/debian/source/format (100%) rename {debian => debianpkg}/backports/ubuntu16.04/exclude (100%) rename {debian => debianpkg}/backports/ubuntu16.04/versionext (100%) rename {debian => debianpkg}/changelog (100%) rename {debian => debianpkg}/compat (100%) rename {debian => debianpkg}/control (100%) rename {debian => debianpkg}/copyright (100%) rename {debian => debianpkg}/frr-doc.docs (100%) rename {debian => debianpkg}/frr-doc.info (100%) rename {debian => debianpkg}/frr-doc.install (100%) rename {debian => debianpkg}/frr-doc.lintian-overrides (100%) rename {debian => debianpkg}/frr.conf (100%) rename {debian => debianpkg}/frr.config (100%) rename {debian => debianpkg}/frr.dirs (100%) rename {debian => debianpkg}/frr.docs (100%) rename {debian => debianpkg}/frr.install (100%) rename {debian => debianpkg}/frr.lintian-overrides (100%) rename {debian => debianpkg}/frr.logrotate (100%) rename {debian => debianpkg}/frr.manpages (100%) rename {debian => debianpkg}/frr.pam (100%) rename {debian => debianpkg}/frr.postinst (100%) rename {debian => debianpkg}/frr.postrm (100%) rename {debian => debianpkg}/frr.preinst (100%) rename {debian => debianpkg}/frr.prerm (100%) rename {debian => debianpkg}/po/POTFILES.in (100%) rename {debian => debianpkg}/po/cs.po (100%) rename {debian => debianpkg}/po/da.po (100%) rename {debian => debianpkg}/po/de.po (100%) rename {debian => debianpkg}/po/es.po (100%) rename {debian => debianpkg}/po/fr.po (100%) rename {debian => debianpkg}/po/it.po (100%) rename {debian => debianpkg}/po/ja.po (100%) rename {debian => debianpkg}/po/nl.po (100%) rename {debian => debianpkg}/po/pt.po (100%) rename {debian => debianpkg}/po/pt_BR.po (100%) rename {debian => debianpkg}/po/ru.po (100%) rename {debian => debianpkg}/po/sv.po (100%) rename {debian => debianpkg}/po/templates.pot (100%) rename {debian => debianpkg}/rules (97%) rename {debian => debianpkg}/source/format (100%) rename {debian => debianpkg}/tests/control (100%) rename {debian => debianpkg}/tests/daemons (100%) rename {debian => debianpkg}/watchfrr.rc (100%) diff --git a/Makefile.am b/Makefile.am index a4841490e5..d9698d7cbd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -64,7 +64,7 @@ DIST_SUBDIRS = . bgpd \ vtysh doc tests \ solaris bgpd/rfp-example/librfp \ bgpd/rfp-example/rfptest \ - debian + debianpkg # end if PKGSRC diff --git a/configure.ac b/configure.ac index c535ed8d5b..35577ab119 100755 --- a/configure.ac +++ b/configure.ac @@ -1839,7 +1839,7 @@ AC_CONFIG_FILES([Makefile doc/Makefile tests/Makefile bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile redhat/frr.spec - debian/Makefile + debianpkg/Makefile snapcraft/snapcraft.yaml lib/version.h tests/lib/cli/test_cli.refout diff --git a/debian/Makefile.am b/debianpkg/Makefile.am similarity index 100% rename from debian/Makefile.am rename to debianpkg/Makefile.am diff --git a/debian/README.Debian b/debianpkg/README.Debian similarity index 100% rename from debian/README.Debian rename to debianpkg/README.Debian diff --git a/debian/README.Maintainer b/debianpkg/README.Maintainer similarity index 100% rename from debian/README.Maintainer rename to debianpkg/README.Maintainer diff --git a/debian/backports/.gitignore b/debianpkg/backports/.gitignore similarity index 100% rename from debian/backports/.gitignore rename to debianpkg/backports/.gitignore diff --git a/debian/backports/README b/debianpkg/backports/README similarity index 100% rename from debian/backports/README rename to debianpkg/backports/README diff --git a/debian/backports/rules b/debianpkg/backports/rules similarity index 100% rename from debian/backports/rules rename to debianpkg/backports/rules diff --git a/debian/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control similarity index 100% rename from debian/backports/ubuntu12.04/debian/control rename to debianpkg/backports/ubuntu12.04/debian/control diff --git a/debian/backports/ubuntu12.04/debian/frr.install b/debianpkg/backports/ubuntu12.04/debian/frr.install similarity index 100% rename from debian/backports/ubuntu12.04/debian/frr.install rename to debianpkg/backports/ubuntu12.04/debian/frr.install diff --git a/debian/backports/ubuntu12.04/debian/frr.postinst b/debianpkg/backports/ubuntu12.04/debian/frr.postinst similarity index 100% rename from debian/backports/ubuntu12.04/debian/frr.postinst rename to debianpkg/backports/ubuntu12.04/debian/frr.postinst diff --git a/debian/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules similarity index 100% rename from debian/backports/ubuntu12.04/debian/rules rename to debianpkg/backports/ubuntu12.04/debian/rules diff --git a/debian/backports/ubuntu12.04/debian/source/format b/debianpkg/backports/ubuntu12.04/debian/source/format similarity index 100% rename from debian/backports/ubuntu12.04/debian/source/format rename to debianpkg/backports/ubuntu12.04/debian/source/format diff --git a/debian/backports/ubuntu12.04/exclude b/debianpkg/backports/ubuntu12.04/exclude similarity index 100% rename from debian/backports/ubuntu12.04/exclude rename to debianpkg/backports/ubuntu12.04/exclude diff --git a/debian/backports/ubuntu12.04/versionext b/debianpkg/backports/ubuntu12.04/versionext similarity index 100% rename from debian/backports/ubuntu12.04/versionext rename to debianpkg/backports/ubuntu12.04/versionext diff --git a/debian/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control similarity index 100% rename from debian/backports/ubuntu14.04/debian/control rename to debianpkg/backports/ubuntu14.04/debian/control diff --git a/debian/backports/ubuntu14.04/debian/frr.install b/debianpkg/backports/ubuntu14.04/debian/frr.install similarity index 100% rename from debian/backports/ubuntu14.04/debian/frr.install rename to debianpkg/backports/ubuntu14.04/debian/frr.install diff --git a/debian/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules similarity index 100% rename from debian/backports/ubuntu14.04/debian/rules rename to debianpkg/backports/ubuntu14.04/debian/rules diff --git a/debian/backports/ubuntu14.04/debian/source/format b/debianpkg/backports/ubuntu14.04/debian/source/format similarity index 100% rename from debian/backports/ubuntu14.04/debian/source/format rename to debianpkg/backports/ubuntu14.04/debian/source/format diff --git a/debian/backports/ubuntu14.04/exclude b/debianpkg/backports/ubuntu14.04/exclude similarity index 100% rename from debian/backports/ubuntu14.04/exclude rename to debianpkg/backports/ubuntu14.04/exclude diff --git a/debian/backports/ubuntu14.04/versionext b/debianpkg/backports/ubuntu14.04/versionext similarity index 100% rename from debian/backports/ubuntu14.04/versionext rename to debianpkg/backports/ubuntu14.04/versionext diff --git a/debian/backports/ubuntu16.04/debian/source/format b/debianpkg/backports/ubuntu16.04/debian/source/format similarity index 100% rename from debian/backports/ubuntu16.04/debian/source/format rename to debianpkg/backports/ubuntu16.04/debian/source/format diff --git a/debian/backports/ubuntu16.04/exclude b/debianpkg/backports/ubuntu16.04/exclude similarity index 100% rename from debian/backports/ubuntu16.04/exclude rename to debianpkg/backports/ubuntu16.04/exclude diff --git a/debian/backports/ubuntu16.04/versionext b/debianpkg/backports/ubuntu16.04/versionext similarity index 100% rename from debian/backports/ubuntu16.04/versionext rename to debianpkg/backports/ubuntu16.04/versionext diff --git a/debian/changelog b/debianpkg/changelog similarity index 100% rename from debian/changelog rename to debianpkg/changelog diff --git a/debian/compat b/debianpkg/compat similarity index 100% rename from debian/compat rename to debianpkg/compat diff --git a/debian/control b/debianpkg/control similarity index 100% rename from debian/control rename to debianpkg/control diff --git a/debian/copyright b/debianpkg/copyright similarity index 100% rename from debian/copyright rename to debianpkg/copyright diff --git a/debian/frr-doc.docs b/debianpkg/frr-doc.docs similarity index 100% rename from debian/frr-doc.docs rename to debianpkg/frr-doc.docs diff --git a/debian/frr-doc.info b/debianpkg/frr-doc.info similarity index 100% rename from debian/frr-doc.info rename to debianpkg/frr-doc.info diff --git a/debian/frr-doc.install b/debianpkg/frr-doc.install similarity index 100% rename from debian/frr-doc.install rename to debianpkg/frr-doc.install diff --git a/debian/frr-doc.lintian-overrides b/debianpkg/frr-doc.lintian-overrides similarity index 100% rename from debian/frr-doc.lintian-overrides rename to debianpkg/frr-doc.lintian-overrides diff --git a/debian/frr.conf b/debianpkg/frr.conf similarity index 100% rename from debian/frr.conf rename to debianpkg/frr.conf diff --git a/debian/frr.config b/debianpkg/frr.config similarity index 100% rename from debian/frr.config rename to debianpkg/frr.config diff --git a/debian/frr.dirs b/debianpkg/frr.dirs similarity index 100% rename from debian/frr.dirs rename to debianpkg/frr.dirs diff --git a/debian/frr.docs b/debianpkg/frr.docs similarity index 100% rename from debian/frr.docs rename to debianpkg/frr.docs diff --git a/debian/frr.install b/debianpkg/frr.install similarity index 100% rename from debian/frr.install rename to debianpkg/frr.install diff --git a/debian/frr.lintian-overrides b/debianpkg/frr.lintian-overrides similarity index 100% rename from debian/frr.lintian-overrides rename to debianpkg/frr.lintian-overrides diff --git a/debian/frr.logrotate b/debianpkg/frr.logrotate similarity index 100% rename from debian/frr.logrotate rename to debianpkg/frr.logrotate diff --git a/debian/frr.manpages b/debianpkg/frr.manpages similarity index 100% rename from debian/frr.manpages rename to debianpkg/frr.manpages diff --git a/debian/frr.pam b/debianpkg/frr.pam similarity index 100% rename from debian/frr.pam rename to debianpkg/frr.pam diff --git a/debian/frr.postinst b/debianpkg/frr.postinst similarity index 100% rename from debian/frr.postinst rename to debianpkg/frr.postinst diff --git a/debian/frr.postrm b/debianpkg/frr.postrm similarity index 100% rename from debian/frr.postrm rename to debianpkg/frr.postrm diff --git a/debian/frr.preinst b/debianpkg/frr.preinst similarity index 100% rename from debian/frr.preinst rename to debianpkg/frr.preinst diff --git a/debian/frr.prerm b/debianpkg/frr.prerm similarity index 100% rename from debian/frr.prerm rename to debianpkg/frr.prerm diff --git a/debian/po/POTFILES.in b/debianpkg/po/POTFILES.in similarity index 100% rename from debian/po/POTFILES.in rename to debianpkg/po/POTFILES.in diff --git a/debian/po/cs.po b/debianpkg/po/cs.po similarity index 100% rename from debian/po/cs.po rename to debianpkg/po/cs.po diff --git a/debian/po/da.po b/debianpkg/po/da.po similarity index 100% rename from debian/po/da.po rename to debianpkg/po/da.po diff --git a/debian/po/de.po b/debianpkg/po/de.po similarity index 100% rename from debian/po/de.po rename to debianpkg/po/de.po diff --git a/debian/po/es.po b/debianpkg/po/es.po similarity index 100% rename from debian/po/es.po rename to debianpkg/po/es.po diff --git a/debian/po/fr.po b/debianpkg/po/fr.po similarity index 100% rename from debian/po/fr.po rename to debianpkg/po/fr.po diff --git a/debian/po/it.po b/debianpkg/po/it.po similarity index 100% rename from debian/po/it.po rename to debianpkg/po/it.po diff --git a/debian/po/ja.po b/debianpkg/po/ja.po similarity index 100% rename from debian/po/ja.po rename to debianpkg/po/ja.po diff --git a/debian/po/nl.po b/debianpkg/po/nl.po similarity index 100% rename from debian/po/nl.po rename to debianpkg/po/nl.po diff --git a/debian/po/pt.po b/debianpkg/po/pt.po similarity index 100% rename from debian/po/pt.po rename to debianpkg/po/pt.po diff --git a/debian/po/pt_BR.po b/debianpkg/po/pt_BR.po similarity index 100% rename from debian/po/pt_BR.po rename to debianpkg/po/pt_BR.po diff --git a/debian/po/ru.po b/debianpkg/po/ru.po similarity index 100% rename from debian/po/ru.po rename to debianpkg/po/ru.po diff --git a/debian/po/sv.po b/debianpkg/po/sv.po similarity index 100% rename from debian/po/sv.po rename to debianpkg/po/sv.po diff --git a/debian/po/templates.pot b/debianpkg/po/templates.pot similarity index 100% rename from debian/po/templates.pot rename to debianpkg/po/templates.pot diff --git a/debian/rules b/debianpkg/rules similarity index 97% rename from debian/rules rename to debianpkg/rules index 7a5efdd765..a152b9a175 100755 --- a/debian/rules +++ b/debianpkg/rules @@ -115,8 +115,7 @@ ifeq ($(wildcard frr-$(ORIG_VERSION).tar.gz),frr-$(ORIG_VERSION).tar.gz) $(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: \ frr-$(ORIG_VERSION).tar.gz - gunzip -c < $< | tar --delete frr-$(ORIG_VERSION)/debian/ \ - | gzip -c > $@ + cp $< $@ else # wildcard frr-$(ORIG_VERSION).tar.gz diff --git a/debian/source/format b/debianpkg/source/format similarity index 100% rename from debian/source/format rename to debianpkg/source/format diff --git a/debian/tests/control b/debianpkg/tests/control similarity index 100% rename from debian/tests/control rename to debianpkg/tests/control diff --git a/debian/tests/daemons b/debianpkg/tests/daemons similarity index 100% rename from debian/tests/daemons rename to debianpkg/tests/daemons diff --git a/debian/watchfrr.rc b/debianpkg/watchfrr.rc similarity index 100% rename from debian/watchfrr.rc rename to debianpkg/watchfrr.rc From 680effc85e3253cd2d71371dbd00c0f35de8ab2e Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 8 Jun 2017 20:34:22 -0700 Subject: [PATCH 16/52] debianpkg: Add initial README to document the steps required to build the debian packages with backports Signed-off-by: Martin Winter --- debianpkg/README.deb_build.md | 83 +++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 debianpkg/README.deb_build.md diff --git a/debianpkg/README.deb_build.md b/debianpkg/README.deb_build.md new file mode 100644 index 0000000000..8ebd22217a --- /dev/null +++ b/debianpkg/README.deb_build.md @@ -0,0 +1,83 @@ +Building your own FRRouting Debian Package +========================================== +(Tested on Ubuntu 12.04, 14.04, 16.04 and Debian 8) + +1. Follow the package installation as outlined in doc/Building_on_XXXX.md + (XXXX refers your OS Distribution) to install the required build packages + +2. Install the following additional packages: + + apt-get install realpath equivs groff fakeroot debhelper + +3. Checkout FRR under a **unpriviledged** user account + + git clone https://github.com/frrouting/frr.git frr + +4. Run Bootstrap and make distribution tar.gz + + cd frr + ./bootstrap.sh + ./configure --with-pkg-extra-version=-MyDebPkgVersion + make dist + + Note: configure parameters are not important for the Debian Package + building - except the `with-pkg-extra-version` if you want to give the + Debian Package a specific name to mark your own unoffical build + +5. Edit `debianpkg/rules` and set the configuration as needed + + Look for section `dh_auto_configure` to modify the configure + options as needed. Options might be different between main `rules` and + `backports/XXXX/debian/rules`. Please adjust as needed on all files + +6. Create backports debian sources + + Move the `debianpkg` to `debian` and create the backports + (Debian requires to not ship a `debian` directory inside the source + directory to avoid build conflicts with the reserved `debian` subdirectory + name during the build) + + mv debianpkg debian + make -f debian/rules backports + + This will create a `frr_*.orig.tar.gz` with the source (same as dist tar), + and multiple `frr_*.debian.tar.xz` and `frr_*.dsc` for the debian package + source on each backport supported distribution + +6. Create a new directory to build the package and populate with package src + + mkdir frrpkg + cd frrpkg + tar xf ~/frr/frr_*.orig.tar.gz + cd frr* + . /etc/os-release + tar xf ~/frr/frr_*ubuntu*${VERSION_ID}*.debian.tar.xz + +7. Build Debian Package Dependencies and install them as needed + + sudo mk-build-deps --install debian/control + +8. Build Debian Package + + debuild -b -uc -us + +DONE. + +If all works correctly, then you should end up with the Debian packages under +`frrpkg`. If distributed, please make sure you distribute it together with +the sources (`frr_*.orig.tar.gz`, `frr_*.debian.tar.xz` and `frr_*.dsc`) + + +Enabling daemons after installation of the package: +--------------------------------------------------- + +1. Edit /etc/frr/daemons and enable required routing daemons (Zebra is probably needed for most deployments, so make sure to enable it.) + +2. Check your firewall / IPtables to make sure the routing protocols are +allowed. + +3. Start/Restart the daemons (or reboot) + + systemctl restart frr + +Configuration is stored in `/etc/frr/*.conf` files and daemon selection is stored in `/etc/frr/daemons`. From 6e6f32769d2733dd4398fb0fdd0e72b5ccf01c7b Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 8 Jun 2017 23:12:02 -0700 Subject: [PATCH 17/52] debianpkg: Update Build-Depends to use libjson-c-dev / libjson-c2 instead of libjson0 on newer debian systems Signed-off-by: Martin Winter --- .../backports/ubuntu12.04/debian/control | 46 ++++++++++++++++++- .../backports/ubuntu14.04/debian/control | 2 +- debianpkg/control | 2 +- 3 files changed, 47 insertions(+), 3 deletions(-) mode change 120000 => 100644 debianpkg/backports/ubuntu12.04/debian/control diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control deleted file mode 120000 index 31862f4099..0000000000 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ /dev/null @@ -1 +0,0 @@ -../../ubuntu14.04/debian/control \ No newline at end of file diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control new file mode 100644 index 0000000000..c05cdd04f8 --- /dev/null +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -0,0 +1,45 @@ +Source: frr +Section: net +Priority: optional +Maintainer: Nobody +Uploaders: Nobody +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config +Standards-Version: 3.9.6 +Homepage: http://www.freerangerouting.org/ +XS-Testsuite: autopkgtest + +Package: frr +Architecture: any +Depends: ${shlibs:Depends}, logrotate (>= 3.2-11), ${misc:Depends} +Pre-Depends: adduser +Conflicts: zebra, zebra-pj +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/freerangerouting/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 forked from Quagga (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: documentation files for FRR + 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/control b/debianpkg/backports/ubuntu14.04/debian/control index c05cdd04f8..41771a4740 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, python-ipaddr, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest diff --git a/debianpkg/control b/debianpkg/control index 482573a080..e74af6ff06 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, pkg-config +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest From a2939a2cd13d7726930c81ed0d2f266d389e5a10 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 8 Jun 2017 23:30:09 -0700 Subject: [PATCH 18/52] debianpkg: debian rules file needs to be executable Signed-off-by: Martin Winter --- debianpkg/backports/rules | 0 debianpkg/backports/ubuntu12.04/debian/rules | 0 debianpkg/backports/ubuntu14.04/debian/rules | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 debianpkg/backports/rules mode change 100644 => 100755 debianpkg/backports/ubuntu12.04/debian/rules mode change 100644 => 100755 debianpkg/backports/ubuntu14.04/debian/rules diff --git a/debianpkg/backports/rules b/debianpkg/backports/rules old mode 100644 new mode 100755 diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules old mode 100644 new mode 100755 diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules old mode 100644 new mode 100755 From f8fc6a0c1b85a7e80c69fd8ab34d0b7fd3752743 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 9 Jun 2017 01:58:31 -0700 Subject: [PATCH 19/52] debianpkg: Add backport for Debian 8 Signed-off-by: Martin Winter --- debianpkg/Makefile.am | 3 +++ debianpkg/README.deb_build.md | 2 +- debianpkg/backports/debian8/debian/source/format | 1 + debianpkg/backports/debian8/exclude | 0 debianpkg/backports/debian8/versionext | 1 + debianpkg/rules | 2 +- 6 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 debianpkg/backports/debian8/debian/source/format create mode 100644 debianpkg/backports/debian8/exclude create mode 100644 debianpkg/backports/debian8/versionext diff --git a/debianpkg/Makefile.am b/debianpkg/Makefile.am index 6078b6a1f4..dd301aaf6e 100644 --- a/debianpkg/Makefile.am +++ b/debianpkg/Makefile.am @@ -4,6 +4,9 @@ EXTRA_DIST = README.Debian README.Maintainer \ rules source/format tests/control \ tests/daemons watchfrr.rc \ backports/README backports/rules \ + backports/debian8/debian/source/format \ + backports/debian8/exclude \ + backports/debian8/versionext \ backports/ubuntu12.04/debian/control \ backports/ubuntu12.04/debian/frr.install \ backports/ubuntu12.04/debian/frr.postinst \ diff --git a/debianpkg/README.deb_build.md b/debianpkg/README.deb_build.md index 8ebd22217a..617c2fb37a 100644 --- a/debianpkg/README.deb_build.md +++ b/debianpkg/README.deb_build.md @@ -51,7 +51,7 @@ Building your own FRRouting Debian Package tar xf ~/frr/frr_*.orig.tar.gz cd frr* . /etc/os-release - tar xf ~/frr/frr_*ubuntu*${VERSION_ID}*.debian.tar.xz + tar xf ~/frr/frr_*${ID}${VERSION_ID}*.debian.tar.xz 7. Build Debian Package Dependencies and install them as needed diff --git a/debianpkg/backports/debian8/debian/source/format b/debianpkg/backports/debian8/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debianpkg/backports/debian8/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debianpkg/backports/debian8/exclude b/debianpkg/backports/debian8/exclude new file mode 100644 index 0000000000..e69de29bb2 diff --git a/debianpkg/backports/debian8/versionext b/debianpkg/backports/debian8/versionext new file mode 100644 index 0000000000..cf418ffabf --- /dev/null +++ b/debianpkg/backports/debian8/versionext @@ -0,0 +1 @@ +-0~debian8+1 diff --git a/debianpkg/rules b/debianpkg/rules index a152b9a175..26005f4b52 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -102,7 +102,7 @@ override_dh_systemd_enable: # backports SRCPKG = frr -KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04 +KNOWN_BACKPORTS = debian8 ubuntu12.04 ubuntu14.04 ubuntu16.04 ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ | cut -d, -f2 | xargs echo) DEBIAN_VERSION := $(shell dh_testdir && \ From 3ecea1b4f4b62dd7fe7d9dd07a60d625762b8bef Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 9 Jun 2017 15:30:21 -0700 Subject: [PATCH 20/52] debianpkg: Fix Date format in changelog and version numbering to make sure custom build is newer Signed-off-by: Martin Winter --- debianpkg/backports/debian8/versionext | 2 +- debianpkg/backports/ubuntu12.04/versionext | 2 +- debianpkg/backports/ubuntu14.04/versionext | 2 +- debianpkg/backports/ubuntu16.04/versionext | 2 +- debianpkg/changelog | 10 +++++----- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/debianpkg/backports/debian8/versionext b/debianpkg/backports/debian8/versionext index cf418ffabf..4824521f8c 100644 --- a/debianpkg/backports/debian8/versionext +++ b/debianpkg/backports/debian8/versionext @@ -1 +1 @@ --0~debian8+1 +-1~debian8+1 diff --git a/debianpkg/backports/ubuntu12.04/versionext b/debianpkg/backports/ubuntu12.04/versionext index 0a8f3c956e..159e2e4160 100644 --- a/debianpkg/backports/ubuntu12.04/versionext +++ b/debianpkg/backports/ubuntu12.04/versionext @@ -1 +1 @@ --0~ubuntu12.04+1 +-1~ubuntu12.04+1 diff --git a/debianpkg/backports/ubuntu14.04/versionext b/debianpkg/backports/ubuntu14.04/versionext index 5ebeee771d..c5be0650af 100644 --- a/debianpkg/backports/ubuntu14.04/versionext +++ b/debianpkg/backports/ubuntu14.04/versionext @@ -1 +1 @@ --0~ubuntu14.04+1 +-1~ubuntu14.04+1 diff --git a/debianpkg/backports/ubuntu16.04/versionext b/debianpkg/backports/ubuntu16.04/versionext index 56339e8367..dc33d97a12 100644 --- a/debianpkg/backports/ubuntu16.04/versionext +++ b/debianpkg/backports/ubuntu16.04/versionext @@ -1 +1 @@ --0~ubuntu16.04+1 +-1~ubuntu16.04+1 diff --git a/debianpkg/changelog b/debianpkg/changelog index 4ea86929fc..d86a1a761a 100644 --- a/debianpkg/changelog +++ b/debianpkg/changelog @@ -2,9 +2,9 @@ frr (3.1-dev) Released; urgency=medium * New Enabled: PIM draft Unnumbered - -- frr Wed, 5 Apr 2017 22:29:42 -0500 + -- FRRouting-Dev Wed, 18 Oct 2017 17:01:42 -0700 -frr (3.0) Released; urgency=medium +frr (3.0-0) Released; urgency=medium * New Enabled: BGP Shutdown Message * New Enabled: BGP Large Community @@ -23,13 +23,13 @@ frr (3.0) Released; urgency=medium * New Enabled: NHRP RFC 2332 * New Enabled: Label Manager - -- frr Wed, 5 Apr 2017 22:23:42 -0500 + -- FRRouting-Dev Wed, 05 Apr 2017 22:23:42 -0500 -frr (2.1) Released; urgency=medium +frr (2.0-0) Released; urgency=medium * Switchover to FRR - -- frr Mon, 23 Jan 2017 16:30:22 -0400 + -- FRRouting-Dev Mon, 23 Jan 2017 16:30:22 -0400 quagga (0.99.24+cl3u5) RELEASED; urgency=medium From 1a18bcf812f982d45ec24b9745adc47c1e933064 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 9 Jun 2017 15:57:32 -0700 Subject: [PATCH 21/52] debianpkg: Update control to fix maintainer email Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/control | 5 +++-- debianpkg/backports/ubuntu14.04/debian/control | 5 +++-- debianpkg/control | 5 ++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control index c05cdd04f8..066407f7e3 100644 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -1,8 +1,9 @@ Source: frr Section: net Priority: optional -Maintainer: Nobody -Uploaders: Nobody +Maintainer: Nobody +Uploaders: Nobody +XSBC-Original-Maintainer: 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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ diff --git a/debianpkg/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control index 41771a4740..b526b9c91b 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -1,8 +1,9 @@ Source: frr Section: net Priority: optional -Maintainer: Nobody -Uploaders: Nobody +Maintainer: Nobody +Uploaders: Nobody +XSBC-Original-Maintainer: 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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, python-ipaddr, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ diff --git a/debianpkg/control b/debianpkg/control index e74af6ff06..ed4556ef58 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -1,12 +1,11 @@ Source: frr Section: net Priority: optional -Maintainer: Nobody -Uploaders: Nobody +Maintainer: Nobody +Uploaders: Nobody 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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, pkg-config Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ -XS-Testsuite: autopkgtest Package: frr Architecture: any From 1061bee0247548ba8dcaa10cb9cf5bea7ef07259 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 9 Jun 2017 20:41:09 -0700 Subject: [PATCH 22/52] debianpkg/Ubuntu12.04-backport: Remove accidental reference to frr_sudoers Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/frr.postinst | 1 - 1 file changed, 1 deletion(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/frr.postinst b/debianpkg/backports/ubuntu12.04/debian/frr.postinst index d4c33cd5cd..5f1918b27f 100644 --- a/debianpkg/backports/ubuntu12.04/debian/frr.postinst +++ b/debianpkg/backports/ubuntu12.04/debian/frr.postinst @@ -15,7 +15,6 @@ frrvtygid=`egrep "^frrvty:" $GROUPFILE | awk -F ":" '{ print $3 }'` chown -R ${frruid}:${frrgid} /etc/frr touch /etc/frr/vtysh.conf chgrp ${frrvtygid} /etc/frr/vtysh* -chmod 440 /etc/sudoers.d/frr_sudoers chmod 644 /etc/frr/* ENVIRONMENTFILE=/etc/environment From f0d5f80737a107e87d63f32bd6048d8b9d6200a3 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Sat, 10 Jun 2017 02:20:29 -0700 Subject: [PATCH 23/52] tools: Rename to FRRouting in frr.service file Signed-off-by: Martin Winter --- tools/frr.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/frr.service b/tools/frr.service index 51dbbe2f32..ff9300d5dc 100644 --- a/tools/frr.service +++ b/tools/frr.service @@ -1,5 +1,5 @@ [Unit] -Description=Cumulus Linux FRR +Description=FRRouting After=syslog.target networking.service OnFailure=heartbeat-failed@%n.service From 94c0a91c7b87bcb55f409685e30954bae5d18c2d Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 12 Jun 2017 16:14:03 -0700 Subject: [PATCH 24/52] debianpkg: Do not start package after installation - Remove auto-start from Ubuntu 12.04 Backport - Update Doc to explain on how to enable startup Signed-off-by: Martin Winter --- debianpkg/README.deb_build.md | 29 +++++++++++++++---- .../backports/ubuntu12.04/debian/frr.postinst | 7 ----- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/debianpkg/README.deb_build.md b/debianpkg/README.deb_build.md index 617c2fb37a..3156c3672d 100644 --- a/debianpkg/README.deb_build.md +++ b/debianpkg/README.deb_build.md @@ -71,13 +71,32 @@ the sources (`frr_*.orig.tar.gz`, `frr_*.debian.tar.xz` and `frr_*.dsc`) Enabling daemons after installation of the package: --------------------------------------------------- -1. Edit /etc/frr/daemons and enable required routing daemons (Zebra is probably needed for most deployments, so make sure to enable it.) +1. Edit `/etc/frr/daemons` and enable required routing daemons (Zebra is +probably needed for most deployments, so make sure to enable it.) 2. Check your firewall / IPtables to make sure the routing protocols are allowed. -3. Start/Restart the daemons (or reboot) +3. Enable FRR at startup - systemctl restart frr - -Configuration is stored in `/etc/frr/*.conf` files and daemon selection is stored in `/etc/frr/daemons`. + - On `init.d` based systems (Ubuntu 12.04) + + sudo update-rc.d frr defaults + + - On `systemd` based systems (Debian 8, Ubuntu 14.04, 16.04) + + sudo systemctl enable frr + +4. Start/Restart the daemons (or reboot) + + - On `init.d` based systems (Ubuntu 12.04) + + sudo invoke-rc.d frr start + + - on `systemd` based systems (Debian 8, Ubuntu 14.04, 16.04) + + sudo systemctl start frr + + +Configuration is stored in `/etc/frr/*.conf` files and daemon selection +is stored in `/etc/frr/daemons`. diff --git a/debianpkg/backports/ubuntu12.04/debian/frr.postinst b/debianpkg/backports/ubuntu12.04/debian/frr.postinst index 5f1918b27f..9020d7bf7a 100644 --- a/debianpkg/backports/ubuntu12.04/debian/frr.postinst +++ b/debianpkg/backports/ubuntu12.04/debian/frr.postinst @@ -36,12 +36,5 @@ fi db_stop -if [ -x "/etc/init.d/frr" ] || [ -e "/etc/init/frr.conf" ]; then - if [ ! -e "/etc/init/frr.conf" ]; then - update-rc.d frr defaults >/dev/null - fi - invoke-rc.d frr start || exit $? -fi - #DEBHELPER# From 7dc9a3051385138f69d5e05015ea71c92ccc3853 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 12 Jun 2017 19:32:02 -0700 Subject: [PATCH 25/52] debianpkg: Cleanup configure options - Make them configurable (with WANT_xxx env variables) - Adjust defaults to generic package - remove obsolete configure options Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/rules | 116 +++++++++++++++++-- debianpkg/backports/ubuntu14.04/debian/rules | 116 +++++++++++++++++-- debianpkg/rules | 116 +++++++++++++++++-- 3 files changed, 315 insertions(+), 33 deletions(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index 34528d54b7..a330bb805f 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -1,5 +1,32 @@ #!/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 +# +# export WANT_LDP=1 +# export WANT_PIM=1 +# export WANT_OSPFAPI=1 +# export WANT_TCP_ZEBRA=0 +# export WANT_FPM=0 +# export WANT_BGP_VNC=0 +# export WANT_CUMULUS_MODE=0 +# export WANT_MULTIPATH=1 +# +# 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 +# export MULTIPATH=256 +# +# Set the following to the value required (or leave undefined for the default below) +# WANT_FRR_USER is used for the username and groupname of the FRR user account +# export WANT_FRR_USER=frr +# export WANT_FRR_VTY_GROUP=frrvty +# +#################################### + export DH_VERBOSE=1 export DEB_BUILD_HARDENING=1 export DH_OPTIONS=-v @@ -11,6 +38,74 @@ else $(warning "DEBIAN: SNMP disabled, see README.Debian") endif +ifneq ($(WANT_LDP), 0) + USE_LDP=--enable-ldpd +else + USE_LDP=--disable-ldpd +endif + +ifneq ($(WANT_PIM), 0) + USE_PIM=--enable-pimd +else + USE_PIM=--disable-pimd +endif + +ifneq ($(WANT_OSPFAPI), 0) + USE_OSPFAPI=--enable-ospfapi=yes +else + USE_OSPFAPI=--enable-ospfapi=no +endif + +ifeq ($(WANT_FPM), 1) + USE_FPM=---enable-fpm + ifneq ($(WANT_TCP_ZEBRA),1) + $(warning "Zebra TCP interface enabled for FPM (requirement for FPM)") + export WANT_TCP_ZEBRA=1 + endif +else + USE_FPM=--disable-fpm +endif + +ifeq ($(WANT_TCP_ZEBRA),1) + USE_TCP_ZEBRA=--enable-tcp-zebra +endif + +ifneq ($(WANT_BGP_VNC), 0) + USE_BGP_VNC=--enable-bgp-vnc=yes +else + USE_BGP_VNC=--enable-bgp-vnc=no +endif + +ifndef WANT_FRR_USER + USE_FRR_USER=--enable-user=frr + USE_FRR_GROUP=--enable-group=frr +else + USE_FRR_USER=$(WANT_FRR_USER) + USE_FRR_GROUP=$(WANT_FRR_USER) +endif + +ifndef WANT_FRR_VTY_GROUP + USE_FRR_VTY_GROUP=--enable-vty-group=frrvty +else + USE_FRR_VTY_GROUP=--enable-vty-group=$(WANT_FRR_VTY_GROUP) +endif + +ifneq ($(WANT_MULTIPATH), 0) + ifdef MULTIPATH + USE_MULTIPATH=--enable-multipath=$(MULTIPATH) + else + USE_MULTIPATH=--enable-multipath=256 + endif +else + USE_MULTIPATH=--disable-multipath +endif + +ifeq ($(WANT_CUMULUS_NODE), 1) + USE_CUMULUS=--enable-cumulus=yes +else + USE_CUMULUS=--enable-cumulus=no +endif + ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) endif @@ -38,24 +133,23 @@ override_dh_auto_configure: --sbindir=/usr/lib/frr \ --sysconfdir=/etc/frr \ $(USE_SNMP) \ - --enable-ospfapi=yes \ - --enable-vtysh=yes \ - --enable-isisd=yes \ - --enable-multipath=256 \ - --enable-user=frr \ - --enable-group=frr \ - --enable-vty-group=frrvty \ + $(USE_OSPFAPI) \ + $(USE_MULTIPATH) \ + $(USE_LDP) \ + $(USE_TCP_ZEBRA) \ + $(USE_FPM) \ + $(USE_FRR_USER) $(USE_FRR_GROUP) \ + $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ --enable-werror \ - --enable-gcc-rdynamic \ --with-libpam \ --enable-systemd=no \ --enable-poll=yes \ - --enable-cumulus=yes \ - --enable-pimd=no \ + $(USE_CUMULUS) \ + $(USE_PIM) \ --enable-dependency-tracking \ - --disable-rr-semantics; \ + $(USE_BGP_VNC); \ fi override_dh_auto_build: diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index 84d4b177c8..96e2e2b15a 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -1,5 +1,32 @@ #!/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 +# +# export WANT_LDP=1 +# export WANT_PIM=1 +# export WANT_OSPFAPI=1 +# export WANT_TCP_ZEBRA=0 +# export WANT_FPM=0 +# export WANT_BGP_VNC=0 +# export WANT_CUMULUS_MODE=0 +# export WANT_MULTIPATH=1 +# +# 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 +# export MULTIPATH=256 +# +# Set the following to the value required (or leave undefined for the default below) +# WANT_FRR_USER is used for the username and groupname of the FRR user account +# export WANT_FRR_USER=frr +# export WANT_FRR_VTY_GROUP=frrvty +# +#################################### + export DH_VERBOSE=1 export DEB_BUILD_HARDENING=1 export DH_OPTIONS=-v @@ -11,6 +38,74 @@ else $(warning "DEBIAN: SNMP disabled, see README.Debian") endif +ifneq ($(WANT_LDP), 0) + USE_LDP=--enable-ldpd +else + USE_LDP=--disable-ldpd +endif + +ifneq ($(WANT_PIM), 0) + USE_PIM=--enable-pimd +else + USE_PIM=--disable-pimd +endif + +ifneq ($(WANT_OSPFAPI), 0) + USE_OSPFAPI=--enable-ospfapi=yes +else + USE_OSPFAPI=--enable-ospfapi=no +endif + +ifeq ($(WANT_FPM), 1) + USE_FPM=---enable-fpm + ifneq ($(WANT_TCP_ZEBRA),1) + $(warning "Zebra TCP interface enabled for FPM (requirement for FPM)") + export WANT_TCP_ZEBRA=1 + endif +else + USE_FPM=--disable-fpm +endif + +ifeq ($(WANT_TCP_ZEBRA),1) + USE_TCP_ZEBRA=--enable-tcp-zebra +endif + +ifneq ($(WANT_BGP_VNC), 0) + USE_BGP_VNC=--enable-bgp-vnc=yes +else + USE_BGP_VNC=--enable-bgp-vnc=no +endif + +ifndef WANT_FRR_USER + USE_FRR_USER=--enable-user=frr + USE_FRR_GROUP=--enable-group=frr +else + USE_FRR_USER=$(WANT_FRR_USER) + USE_FRR_GROUP=$(WANT_FRR_USER) +endif + +ifndef WANT_FRR_VTY_GROUP + USE_FRR_VTY_GROUP=--enable-vty-group=frrvty +else + USE_FRR_VTY_GROUP=--enable-vty-group=$(WANT_FRR_VTY_GROUP) +endif + +ifneq ($(WANT_MULTIPATH), 0) + ifdef MULTIPATH + USE_MULTIPATH=--enable-multipath=$(MULTIPATH) + else + USE_MULTIPATH=--enable-multipath=256 + endif +else + USE_MULTIPATH=--disable-multipath +endif + +ifeq ($(WANT_CUMULUS_NODE), 1) + USE_CUMULUS=--enable-cumulus=yes +else + USE_CUMULUS=--enable-cumulus=no +endif + ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) endif @@ -38,24 +133,23 @@ override_dh_auto_configure: --sbindir=/usr/lib/frr \ --sysconfdir=/etc/frr \ $(USE_SNMP) \ - --enable-ospfapi=yes \ - --enable-vtysh=yes \ - --enable-isisd=yes \ - --enable-multipath=256 \ - --enable-user=frr \ - --enable-group=frr \ - --enable-vty-group=frrvty \ + $(USE_OSPFAPI) \ + $(USE_MULTIPATH) \ + $(USE_LDP) \ + $(USE_TCP_ZEBRA) \ + $(USE_FPM) \ + $(USE_FRR_USER) $(USE_FRR_GROUP) \ + $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ --enable-werror \ - --enable-gcc-rdynamic \ --with-libpam \ --enable-systemd=no \ --enable-poll=yes \ - --enable-cumulus=yes \ - --enable-pimd=no \ + $(USE_CUMULUS) \ + $(USE_PIM) \ --enable-dependency-tracking \ - --disable-rr-semantics; \ + $(USE_BGP_VNC); \ fi override_dh_auto_build: diff --git a/debianpkg/rules b/debianpkg/rules index 26005f4b52..3d84a37d39 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -1,5 +1,32 @@ #!/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 +# +# export WANT_LDP=1 +# export WANT_PIM=1 +# export WANT_OSPFAPI=1 +# export WANT_TCP_ZEBRA=0 +# export WANT_FPM=0 +# export WANT_BGP_VNC=0 +# export WANT_CUMULUS_MODE=0 +# export WANT_MULTIPATH=1 +# +# 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 +# export MULTIPATH=256 +# +# Set the following to the value required (or leave undefined for the default below) +# WANT_FRR_USER is used for the username and groupname of the FRR user account +# export WANT_FRR_USER=frr +# export WANT_FRR_VTY_GROUP=frrvty +# +#################################### + export DH_VERBOSE=1 export DEB_BUILD_HARDENING=1 export DH_OPTIONS=-v @@ -11,6 +38,74 @@ else $(warning "DEBIAN: SNMP disabled, see README.Debian") endif +ifneq ($(WANT_LDP), 0) + USE_LDP=--enable-ldpd +else + USE_LDP=--disable-ldpd +endif + +ifneq ($(WANT_PIM), 0) + USE_PIM=--enable-pimd +else + USE_PIM=--disable-pimd +endif + +ifneq ($(WANT_OSPFAPI), 0) + USE_OSPFAPI=--enable-ospfapi=yes +else + USE_OSPFAPI=--enable-ospfapi=no +endif + +ifeq ($(WANT_FPM), 1) + USE_FPM=---enable-fpm + ifneq ($(WANT_TCP_ZEBRA),1) + $(warning "Zebra TCP interface enabled for FPM (requirement for FPM)") + export WANT_TCP_ZEBRA=1 + endif +else + USE_FPM=--disable-fpm +endif + +ifeq ($(WANT_TCP_ZEBRA),1) + USE_TCP_ZEBRA=--enable-tcp-zebra +endif + +ifneq ($(WANT_BGP_VNC), 0) + USE_BGP_VNC=--enable-bgp-vnc=yes +else + USE_BGP_VNC=--enable-bgp-vnc=no +endif + +ifndef WANT_FRR_USER + USE_FRR_USER=--enable-user=frr + USE_FRR_GROUP=--enable-group=frr +else + USE_FRR_USER=$(WANT_FRR_USER) + USE_FRR_GROUP=$(WANT_FRR_USER) +endif + +ifndef WANT_FRR_VTY_GROUP + USE_FRR_VTY_GROUP=--enable-vty-group=frrvty +else + USE_FRR_VTY_GROUP=--enable-vty-group=$(WANT_FRR_VTY_GROUP) +endif + +ifneq ($(WANT_MULTIPATH), 0) + ifdef MULTIPATH + USE_MULTIPATH=--enable-multipath=$(MULTIPATH) + else + USE_MULTIPATH=--enable-multipath=256 + endif +else + USE_MULTIPATH=--disable-multipath +endif + +ifeq ($(WANT_CUMULUS_NODE), 1) + USE_CUMULUS=--enable-cumulus=yes +else + USE_CUMULUS=--enable-cumulus=no +endif + ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) endif @@ -38,24 +133,23 @@ override_dh_auto_configure: --sbindir=/usr/lib/frr \ --sysconfdir=/etc/frr \ $(USE_SNMP) \ - --enable-ospfapi=yes \ - --enable-vtysh=yes \ - --enable-isisd=yes \ - --enable-multipath=256 \ - --enable-user=frr \ - --enable-group=frr \ - --enable-vty-group=frrvty \ + $(USE_OSPFAPI) \ + $(USE_MULTIPATH) \ + $(USE_LDP) \ + $(USE_TCP_ZEBRA) \ + $(USE_FPM) \ + $(USE_FRR_USER) $(USE_FRR_GROUP) \ + $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ --enable-werror \ - --enable-gcc-rdynamic \ --with-libpam \ --enable-systemd=yes \ --enable-poll=yes \ - --enable-cumulus=yes \ - --enable-pimd=yes \ + $(USE_CUMULUS) \ + $(USE_PIM) \ --enable-dependency-tracking \ - --enable-bgp-vnc=no; \ + $(USE_BGP_VNC); \ fi override_dh_auto_build: From 5eee7099c8a0fc3f304c6f8568a27c5c5c965109 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Tue, 13 Jun 2017 18:06:14 -0700 Subject: [PATCH 26/52] debianpkg: Support --with-pkg-extra-version and other modifier to build custom package version Signed-off-by: Martin Winter --- configure.ac | 1 + debianpkg/{changelog => changelog.in} | 6 +++--- debianpkg/rules | 3 +-- 3 files changed, 5 insertions(+), 5 deletions(-) rename debianpkg/{changelog => changelog.in} (99%) diff --git a/configure.ac b/configure.ac index 35577ab119..6c73391afa 100755 --- a/configure.ac +++ b/configure.ac @@ -1840,6 +1840,7 @@ AC_CONFIG_FILES([Makefile bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile redhat/frr.spec debianpkg/Makefile + debianpkg/changelog snapcraft/snapcraft.yaml lib/version.h tests/lib/cli/test_cli.refout diff --git a/debianpkg/changelog b/debianpkg/changelog.in similarity index 99% rename from debianpkg/changelog rename to debianpkg/changelog.in index d86a1a761a..4002f7e14d 100644 --- a/debianpkg/changelog +++ b/debianpkg/changelog.in @@ -1,10 +1,10 @@ -frr (3.1-dev) Released; urgency=medium +frr (@VERSION@) RELEASED; urgency=medium * New Enabled: PIM draft Unnumbered -- FRRouting-Dev Wed, 18 Oct 2017 17:01:42 -0700 -frr (3.0-0) Released; urgency=medium +frr (3.0-0) RELEASED; urgency=medium * New Enabled: BGP Shutdown Message * New Enabled: BGP Large Community @@ -25,7 +25,7 @@ frr (3.0-0) Released; urgency=medium -- FRRouting-Dev Wed, 05 Apr 2017 22:23:42 -0500 -frr (2.0-0) Released; urgency=medium +frr (2.0-0) RELEASED; urgency=medium * Switchover to FRR diff --git a/debianpkg/rules b/debianpkg/rules index 3d84a37d39..75d4cb14b2 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -197,11 +197,10 @@ override_dh_systemd_enable: # backports SRCPKG = frr KNOWN_BACKPORTS = debian8 ubuntu12.04 ubuntu14.04 ubuntu16.04 -ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \ - | cut -d, -f2 | xargs echo) 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),) From e27971ebf88ea1dc7203b9847c420493c080a4dc Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 15 Jun 2017 14:23:09 -0700 Subject: [PATCH 27/52] debianpkg: Fix description (make shorter - max 80 chars) - Fixes lintian error 'description-too-long' Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu14.04/debian/control | 4 ++-- debianpkg/control | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debianpkg/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control index b526b9c91b..7e8c860d8c 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -29,7 +29,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version}) Priority: extra Section: debug -Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga (debug symbols) +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 @@ -40,7 +40,7 @@ Section: net Architecture: all Depends: ${misc:Depends} Suggests: frr -Description: documentation files for 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. diff --git a/debianpkg/control b/debianpkg/control index ed4556ef58..3353755b5f 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -27,7 +27,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version}) Priority: extra Section: debug -Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga (debug symbols) +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 @@ -38,7 +38,7 @@ Section: net Architecture: all Depends: ${misc:Depends} Suggests: frr -Description: documentation files for 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. From 2c8f80ee3a4660044c578e49f0d49df9f4e658c1 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 15 Jun 2017 17:30:08 -0700 Subject: [PATCH 28/52] debianpkg: Register/remove init script on init.d based systems - Ubuntu 12.04 and Ubuntu 14.04 need init script registered during install and removed at uninstall Signed-off-by: Martin Winter --- debianpkg/Makefile.am | 3 ++ .../backports/ubuntu12.04/debian/frr.postinst | 41 +----------------- .../backports/ubuntu12.04/debian/frr.postrm | 1 + .../backports/ubuntu14.04/debian/frr.postinst | 42 +++++++++++++++++++ .../backports/ubuntu14.04/debian/frr.postrm | 14 +++++++ 5 files changed, 61 insertions(+), 40 deletions(-) mode change 100644 => 120000 debianpkg/backports/ubuntu12.04/debian/frr.postinst create mode 120000 debianpkg/backports/ubuntu12.04/debian/frr.postrm create mode 100644 debianpkg/backports/ubuntu14.04/debian/frr.postinst create mode 100644 debianpkg/backports/ubuntu14.04/debian/frr.postrm diff --git a/debianpkg/Makefile.am b/debianpkg/Makefile.am index dd301aaf6e..c46cfb1c4e 100644 --- a/debianpkg/Makefile.am +++ b/debianpkg/Makefile.am @@ -10,12 +10,15 @@ EXTRA_DIST = README.Debian README.Maintainer \ backports/ubuntu12.04/debian/control \ backports/ubuntu12.04/debian/frr.install \ backports/ubuntu12.04/debian/frr.postinst \ + backports/ubuntu12.04/debian/frr.postrm \ backports/ubuntu12.04/debian/rules \ backports/ubuntu12.04/debian/source/format \ backports/ubuntu12.04/exclude \ backports/ubuntu12.04/versionext \ backports/ubuntu14.04/debian/control \ backports/ubuntu14.04/debian/frr.install \ + backports/ubuntu14.04/debian/frr.postinst \ + backports/ubuntu14.04/debian/frr.postrm \ backports/ubuntu14.04/debian/rules \ backports/ubuntu14.04/debian/source/format \ backports/ubuntu14.04/exclude \ diff --git a/debianpkg/backports/ubuntu12.04/debian/frr.postinst b/debianpkg/backports/ubuntu12.04/debian/frr.postinst deleted file mode 100644 index 9020d7bf7a..0000000000 --- a/debianpkg/backports/ubuntu12.04/debian/frr.postinst +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -e - -###################### -PASSWDFILE=/etc/passwd -GROUPFILE=/etc/group - -frruid=`egrep "^frr:" $PASSWDFILE | awk -F ":" '{ print $3 }'` -frrgid=`egrep "^frr:" $GROUPFILE | awk -F ":" '{ print $3 }'` -frrvtygid=`egrep "^frrvty:" $GROUPFILE | awk -F ":" '{ print $3 }'` - -[ -n ${frruid} ] || (echo "No uid for frr in ${PASSWDFILE}" && /bin/false) -[ -n ${frrgid} ] || (echo "No gid for frr in ${GROUPFILE}" && /bin/false) -[ -n ${frrVTYgid} ] || (echo "No gid for frrvty in ${GROUPFILE}" && /bin/false) - -chown -R ${frruid}:${frrgid} /etc/frr -touch /etc/frr/vtysh.conf -chgrp ${frrvtygid} /etc/frr/vtysh* -chmod 644 /etc/frr/* - -ENVIRONMENTFILE=/etc/environment -if ! grep --quiet VTYSH_PAGER=/bin/cat ${ENVIRONMENTFILE}; then - echo "VTYSH_PAGER=/bin/cat" >> ${ENVIRONMENTFILE} -fi -################################################## - -if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi -${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} - -# This is most likely due to the answer "no" to the "really stop the server" -# question in the prerm script. -if [ "$1" = "abort-upgrade" ]; then - exit 0 -fi - -. /usr/share/debconf/confmodule - -db_stop - -#DEBHELPER# - diff --git a/debianpkg/backports/ubuntu12.04/debian/frr.postinst b/debianpkg/backports/ubuntu12.04/debian/frr.postinst new file mode 120000 index 0000000000..eb98053c7b --- /dev/null +++ b/debianpkg/backports/ubuntu12.04/debian/frr.postinst @@ -0,0 +1 @@ +../../ubuntu14.04/debian/frr.postinst \ No newline at end of file diff --git a/debianpkg/backports/ubuntu12.04/debian/frr.postrm b/debianpkg/backports/ubuntu12.04/debian/frr.postrm new file mode 120000 index 0000000000..4f4380872f --- /dev/null +++ b/debianpkg/backports/ubuntu12.04/debian/frr.postrm @@ -0,0 +1 @@ +../../ubuntu14.04/debian/frr.postrm \ No newline at end of file diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.postinst b/debianpkg/backports/ubuntu14.04/debian/frr.postinst new file mode 100644 index 0000000000..568b43e1ec --- /dev/null +++ b/debianpkg/backports/ubuntu14.04/debian/frr.postinst @@ -0,0 +1,42 @@ +#!/bin/bash -e + +###################### +PASSWDFILE=/etc/passwd +GROUPFILE=/etc/group + +frruid=`egrep "^frr:" $PASSWDFILE | awk -F ":" '{ print $3 }'` +frrgid=`egrep "^frr:" $GROUPFILE | awk -F ":" '{ print $3 }'` +frrvtygid=`egrep "^frrvty:" $GROUPFILE | awk -F ":" '{ print $3 }'` + +[ -n ${frruid} ] || (echo "No uid for frr in ${PASSWDFILE}" && /bin/false) +[ -n ${frrgid} ] || (echo "No gid for frr in ${GROUPFILE}" && /bin/false) +[ -n ${frrVTYgid} ] || (echo "No gid for frrvty in ${GROUPFILE}" && /bin/false) + +chown -R ${frruid}:${frrgid} /etc/frr +touch /etc/frr/vtysh.conf +chgrp ${frrvtygid} /etc/frr/vtysh* +chmod 644 /etc/frr/* + +ENVIRONMENTFILE=/etc/environment +if ! grep --quiet VTYSH_PAGER=/bin/cat ${ENVIRONMENTFILE}; then + echo "VTYSH_PAGER=/bin/cat" >> ${ENVIRONMENTFILE} +fi +################################################## + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} + +# This is most likely due to the answer "no" to the "really stop the server" +# question in the prerm script. +if [ "$1" = "abort-upgrade" ]; then + exit 0 +fi + +. /usr/share/debconf/confmodule + +db_stop + +update-rc.d frr defaults > /dev/null + +#DEBHELPER# + diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.postrm b/debianpkg/backports/ubuntu14.04/debian/frr.postrm new file mode 100644 index 0000000000..48c23321f7 --- /dev/null +++ b/debianpkg/backports/ubuntu14.04/debian/frr.postrm @@ -0,0 +1,14 @@ +#!/bin/bash -e + +if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi +${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} +# set -u not because of debhelper + +update-rc.d -f frr remove >> /dev/null + +if [ "$1" = "purge" ]; then + rm -rf /etc/frr /var/run/frr /var/log/frr + userdel frr >/dev/null 2>&1 || true +fi + +#DEBHELPER# From f3dbd03c7f0cd3fb6fed78f8b53497f5068d16da Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 16 Jun 2017 15:49:27 -0700 Subject: [PATCH 29/52] debianpkg: Move frr-reload.py to frr-pythontools subpackage - avoids python dependency on main frr package Signed-off-by: Martin Winter --- debianpkg/Makefile.am | 3 ++- debianpkg/backports/ubuntu12.04/debian/control | 12 +++++++++++- debianpkg/backports/ubuntu14.04/debian/control | 12 +++++++++++- debianpkg/control | 11 ++++++++++- debianpkg/frr-pythontools.install | 1 + debianpkg/frr.install | 1 - 6 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 debianpkg/frr-pythontools.install diff --git a/debianpkg/Makefile.am b/debianpkg/Makefile.am index c46cfb1c4e..686c60077a 100644 --- a/debianpkg/Makefile.am +++ b/debianpkg/Makefile.am @@ -34,4 +34,5 @@ EXTRA_DIST = README.Debian README.Maintainer \ frr.dirs frr.docs frr.install \ frr.lintian-overrides frr.logrotate \ frr.manpages frr.pam frr.postinst frr.postrm \ - frr.preinst frr.prerm + frr.preinst frr.prerm \ + frr-pythontools.install diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control index 066407f7e3..ae1a8811d9 100644 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, python-ipaddr, pkg-config +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest @@ -44,3 +44,13 @@ Description: documentation files for FRR 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/control b/debianpkg/backports/ubuntu14.04/debian/control index 7e8c860d8c..e0dbf24c61 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, python-ipaddr, pkg-config +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, po-debconf, autotools-dev, hardening-wrapper, 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.freerangerouting.org/ XS-Testsuite: autopkgtest @@ -44,3 +44,13 @@ 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/control b/debianpkg/control index 3353755b5f..f4cab04143 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, python-ipaddr, bison, flex, libc-ares-dev, pkg-config +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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ @@ -42,3 +42,12 @@ 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/frr-pythontools.install b/debianpkg/frr-pythontools.install new file mode 100644 index 0000000000..aee093cf69 --- /dev/null +++ b/debianpkg/frr-pythontools.install @@ -0,0 +1 @@ +tools/frr-reload.py usr/lib/frr/ diff --git a/debianpkg/frr.install b/debianpkg/frr.install index 8fc5fa5fa6..2d86009dba 100644 --- a/debianpkg/frr.install +++ b/debianpkg/frr.install @@ -2,7 +2,6 @@ etc/frr/ usr/bin/vtysh usr/include/frr/ usr/lib/ -tools/frr-reload.py usr/lib/frr/ tools/frr usr/lib/frr usr/share/doc/frr/ usr/share/man/man1/vtysh.1 From 54ac077d427831c6cbc02eb43a245d8e34752d48 Mon Sep 17 00:00:00 2001 From: Silas McCroskey Date: Fri, 7 Jul 2017 15:16:20 -0700 Subject: [PATCH 30/52] debianpkg: Fix 'make backports' warning about autopkgtest Signed-off-by: Martin Winter --- debianpkg/backports/rules | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/debianpkg/backports/rules b/debianpkg/backports/rules index 63bbedf777..d0c6dcc066 100755 --- a/debianpkg/backports/rules +++ b/debianpkg/backports/rules @@ -71,14 +71,12 @@ $(1): $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc ; # bypassing the usual checks (which wouldn't like our combination-of- # directories approach) $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc: - # -b directory does nothing but determine will the .dsc will end up - # for the custom source format. Put it in the current directory by - # specifying one of its subdirs. dpkg-source -l$$(BACKPORTDIR_$(1))/debian/changelog \ -c$$(CONTROL_$(1)) \ --format='3.0 (custom)' \ --target-format='$$(SOURCEFORMAT_$(1))' \ - -b debian $$^ + -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 From 8fead0c53fc5f2f077850ffbde7109545d8e2064 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 7 Jul 2017 18:37:58 -0700 Subject: [PATCH 31/52] debianpkg: Overriding lintian package-name-doesnt-match-sonames warning Signed-off-by: Martin Winter --- debianpkg/frr.lintian-overrides | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debianpkg/frr.lintian-overrides b/debianpkg/frr.lintian-overrides index e21bd9256d..7c5e6d0c99 100644 --- a/debianpkg/frr.lintian-overrides +++ b/debianpkg/frr.lintian-overrides @@ -1,3 +1,3 @@ frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrrospfapiclient.so.0.0.0 usr/lib/libfrrospfapiclient.so frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrr.so.0.0.0 usr/lib/libfrr.so -frr: package-name-doesnt-match-sonames libfrrospf0 libfrrospfapiclient0 libfrr0 +frr: package-name-doesnt-match-sonames libfrr0 libfrr-pb0 libfrrfpm-pb0 libfrrospfapiclient0 From f2d56ccb4059223856c7eb01da7f62c0cad1429b Mon Sep 17 00:00:00 2001 From: smccroskey Date: Mon, 29 May 2017 15:34:02 -0700 Subject: [PATCH 32/52] debian: install PNG files in /usr/share/info Testing done: built in sbuild with lintian enabled Clears lintian warnings of the following form: W: frr-doc: info-document-missing-image-file According to the documentation for the lintian warning, certain applications (e.g. emacs) can render images from info files inline, and expect the images to either have their full path defined or be installed in the same directory as the info files themselves. Automake doesn't seem to have a primary for handling this sort of installation (info_DATA is invalid and causes an error), so opted to handle it in the debian install file itself. Installing the images elsewhere (another path installed by frr-doc) and giving a full path to their location in info files might be a better approach. Signed-off-by: Silas McCroskey --- debianpkg/frr-doc.install | 1 + 1 file changed, 1 insertion(+) diff --git a/debianpkg/frr-doc.install b/debianpkg/frr-doc.install index d2d3f1bbd9..e5910fec8f 100644 --- a/debianpkg/frr-doc.install +++ b/debianpkg/frr-doc.install @@ -1 +1,2 @@ usr/share/info +doc/*.png usr/share/info From c650c681f6ecd07593fcbf3e4efe28d43b614dd8 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Thu, 20 Jul 2017 11:58:43 -0700 Subject: [PATCH 33/52] backports: don't install frr-reload.py in frr package Testing done: built in sbuild with lintian enabled verified frr-reload.py still in frr-pythontools Clean up issues missed when moving the script into a separate package. Clears the following lintian warning: E: frr: python-script-but-no-python-dep usr/lib/frr/frr-reload.py Signed-off-by: Silas McCroskey --- debianpkg/backports/ubuntu12.04/debian/rules | 3 +++ debianpkg/backports/ubuntu14.04/debian/frr.install | 1 - debianpkg/backports/ubuntu14.04/debian/rules | 3 +++ debianpkg/rules | 3 +++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index a330bb805f..807bdfaccb 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -171,6 +171,9 @@ 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* diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.install b/debianpkg/backports/ubuntu14.04/debian/frr.install index 147d15279f..05f4e70ffb 100644 --- a/debianpkg/backports/ubuntu14.04/debian/frr.install +++ b/debianpkg/backports/ubuntu14.04/debian/frr.install @@ -2,7 +2,6 @@ etc/frr/ usr/bin/vtysh usr/include/frr/ usr/lib/ -tools/frr-reload.py usr/lib/frr/ tools/frr etc/init.d/ usr/share/doc/frr/ usr/share/man/man1/vtysh.1 diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index 96e2e2b15a..fe3f503804 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -171,6 +171,9 @@ 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* diff --git a/debianpkg/rules b/debianpkg/rules index 75d4cb14b2..413a664014 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -171,6 +171,9 @@ 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* From 3ea411bc8077d859f8105f36e0132bf037dd1958 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Wed, 26 Jul 2017 18:45:52 -0700 Subject: [PATCH 34/52] deb-based-distros: clean up leftover debconf references Testing done: built and installed on all ubuntu Debconf was in use by this packaging a long time ago, and references to it were never fully cleaned up when the one question it asked was deleted. Clears the following lintian warning: W: frr: no-debconf-templates Signed-off-by: Silas McCroskey --- .../backports/ubuntu12.04/debian/control | 2 +- .../backports/ubuntu14.04/debian/control | 2 +- .../backports/ubuntu14.04/debian/frr.postinst | 2 - debianpkg/control | 2 +- debianpkg/frr.config | 4 -- debianpkg/frr.postinst | 4 -- debianpkg/frr.prerm | 2 - debianpkg/po/POTFILES.in | 1 - debianpkg/po/cs.po | 41 ------------- debianpkg/po/da.po | 33 ----------- debianpkg/po/de.po | 34 ----------- debianpkg/po/es.po | 57 ------------------- debianpkg/po/fr.po | 42 -------------- debianpkg/po/it.po | 35 ------------ debianpkg/po/ja.po | 32 ----------- debianpkg/po/nl.po | 35 ------------ debianpkg/po/pt.po | 34 ----------- debianpkg/po/pt_BR.po | 34 ----------- debianpkg/po/ru.po | 37 ------------ debianpkg/po/sv.po | 40 ------------- debianpkg/po/templates.pot | 31 ---------- 21 files changed, 3 insertions(+), 501 deletions(-) delete mode 100644 debianpkg/frr.config delete mode 100644 debianpkg/po/POTFILES.in delete mode 100644 debianpkg/po/cs.po delete mode 100644 debianpkg/po/da.po delete mode 100644 debianpkg/po/de.po delete mode 100644 debianpkg/po/es.po delete mode 100644 debianpkg/po/fr.po delete mode 100644 debianpkg/po/it.po delete mode 100644 debianpkg/po/ja.po delete mode 100644 debianpkg/po/nl.po delete mode 100644 debianpkg/po/pt.po delete mode 100644 debianpkg/po/pt_BR.po delete mode 100644 debianpkg/po/ru.po delete mode 100644 debianpkg/po/sv.po delete mode 100644 debianpkg/po/templates.pot diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control index ae1a8811d9..d78259f468 100644 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, pkg-config, python (>= 2.7), python-ipaddr +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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ XS-Testsuite: autopkgtest diff --git a/debianpkg/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control index e0dbf24c61..15dbfbe7e0 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, pkg-config, python (>= 2.7), python-ipaddr +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, hardening-wrapper, 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.freerangerouting.org/ XS-Testsuite: autopkgtest diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.postinst b/debianpkg/backports/ubuntu14.04/debian/frr.postinst index 568b43e1ec..24a96e3561 100644 --- a/debianpkg/backports/ubuntu14.04/debian/frr.postinst +++ b/debianpkg/backports/ubuntu14.04/debian/frr.postinst @@ -32,8 +32,6 @@ if [ "$1" = "abort-upgrade" ]; then exit 0 fi -. /usr/share/debconf/confmodule - db_stop update-rc.d frr defaults > /dev/null diff --git a/debianpkg/control b/debianpkg/control index f4cab04143..b4c27c487a 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -3,7 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody -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, po-debconf, autotools-dev, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr +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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.freerangerouting.org/ diff --git a/debianpkg/frr.config b/debianpkg/frr.config deleted file mode 100644 index f642bea1d5..0000000000 --- a/debianpkg/frr.config +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -e - -. /usr/share/debconf/confmodule - diff --git a/debianpkg/frr.postinst b/debianpkg/frr.postinst index 9020d7bf7a..cbc45f03eb 100644 --- a/debianpkg/frr.postinst +++ b/debianpkg/frr.postinst @@ -32,9 +32,5 @@ if [ "$1" = "abort-upgrade" ]; then exit 0 fi -. /usr/share/debconf/confmodule - -db_stop - #DEBHELPER# diff --git a/debianpkg/frr.prerm b/debianpkg/frr.prerm index e0df24e10f..4b71202810 100644 --- a/debianpkg/frr.prerm +++ b/debianpkg/frr.prerm @@ -1,7 +1,5 @@ #!/bin/bash -e -. /usr/share/debconf/confmodule - if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi ${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*"} diff --git a/debianpkg/po/POTFILES.in b/debianpkg/po/POTFILES.in deleted file mode 100644 index 04d24252cd..0000000000 --- a/debianpkg/po/POTFILES.in +++ /dev/null @@ -1 +0,0 @@ -[type: gettext/rfc822deb] quagga.templates diff --git a/debianpkg/po/cs.po b/debianpkg/po/cs.po deleted file mode 100644 index df4f47d914..0000000000 --- a/debianpkg/po/cs.po +++ /dev/null @@ -1,41 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: quagga\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2005-07-13 18:52+0200\n" -"Last-Translator: Miroslav Kure \n" -"Language-Team: Czech \n" -"Language: cs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Opravdu chcete zastavit daemon Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"VAROVÁNÍ: Abyste mohli pokračovat, musí se směrovací daemon Quagga " -"pozastavit. To může vést ke zpanikaření BGP nebo ke ztrátě konektivity." diff --git a/debianpkg/po/da.po b/debianpkg/po/da.po deleted file mode 100644 index 22b2d56c66..0000000000 --- a/debianpkg/po/da.po +++ /dev/null @@ -1,33 +0,0 @@ -# Danish translation quagga. -# Copyright (C) 2010 quagga & nedenstående oversættere. -# This file is distributed under the same license as the quagga package. -# Joe Hansen , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: quagga\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2010-09-09 23:51+0200\n" -"Last-Translator: Joe Hansen \n" -"Language-Team: Danish \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Ønsker du virkelig at stoppe dæmonen Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"ADVARSEL: Ruteplanlægningsdæmonen Quagga skal stoppes for at fortsætte. " -"Dette kan føre til BGP-udfald eller tab af netværksforbindelse." diff --git a/debianpkg/po/de.po b/debianpkg/po/de.po deleted file mode 100644 index cbf919e2e5..0000000000 --- a/debianpkg/po/de.po +++ /dev/null @@ -1,34 +0,0 @@ -# translation of po-debconf template to German -# Copyright (C) 2007, Matthias Julius -# This file is distributed under the same license as the quagga package. -# -# Matthias Julius , 2007. -msgid "" -msgstr "" -"Project-Id-Version: quagga 0.99.6-2\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2007-02-01 19:32-0500\n" -"Last-Translator: Matthias Julius \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Möchten Sie den Quagga-Daemon wirklich beenden?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"Warnung: Um fortzufahren muss der Quagga-Routing-Daemon beendet werden. Dies " -"könnte zu BGP-Flaps oder Verlust der Netzwerkverbindung führen." diff --git a/debianpkg/po/es.po b/debianpkg/po/es.po deleted file mode 100644 index 3b9e421a48..0000000000 --- a/debianpkg/po/es.po +++ /dev/null @@ -1,57 +0,0 @@ -# quagga translation to spanish -# Copyright (C) 2004 Software in the Public Interest -# This file is distributed under the same license as the quagga package. -# -# Changes: -# - Initial translation -# Carlos Galisteo de Cabo , 2007 -# -# -# Traductores, si no conoce el formato PO, merece la pena leer la -# documentacin de gettext, especialmente las secciones dedicadas a este -# formato, por ejemplo ejecutando: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Equipo de traduccin al espaol, por favor lean antes de traducir -# los siguientes documentos: -# -# - El proyecto de traduccin de Debian al espaol -# http://www.debian.org/intl/spanish/coordinacion -# especialmente las notas de traduccin en -# http://www.debian.org/intl/spanish/notas -# -# - La gua de traduccin de po's de debconf: -# /usr/share/doc/po-debconf/README-trans -# o http://www.debian.org/intl/l10n/po-debconf/README-trans -# -msgid "" -msgstr "" -"Project-Id-Version: quagga_0.99.7-2\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2007-05-08 12:39+0200\n" -"Last-Translator: Carlos Galisteo \n" -"Language-Team: \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-15\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Est seguro de que quiere detener el servicio Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"ADVERTENCIA: Debe detenerse el servicio de encaminamiento Quagga para " -"continuar. sto podra provocar intermitencias en BGP o prdidas de " -"conectividad." diff --git a/debianpkg/po/fr.po b/debianpkg/po/fr.po deleted file mode 100644 index a96649d2fd..0000000000 --- a/debianpkg/po/fr.po +++ /dev/null @@ -1,42 +0,0 @@ -# -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# -# Developers do not need to manually edit POT or PO files. -# -msgid "" -msgstr "" -"Project-Id-Version: quagga 0.99.1-3\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2005-07-21 10:52+0200\n" -"Last-Translator: Mohammed Adnne Trojette\n" -"Language-Team: French \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-15\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Faut-il vraiment arrter le dmon Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"Veuillez noter que le dmon de routage Quagga doit tre arrt avant de " -"poursuivre cette installation. Cela peut provoquer des incohrences BGP ou " -"des pertes de connectivit." diff --git a/debianpkg/po/it.po b/debianpkg/po/it.po deleted file mode 100644 index d305956685..0000000000 --- a/debianpkg/po/it.po +++ /dev/null @@ -1,35 +0,0 @@ -# Italian translation of quagga debconf messages -# Copyright (C) 2013, quagga package copyright holder -# This file is distributed under the same license as the quagga package. -# Beatrice Torracca , 2013. -msgid "" -msgstr "" -"Project-Id-Version: quagga\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2013-11-03 11:52+0200\n" -"Last-Translator: Beatrice Torracca \n" -"Language-Team: Italian \n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.7.1\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Arrestare veramente il demone Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"ATTENZIONE: per procedere il demone di instradamento Quagga deve essere " -"fermato. Questo può portare a flap BGP o a perdita della connettività di " -"rete." diff --git a/debianpkg/po/ja.po b/debianpkg/po/ja.po deleted file mode 100644 index 0991d99236..0000000000 --- a/debianpkg/po/ja.po +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (C) 2008 Christian Hammers -# This file is distributed under the same license as quagga package. -# Hideki Yamane (Debian-JP) , 2008. -# -msgid "" -msgstr "" -"Project-Id-Version: quagga 0.99.11-1\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2008-12-28 22:26+0900\n" -"Last-Translator: Hideki Yamane (Debian-JP) \n" -"Language-Team: Japanese \n" -"Language: ja\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Quagga デーモンを本当に停止しますか?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"警告: Quagga ルーティングデーモンの停止が実施されました。これによって BGP " -"ルートフラップの発生やネットワーク接続の切断が起こされる可能性があります。" diff --git a/debianpkg/po/nl.po b/debianpkg/po/nl.po deleted file mode 100644 index a9df615e0c..0000000000 --- a/debianpkg/po/nl.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: quagga\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2007-03-15 18:49+0100\n" -"Last-Translator: Bart Cornelis \n" -"Language-Team: debian-l10n-dutch \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Dutch\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Bent u zeker dat u de Quagga-achtergronddienst wilt stoppen?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"WAARSCHUWING: De Quagga 'routing'-achtergronddienst dient stopgezet te " -"worden voor u verder gaat. Dit kan BGP-flaps en verliezen van " -"netwerkverbinding veroorzaken." diff --git a/debianpkg/po/pt.po b/debianpkg/po/pt.po deleted file mode 100644 index 05f9b2e383..0000000000 --- a/debianpkg/po/pt.po +++ /dev/null @@ -1,34 +0,0 @@ -# Portuguese translations for quagga package. -# Copyright (C) 2007 Miguel Figueiredo -# This file is distributed under the same license as the quagga package. -# Miguel Figueiredo , 2007. -# -msgid "" -msgstr "" -"Project-Id-Version: quagga 0.99.6-6\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2007-04-26 23:07+0100\n" -"Last-Translator: Miguel Figueiredo \n" -"Language-Team: Portuguese \n" -"Language: pt\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Deseja mesmo parar o daemon Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"AVISO: O daemon de routing tem de ser parado para continuar. Isto pode levar " -"a distúrbio do BGP ou perda da ligação de rede." diff --git a/debianpkg/po/pt_BR.po b/debianpkg/po/pt_BR.po deleted file mode 100644 index 49b399c3e7..0000000000 --- a/debianpkg/po/pt_BR.po +++ /dev/null @@ -1,34 +0,0 @@ -# quagga Brazilian Portuguese po-debconf translation -# Copyright (C) 2007 THE quagga'S COPYRIGHT HOLDER -# This file is distributed under the same license as the quagga package. -# Jefferson Alexandre dos Santos , 2007. -msgid "" -msgstr "" -"Project-Id-Version: quagga\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2007-09-29 00:34-0300\n" -"Last-Translator: Jefferson Alexandre dos Santos\n" -"Language-Team: Brazilian Portuguese \n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Você realmente deseja parar o daemon Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"AVISO: O daemon de roteamento Quagga precisa ser parado para prosseguir. " -"Isto pode causar \"BGP flaps\" ou perda de conectividade de rede." diff --git a/debianpkg/po/ru.po b/debianpkg/po/ru.po deleted file mode 100644 index e1db9d37d3..0000000000 --- a/debianpkg/po/ru.po +++ /dev/null @@ -1,37 +0,0 @@ -# translation of ru.po to Russian -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Yuri Kozlov , 2009. -msgid "" -msgstr "" -"Project-Id-Version: quagga 0.99.13-1\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2009-07-19 09:04+0400\n" -"Last-Translator: Yuri Kozlov \n" -"Language-Team: Russian \n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Действительно остановить службу Quagga?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"ПРЕДУПРЕЖДЕНИЕ: Для продолжения работы служба маршрутизации Quagga должна " -"быть остановлена. Это может привести к перестройке таблиц BGP или потере " -"связности узлов сети." diff --git a/debianpkg/po/sv.po b/debianpkg/po/sv.po deleted file mode 100644 index f97c5b8276..0000000000 --- a/debianpkg/po/sv.po +++ /dev/null @@ -1,40 +0,0 @@ -# Translators, if you are not familiar with the PO format, gettext -# documentation is worth reading, especially sections dedicated to -# this format, e.g. by running: -# info -n '(gettext)PO Files' -# info -n '(gettext)Header Entry' -# Some information specific to po-debconf are available at -# /usr/share/doc/po-debconf/README-trans -# or http://www.debian.org/intl/l10n/po-debconf/README-trans -# Developers do not need to manually edit POT or PO files. -# , fuzzy -# -# -msgid "" -msgstr "" -"Project-Id-Version: quagga 0.99.1-6\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: 2005-10-04 06:56+0200\n" -"Last-Translator: Daniel Nylander \n" -"Language-Team: Swedish \n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=iso-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "Vill du stoppa Quagga-daemonen?" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" -"VARNING: routingdaemonen Quagga mste stoppas fr att fortstta. Detta kan " -"leda till BGP-flaps eller att ntverksfrbindelsen avbryts." diff --git a/debianpkg/po/templates.pot b/debianpkg/po/templates.pot deleted file mode 100644 index c6fb636872..0000000000 --- a/debianpkg/po/templates.pot +++ /dev/null @@ -1,31 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: ch@debian.org\n" -"POT-Creation-Date: 2006-07-15 20:31+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "Do you really want to stop the Quagga daemon?" -msgstr "" - -#. Type: boolean -#. Description -#: ../quagga.templates:1001 -msgid "" -"WARNING: The Quagga routing daemon has to be stopped to proceed. This could " -"lead to BGP flaps or loss of network connectivity." -msgstr "" From ed560eac030c8abf6e32cef3768a270049a68bc8 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Fri, 28 Jul 2017 17:22:20 -0700 Subject: [PATCH 35/52] ubuntu12.04: shorten frr-dbg description Testing done: built and installed on all ubuntu Fix was applied elsewhere but didn't make it into this file. Clears the following lintian warning: W: frr-dbg: description too long Signed-off-by: Silas McCroskey --- debianpkg/backports/ubuntu12.04/debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control index d78259f468..2cd8fab4d2 100644 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -29,7 +29,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, frr (= ${binary:Version}) Priority: extra Section: debug -Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga (debug symbols) +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 From e84b5a2a727be265b2ba2039a0954c3ae3153f97 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Fri, 28 Jul 2017 17:29:36 -0700 Subject: [PATCH 36/52] frr.service: remove explicit dependency on socket-based syslog.target Testing done: built and installed for all ubuntu targets Socket-based services such as syslog need not be specified as dependencies in service files, and doing so may slow down boot by reducing parallelism. All known supported systemd-based platforms have syslog as a socket-based service. Clears the following lintian warnings: W: frr: systemd-service-file-refers-to-obsolete-target lib/systemd/system/frr.service syslog.target Signed-off-by: Silas McCroskey --- tools/frr.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/frr.service b/tools/frr.service index ff9300d5dc..4301ec9dc7 100644 --- a/tools/frr.service +++ b/tools/frr.service @@ -1,6 +1,6 @@ [Unit] Description=FRRouting -After=syslog.target networking.service +After=networking.service OnFailure=heartbeat-failed@%n.service [Service] From 77c9fc423923e25a65796d0e49a040456e8e4a7b Mon Sep 17 00:00:00 2001 From: smccroskey Date: Tue, 8 Aug 2017 11:24:05 -0700 Subject: [PATCH 37/52] debianpkg/Makefile.am: remove po/ directory Directory was removed by 1e6df754913b4218ec809742fe0fff4eb8461035 but missed removing it from the Makefile.am. Signed-off-by: Silas McCroskey --- debianpkg/Makefile.am | 3 --- 1 file changed, 3 deletions(-) diff --git a/debianpkg/Makefile.am b/debianpkg/Makefile.am index 686c60077a..0a67d24d0f 100644 --- a/debianpkg/Makefile.am +++ b/debianpkg/Makefile.am @@ -26,9 +26,6 @@ EXTRA_DIST = README.Debian README.Maintainer \ backports/ubuntu16.04/debian/source/format \ backports/ubuntu16.04/exclude \ backports/ubuntu16.04/versionext \ - po/POTFILES.in po/cs.po po/da.po po/de.po po/es.po po/fr.po \ - po/it.po po/ja.po po/nl.po po/pt.po po/pt_BR.po po/ru.po \ - po/sv.po po/templates.pot \ frr-doc.docs frr-doc.info frr-doc.install \ frr-doc.lintian-overrides frr.conf frr.config \ frr.dirs frr.docs frr.install \ From 77fa3fc2e2c30c2f5ae5faf0c5760d5a0a75e0f9 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Tue, 8 Aug 2017 11:36:10 -0700 Subject: [PATCH 38/52] debianpkg/Makefile.am: remove frr.config File was removed by 1e6df754913b4218ec809742fe0fff4eb8461035 but missed removing it from the Makefile.am. Signed-off-by: Silas McCroskey --- debianpkg/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debianpkg/Makefile.am b/debianpkg/Makefile.am index 0a67d24d0f..7aa0b5d963 100644 --- a/debianpkg/Makefile.am +++ b/debianpkg/Makefile.am @@ -27,7 +27,7 @@ EXTRA_DIST = README.Debian README.Maintainer \ backports/ubuntu16.04/exclude \ backports/ubuntu16.04/versionext \ frr-doc.docs frr-doc.info frr-doc.install \ - frr-doc.lintian-overrides frr.conf frr.config \ + frr-doc.lintian-overrides frr.conf \ frr.dirs frr.docs frr.install \ frr.lintian-overrides frr.logrotate \ frr.manpages frr.pam frr.postinst frr.postrm \ From 02f6c83e98b7b56b5b968f9bd7ff730eaad7ec14 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Tue, 8 Aug 2017 12:22:29 -0700 Subject: [PATCH 39/52] ubuntu trusty/precise: remove leftover debconf call Forgot to unstash this when attempting to rebase it into 1e6df754913b4218ec809742fe0fff4eb8461035. Signed-off-by: Silas McCroskey --- debianpkg/backports/ubuntu14.04/debian/frr.postinst | 2 -- 1 file changed, 2 deletions(-) diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.postinst b/debianpkg/backports/ubuntu14.04/debian/frr.postinst index 24a96e3561..b1d463a33d 100644 --- a/debianpkg/backports/ubuntu14.04/debian/frr.postinst +++ b/debianpkg/backports/ubuntu14.04/debian/frr.postinst @@ -32,8 +32,6 @@ if [ "$1" = "abort-upgrade" ]; then exit 0 fi -db_stop - update-rc.d frr defaults > /dev/null #DEBHELPER# From 4ef6ea4c5c6eb05ecff52f9fb4e724a3baf00601 Mon Sep 17 00:00:00 2001 From: smccroskey Date: Tue, 8 Aug 2017 14:51:38 -0700 Subject: [PATCH 40/52] frr.lintian-overrides: update for current list of built libs Because the lintian warning no longer matched exactly due to removal of unused protobuf libraries from the build, the warning wasn't masked. Update it to match the current warning string. Signed-off-by: Silas McCroskey --- debianpkg/frr.lintian-overrides | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debianpkg/frr.lintian-overrides b/debianpkg/frr.lintian-overrides index 7c5e6d0c99..516bc01c1e 100644 --- a/debianpkg/frr.lintian-overrides +++ b/debianpkg/frr.lintian-overrides @@ -1,3 +1,3 @@ frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrrospfapiclient.so.0.0.0 usr/lib/libfrrospfapiclient.so frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrr.so.0.0.0 usr/lib/libfrr.so -frr: package-name-doesnt-match-sonames libfrr0 libfrr-pb0 libfrrfpm-pb0 libfrrospfapiclient0 +frr: package-name-doesnt-match-sonames libfrr0 libfrrospfapiclient0 From f35aefae62a56356128597475af42de95ed3641a Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 28 Sep 2017 17:08:31 -0700 Subject: [PATCH 41/52] debianpkg: Fix some old references to freerangerouting instead of frrouting --- debianpkg/backports/ubuntu12.04/debian/control | 4 ++-- debianpkg/backports/ubuntu14.04/debian/control | 4 ++-- debianpkg/control | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control index 2cd8fab4d2..9dc5eea5c3 100644 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -6,7 +6,7 @@ Uploaders: Nobody XSBC-Original-Maintainer: 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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 -Homepage: http://www.freerangerouting.org/ +Homepage: http://www.frrouting.org/ XS-Testsuite: autopkgtest Package: frr @@ -22,7 +22,7 @@ Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga 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/freerangerouting/frr.git + lives on https://github.com/frrouting/frr.git Package: frr-dbg Architecture: any diff --git a/debianpkg/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control index 15dbfbe7e0..ccbe23fddb 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -6,7 +6,7 @@ Uploaders: Nobody XSBC-Original-Maintainer: 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, hardening-wrapper, 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.freerangerouting.org/ +Homepage: http://www.frrouting.org/ XS-Testsuite: autopkgtest Package: frr @@ -22,7 +22,7 @@ Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga 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/freerangerouting/frr.git + lives on https://github.com/frrouting/frr.git Package: frr-dbg Architecture: any diff --git a/debianpkg/control b/debianpkg/control index b4c27c487a..85f0f671ba 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -5,7 +5,7 @@ Maintainer: Nobody Uploaders: Nobody 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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 -Homepage: http://www.freerangerouting.org/ +Homepage: http://www.frrouting.org/ Package: frr Architecture: any @@ -20,7 +20,7 @@ Description: BGP/OSPF/RIP/RIPng/ISIS/PIM/LDP routing daemon forked from Quagga 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/freerangerouting/frr.git + lives on https://github.com/frrouting/frr.git Package: frr-dbg Architecture: any From dd8fdd652402fffd1ee81850ceef51f9c1e0626b Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 28 Sep 2017 18:09:44 -0700 Subject: [PATCH 42/52] debianpkg: Add missing XSBC-Original-Maintainer field (fixes merge error) Signed-off-by: Martin Winter --- debianpkg/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debianpkg/control b/debianpkg/control index 85f0f671ba..2b637a6a6f 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -3,6 +3,7 @@ Section: net Priority: optional Maintainer: Nobody Uploaders: Nobody +XSBC-Original-Maintainer: 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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.frrouting.org/ From 979bf74e97bb059c61869c474c1f097cd566a057 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 28 Sep 2017 19:59:35 -0700 Subject: [PATCH 43/52] debianpkg: Remove -werror from Ubuntu 14.04 and 12.04 build to skip warnings from flex generated code - Flex is too old on these releases and misses some prototypes in the generated code. Removing the werror allows to build the package anyway Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/rules | 1 - debianpkg/backports/ubuntu14.04/debian/rules | 1 - 2 files changed, 2 deletions(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index 807bdfaccb..d44a0c518c 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -142,7 +142,6 @@ override_dh_auto_configure: $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ - --enable-werror \ --with-libpam \ --enable-systemd=no \ --enable-poll=yes \ diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index fe3f503804..b649335188 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -142,7 +142,6 @@ override_dh_auto_configure: $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ --enable-logfile-mask=0640 \ - --enable-werror \ --with-libpam \ --enable-systemd=no \ --enable-poll=yes \ From 23b53dca772f5ffb1aece1dde8f2251f64edd309 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 9 Oct 2017 02:33:11 -0700 Subject: [PATCH 44/52] debianpkg: Always build FPM module - FPM is a module since 3.0. Always build it and allow user choice to enable or disable it Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/rules | 13 +------------ debianpkg/backports/ubuntu14.04/debian/rules | 13 +------------ debianpkg/rules | 13 +------------ 3 files changed, 3 insertions(+), 36 deletions(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index d44a0c518c..7cafadcc49 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -11,7 +11,6 @@ # export WANT_PIM=1 # export WANT_OSPFAPI=1 # export WANT_TCP_ZEBRA=0 -# export WANT_FPM=0 # export WANT_BGP_VNC=0 # export WANT_CUMULUS_MODE=0 # export WANT_MULTIPATH=1 @@ -56,16 +55,6 @@ else USE_OSPFAPI=--enable-ospfapi=no endif -ifeq ($(WANT_FPM), 1) - USE_FPM=---enable-fpm - ifneq ($(WANT_TCP_ZEBRA),1) - $(warning "Zebra TCP interface enabled for FPM (requirement for FPM)") - export WANT_TCP_ZEBRA=1 - endif -else - USE_FPM=--disable-fpm -endif - ifeq ($(WANT_TCP_ZEBRA),1) USE_TCP_ZEBRA=--enable-tcp-zebra endif @@ -137,7 +126,7 @@ override_dh_auto_configure: $(USE_MULTIPATH) \ $(USE_LDP) \ $(USE_TCP_ZEBRA) \ - $(USE_FPM) \ + --enable-fpm \ $(USE_FRR_USER) $(USE_FRR_GROUP) \ $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index b649335188..4d9a22046c 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -11,7 +11,6 @@ # export WANT_PIM=1 # export WANT_OSPFAPI=1 # export WANT_TCP_ZEBRA=0 -# export WANT_FPM=0 # export WANT_BGP_VNC=0 # export WANT_CUMULUS_MODE=0 # export WANT_MULTIPATH=1 @@ -56,16 +55,6 @@ else USE_OSPFAPI=--enable-ospfapi=no endif -ifeq ($(WANT_FPM), 1) - USE_FPM=---enable-fpm - ifneq ($(WANT_TCP_ZEBRA),1) - $(warning "Zebra TCP interface enabled for FPM (requirement for FPM)") - export WANT_TCP_ZEBRA=1 - endif -else - USE_FPM=--disable-fpm -endif - ifeq ($(WANT_TCP_ZEBRA),1) USE_TCP_ZEBRA=--enable-tcp-zebra endif @@ -137,7 +126,7 @@ override_dh_auto_configure: $(USE_MULTIPATH) \ $(USE_LDP) \ $(USE_TCP_ZEBRA) \ - $(USE_FPM) \ + --enable-fpm \ $(USE_FRR_USER) $(USE_FRR_GROUP) \ $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ diff --git a/debianpkg/rules b/debianpkg/rules index 413a664014..fb5512bac9 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -11,7 +11,6 @@ # export WANT_PIM=1 # export WANT_OSPFAPI=1 # export WANT_TCP_ZEBRA=0 -# export WANT_FPM=0 # export WANT_BGP_VNC=0 # export WANT_CUMULUS_MODE=0 # export WANT_MULTIPATH=1 @@ -56,16 +55,6 @@ else USE_OSPFAPI=--enable-ospfapi=no endif -ifeq ($(WANT_FPM), 1) - USE_FPM=---enable-fpm - ifneq ($(WANT_TCP_ZEBRA),1) - $(warning "Zebra TCP interface enabled for FPM (requirement for FPM)") - export WANT_TCP_ZEBRA=1 - endif -else - USE_FPM=--disable-fpm -endif - ifeq ($(WANT_TCP_ZEBRA),1) USE_TCP_ZEBRA=--enable-tcp-zebra endif @@ -137,7 +126,7 @@ override_dh_auto_configure: $(USE_MULTIPATH) \ $(USE_LDP) \ $(USE_TCP_ZEBRA) \ - $(USE_FPM) \ + --enable-fpm \ $(USE_FRR_USER) $(USE_FRR_GROUP) \ $(USE_FRR_VTY_GROUP) \ --enable-configfile-mask=0640 \ From 4c2db6ed688ce0670d5d209233bcf0cfdd8ab55b Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 9 Oct 2017 18:17:09 -0700 Subject: [PATCH 45/52] debian-pkg: Remove hardening-wrapper and replace with dpkg-buildflags * hardening-wrapper is obsolete * Fixes Issue #967 Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/control | 2 +- debianpkg/backports/ubuntu12.04/debian/rules | 5 +++-- debianpkg/backports/ubuntu14.04/debian/control | 2 +- debianpkg/backports/ubuntu14.04/debian/rules | 5 +++-- debianpkg/changelog.in | 1 + debianpkg/control | 2 +- debianpkg/rules | 5 +++-- 7 files changed, 13 insertions(+), 9 deletions(-) diff --git a/debianpkg/backports/ubuntu12.04/debian/control b/debianpkg/backports/ubuntu12.04/debian/control index 9dc5eea5c3..17ceeb0381 100644 --- a/debianpkg/backports/ubuntu12.04/debian/control +++ b/debianpkg/backports/ubuntu12.04/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson0, libjson0-dev, pkg-config, python (>= 2.7), python-ipaddr +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, libjson0, libjson0-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.frrouting.org/ XS-Testsuite: autopkgtest diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index 7cafadcc49..4dd24bdf56 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -27,7 +27,7 @@ #################################### export DH_VERBOSE=1 -export DEB_BUILD_HARDENING=1 +export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DH_OPTIONS=-v ifeq ($(WANT_SNMP), 1) @@ -137,7 +137,8 @@ override_dh_auto_configure: $(USE_CUMULUS) \ $(USE_PIM) \ --enable-dependency-tracking \ - $(USE_BGP_VNC); \ + $(USE_BGP_VNC) \ + $(shell dpkg-buildflags --export=configure); \ fi override_dh_auto_build: diff --git a/debianpkg/backports/ubuntu14.04/debian/control b/debianpkg/backports/ubuntu14.04/debian/control index ccbe23fddb..c22bd3bd58 100644 --- a/debianpkg/backports/ubuntu14.04/debian/control +++ b/debianpkg/backports/ubuntu14.04/debian/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, pkg-config, python (>= 2.7), python-ipaddr +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 diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index 4d9a22046c..257c5c41bb 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -27,7 +27,7 @@ #################################### export DH_VERBOSE=1 -export DEB_BUILD_HARDENING=1 +export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DH_OPTIONS=-v ifeq ($(WANT_SNMP), 1) @@ -137,7 +137,8 @@ override_dh_auto_configure: $(USE_CUMULUS) \ $(USE_PIM) \ --enable-dependency-tracking \ - $(USE_BGP_VNC); \ + $(USE_BGP_VNC) \ + $(shell dpkg-buildflags --export=configure); \ fi override_dh_auto_build: diff --git a/debianpkg/changelog.in b/debianpkg/changelog.in index 4002f7e14d..c4cc170af3 100644 --- a/debianpkg/changelog.in +++ b/debianpkg/changelog.in @@ -22,6 +22,7 @@ frr (3.0-0) RELEASED; urgency=medium * New Enabled: PIM Sparse Mode * New Enabled: NHRP RFC 2332 * New Enabled: Label Manager + * Switched from hardening-wrapper to dpkg-buildflags. -- FRRouting-Dev Wed, 05 Apr 2017 22:23:42 -0500 diff --git a/debianpkg/control b/debianpkg/control index 2b637a6a6f..077eaf9828 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, hardening-wrapper, libpcre3-dev, gawk, chrpath, libsnmp-dev, git, dh-autoreconf, libjson-c-dev, libjson-c2, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr +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, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr Standards-Version: 3.9.6 Homepage: http://www.frrouting.org/ diff --git a/debianpkg/rules b/debianpkg/rules index fb5512bac9..11c5e3784c 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -27,7 +27,7 @@ #################################### export DH_VERBOSE=1 -export DEB_BUILD_HARDENING=1 +export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DH_OPTIONS=-v ifeq ($(WANT_SNMP), 1) @@ -138,7 +138,8 @@ override_dh_auto_configure: $(USE_CUMULUS) \ $(USE_PIM) \ --enable-dependency-tracking \ - $(USE_BGP_VNC); \ + $(USE_BGP_VNC) \ + $(shell dpkg-buildflags --export=configure); \ fi override_dh_auto_build: From 272322919508d2ede50fb09510aa623b2c30c91c Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 9 Oct 2017 23:14:27 -0700 Subject: [PATCH 46/52] debianpkg: Fix non-empty-dependency_libs-in-la-file for frr modules Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu12.04/debian/rules | 1 + debianpkg/backports/ubuntu14.04/debian/rules | 1 + debianpkg/rules | 1 + 3 files changed, 3 insertions(+) diff --git a/debianpkg/backports/ubuntu12.04/debian/rules b/debianpkg/backports/ubuntu12.04/debian/rules index 4dd24bdf56..5c3e1363ce 100755 --- a/debianpkg/backports/ubuntu12.04/debian/rules +++ b/debianpkg/backports/ubuntu12.04/debian/rules @@ -175,4 +175,5 @@ override_dh_auto_install: # 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 diff --git a/debianpkg/backports/ubuntu14.04/debian/rules b/debianpkg/backports/ubuntu14.04/debian/rules index 257c5c41bb..b1f539def6 100755 --- a/debianpkg/backports/ubuntu14.04/debian/rules +++ b/debianpkg/backports/ubuntu14.04/debian/rules @@ -175,6 +175,7 @@ override_dh_auto_install: # 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 override_dh_systemd_start: dh_systemd_start frr.service diff --git a/debianpkg/rules b/debianpkg/rules index 11c5e3784c..70cbd07ff2 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -180,6 +180,7 @@ endif # 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 override_dh_systemd_start: dh_systemd_start frr.service From 0d14a9ef65082b0919a20a9f0e3cbbb6a52cf829 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 16 Oct 2017 03:31:47 -0700 Subject: [PATCH 47/52] debianpkg: Add Debian 9 Package support Signed-off-by: Martin Winter Conflicts: debianpkg/changelog.in --- debianpkg/backports/debian9/debian/source/format | 1 + debianpkg/backports/debian9/exclude | 0 debianpkg/backports/debian9/versionext | 1 + debianpkg/changelog.in | 8 +++++++- debianpkg/control | 2 +- debianpkg/rules | 2 +- 6 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 debianpkg/backports/debian9/debian/source/format create mode 100644 debianpkg/backports/debian9/exclude create mode 100644 debianpkg/backports/debian9/versionext diff --git a/debianpkg/backports/debian9/debian/source/format b/debianpkg/backports/debian9/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debianpkg/backports/debian9/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debianpkg/backports/debian9/exclude b/debianpkg/backports/debian9/exclude new file mode 100644 index 0000000000..e69de29bb2 diff --git a/debianpkg/backports/debian9/versionext b/debianpkg/backports/debian9/versionext new file mode 100644 index 0000000000..db85932115 --- /dev/null +++ b/debianpkg/backports/debian9/versionext @@ -0,0 +1 @@ +-1~debian9+1 diff --git a/debianpkg/changelog.in b/debianpkg/changelog.in index c4cc170af3..8f3f4753de 100644 --- a/debianpkg/changelog.in +++ b/debianpkg/changelog.in @@ -4,6 +4,12 @@ frr (@VERSION@) RELEASED; urgency=medium -- FRRouting-Dev Wed, 18 Oct 2017 17:01:42 -0700 +frr (3.0-1) RELEASED; urgency=medium + + * Added Debian 9 Backport + + -- FRRouting-Dev Mon, 16 Oct 2017 03:28:00 -0700 + frr (3.0-0) RELEASED; urgency=medium * New Enabled: BGP Shutdown Message @@ -24,7 +30,7 @@ frr (3.0-0) RELEASED; urgency=medium * New Enabled: Label Manager * Switched from hardening-wrapper to dpkg-buildflags. - -- FRRouting-Dev Wed, 05 Apr 2017 22:23:42 -0500 + -- FRRouting-Dev Fri, 13 Oct 2017 16:17:26 -0700 frr (2.0-0) RELEASED; urgency=medium diff --git a/debianpkg/control b/debianpkg/control index 077eaf9828..297a7cf106 100644 --- a/debianpkg/control +++ b/debianpkg/control @@ -4,7 +4,7 @@ Priority: optional Maintainer: Nobody Uploaders: Nobody XSBC-Original-Maintainer: -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, dh-systemd, libsystemd-dev, bison, flex, libc-ares-dev, pkg-config, python (>= 2.7), python-ipaddr +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-ipaddr Standards-Version: 3.9.6 Homepage: http://www.frrouting.org/ diff --git a/debianpkg/rules b/debianpkg/rules index 70cbd07ff2..04d28762aa 100755 --- a/debianpkg/rules +++ b/debianpkg/rules @@ -190,7 +190,7 @@ override_dh_systemd_enable: # backports SRCPKG = frr -KNOWN_BACKPORTS = debian8 ubuntu12.04 ubuntu14.04 ubuntu16.04 +KNOWN_BACKPORTS = debian8 debian9 ubuntu12.04 ubuntu14.04 ubuntu16.04 DEBIAN_VERSION := $(shell dh_testdir && \ dpkg-parsechangelog -c1 < debian/changelog | \ sed -rn 's/^Version: ?//p') From 6b4ccdcc8c0380d62d8543b9684ac29a373de87c Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Mon, 16 Oct 2017 04:01:48 -0700 Subject: [PATCH 48/52] debianpkg: Add debian9 backport to distribution tar Signed-off-by: Martin Winter --- debianpkg/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/debianpkg/Makefile.am b/debianpkg/Makefile.am index 7aa0b5d963..5ab5b4c4fc 100644 --- a/debianpkg/Makefile.am +++ b/debianpkg/Makefile.am @@ -7,6 +7,9 @@ EXTRA_DIST = README.Debian README.Maintainer \ backports/debian8/debian/source/format \ backports/debian8/exclude \ backports/debian8/versionext \ + backports/debian9/debian/source/format \ + backports/debian9/exclude \ + backports/debian9/versionext \ backports/ubuntu12.04/debian/control \ backports/ubuntu12.04/debian/frr.install \ backports/ubuntu12.04/debian/frr.postinst \ From dd54a26c58676de453860779d76dbd1d591ddca3 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Wed, 18 Oct 2017 15:15:55 -0700 Subject: [PATCH 49/52] doc: Adding Doc for building on Debian 9 Signed-off-by: Martin Winter --- doc/Building_FRR_on_Debian9.md | 121 +++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 doc/Building_FRR_on_Debian9.md diff --git a/doc/Building_FRR_on_Debian9.md b/doc/Building_FRR_on_Debian9.md new file mode 100644 index 0000000000..1536c25932 --- /dev/null +++ b/doc/Building_FRR_on_Debian9.md @@ -0,0 +1,121 @@ +Building FRR on Debian 9 from Git Source +======================================== + +Install required packages +------------------------- + +Add packages: + + sudo apt-get install git autoconf automake libtool make \ + libreadline-dev texinfo libjson-c-dev pkg-config bison flex \ + python-pip libc-ares-dev python3-dev python-pytest + +Get FRR, compile it and install it (from Git) +--------------------------------------------- + +**This assumes you want to build and install FRR from source and not using +any packages** + +### Add frr groups and user + + sudo addgroup --system --gid 92 frr + sudo addgroup --system --gid 85 frrvty + sudo adduser --system --ingroup frr --home /var/run/frr/ \ + --gecos "FRR suite" --shell /bin/false frr + sudo usermod -a -G frrvty frr + +### Download Source, configure and compile it +(You may prefer different options on configure statement. These are just +an example.) + + git clone https://github.com/frrouting/frr.git frr + cd frr + git checkout stable/3.0 + ./bootstrap.sh + ./configure \ + --enable-exampledir=/usr/share/doc/frr/examples/ \ + --localstatedir=/var/run/frr \ + --sbindir=/usr/lib/frr \ + --sysconfdir=/etc/frr \ + --enable-vtysh \ + --enable-isisd \ + --enable-pimd \ + --enable-watchfrr \ + --enable-ospfclient=yes \ + --enable-ospfapi=yes \ + --enable-multipath=64 \ + --enable-user=frr \ + --enable-group=frr \ + --enable-vty-group=frrvty \ + --enable-configfile-mask=0640 \ + --enable-logfile-mask=0640 \ + --enable-rtadv \ + --enable-fpm \ + --enable-ldpd \ + --with-pkg-git-version \ + --with-pkg-extra-version=-MyOwnFRRVersion + make + make check + sudo make install + +### Create empty FRR configuration files + + sudo install -m 755 -o frr -g frr -d /var/log/frr + sudo install -m 775 -o frr -g frrvty -d /etc/frr + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/zebra.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/bgpd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospfd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ospf6d.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/isisd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ripngd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/pimd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/ldpd.conf + sudo install -m 640 -o frr -g frr /dev/null /etc/frr/nhrpd.conf + sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf + +### Enable IP & IPv6 forwarding + +Edit `/etc/sysctl.conf` and uncomment the following values (ignore the +other settings) + + # Uncomment the next line to enable packet forwarding for IPv4 + net.ipv4.ip_forward=1 + + # Uncomment the next line to enable packet forwarding for IPv6 + # Enabling this option disables Stateless Address Autoconfiguration + # based on Router Advertisements for this host + net.ipv6.conf.all.forwarding=1 + +**Reboot** or use `sysctl -p` to apply the same config to the running system + +### Troubleshooting + +**Local state directory** + +The local state directory must exist and have the correct permissions applied +for the frrouting daemons to start. In the above ./configure example the +local state directory is set to /var/run/frr (--localstatedir=/var/run/frr) +Debian considers /var/run/frr to be temporary and this is removed after a +reboot. + +When using a different local state directory you need to create the new +directory and change the ownership to the frr user, for example: + + mkdir /var/opt/frr + chown frr /var/opt/frr + +**Shared library error** + +If you try and start any of the frrouting daemons you may see the below error +due to the frrouting shared library directory not being found: + + ./zebra: error while loading shared libraries: libfrr.so.0: cannot open shared object file: No such file or directory + +The fix is to add the following line to /etc/ld.so.conf which will continue to +reference the library directory after the system reboots. To load the library +directory path immediately run the ldconfig command after adding the line to +the file eg: + + echo include /usr/local/lib >> /etc/ld.so.conf + ldconfig From 4d867099888ee4ee33963c7f802a6d2ea6774469 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Wed, 18 Oct 2017 19:01:17 -0700 Subject: [PATCH 50/52] Makefile.am: Fix Merge error - missing char Signed-off-by: Martin Winter --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index d9698d7cbd..dfa9d7a175 100644 --- a/Makefile.am +++ b/Makefile.am @@ -64,7 +64,7 @@ DIST_SUBDIRS = . bgpd \ vtysh doc tests \ solaris bgpd/rfp-example/librfp \ bgpd/rfp-example/rfptest \ - debianpkg + debianpkg \ # end if PKGSRC From 34174cc24aba11d71bec5e05f092867487b88e84 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Thu, 26 Oct 2017 19:21:45 -0700 Subject: [PATCH 51/52] debpkg: Files from cumulus dir are moved to tools Signed-off-by: Martin Winter --- debianpkg/backports/ubuntu14.04/debian/frr.install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debianpkg/backports/ubuntu14.04/debian/frr.install b/debianpkg/backports/ubuntu14.04/debian/frr.install index 05f4e70ffb..adce915e1f 100644 --- a/debianpkg/backports/ubuntu14.04/debian/frr.install +++ b/debianpkg/backports/ubuntu14.04/debian/frr.install @@ -16,6 +16,6 @@ usr/share/man/man8/zebra.8 usr/share/man/man8/isisd.8 usr/share/man/man8/watchfrr.8 usr/share/snmp/mibs/ -cumulus/etc/* etc/ +tools/etc/* etc/ tools/*.service lib/systemd/system debian/frr.conf usr/lib/tmpfiles.d From 32ef7bd1ef4338af3e6e575e54c2f8ed566257d9 Mon Sep 17 00:00:00 2001 From: Martin Winter Date: Fri, 27 Oct 2017 01:11:28 -0700 Subject: [PATCH 52/52] debianpkg: Update lintian-overrides Signed-off-by: Martin Winter --- debianpkg/frr.lintian-overrides | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debianpkg/frr.lintian-overrides b/debianpkg/frr.lintian-overrides index 516bc01c1e..e352ad6cf4 100644 --- a/debianpkg/frr.lintian-overrides +++ b/debianpkg/frr.lintian-overrides @@ -1,3 +1,4 @@ frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrrospfapiclient.so.0.0.0 usr/lib/libfrrospfapiclient.so frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrr.so.0.0.0 usr/lib/libfrr.so -frr: package-name-doesnt-match-sonames libfrr0 libfrrospfapiclient0 +frr: non-dev-pkg-with-shlib-symlink usr/lib/libfrrfpm_pb.so.0.0.0 usr/lib/libfrrfpm_pb.so +frr: package-name-doesnt-match-sonames libfrr0 libfrrfpm-pb0 libfrrospfapiclient0