1
0
Fork 0

Adding debian version 10.1.1-1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-05 10:04:12 +01:00
parent 3124f89aed
commit 307c681470
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
39 changed files with 3014 additions and 0 deletions

57
debian/README.Debian vendored Normal file
View file

@ -0,0 +1,57 @@
SAFETY MEASURES
===============
Please consider setting this package "on hold" by typing
echo "frr hold" | dpkg --set-selections
and verifying this using
dpkg --get-selections | grep 'hold$'
Setting a package "on hold" means that it will not automatically be upgraded.
Instead apt-get only displays a warning saying that a new version would be
available forcing you to explicitly type "apt-get install frr" to upgrade it.
What is frr?
============
http://www.frrouting.org/
FRR is a routing software suite, providing implementations of OSPFv2,
OSPFv3, RIP v1 and v2, RIPng, ISIS, PIM, BGP and LDP for Unix platforms, particularly
FreeBSD and Linux and also NetBSD, to mention a few. FRR is a fork of Quagga
which itself is a fork of Zebra.
Zebra was developed by Kunihiro Ishiguro.
Build Profiles used in the upstream debian/
===========================================
The following Build Profiles have been added:
- pkg.frr.nortrlib (pkg.frr.rtrlib)
controls whether the RPKI module is built.
Will be enabled by default at some point, adds some extra dependencies.
Note that all options have a "no" form; if you want to have your decision
be sticky regardless of changes to what it defaults to, then always use one
of the two. For example, all occurrences of <pkg.frr.rtrlib> will at some
point be replaced with <!pkg.frr.nortrlib>.
The main frr package has the exact same contents regardless of rtrlib or snmp
choices. The options only control frr-snmp and frr-rpki-rtrlib packages.
Debian Policy compliance notes
==============================
- 4.15 Reproducibility
FRR build is reproducible as outlined in version 4.2.1 of the Policy, but
won't be reproducible when the build directory is varied. This is because
configure parameters are burned into the executables which includes CFLAGS
like -fdebug-prefix-map=/build/directory/...
vtysh immediately exists
========================
Check /etc/pam.d/frr, it probably denies access to your user. The passwords
configured in /etc/frr/frr.conf are only for telnet access.

32
debian/README.Maintainer vendored Normal file
View file

@ -0,0 +1,32 @@
#
# TODO
#
- check that tests/{control,daemons} actually do something useful and sensible
- /usr/share/doc/frr-doc should be named just frr?
- debian/watch pgpsigurlmangle / signing-key
- multiarch for DSOs?
- frr try-restart
#
# To check if the patches still apply on new upstream versions:
#
for i in debian/patches/*.diff; do echo -e "#\n# $i\n#"; patch --fuzz=3 --dry-run -p1 < $i; done
#
# Filename transition from zebra to frr
#
Files that keep their names
/usr/bin/vtysh
Files that got an -pj suffix
/etc/default/zebra -> /etc/frr/daemons.conf
/etc/init.d/zebra -> /etc/init.d/frr
/etc/zebra/ -> /etc/frr/
/usr/share/doc/zebra/ -> /usr/share/doc/frr/
/var/log/zebra/ -> /var/log/frr/
/var/run/ -> /var/run/frr/
Files that were moved
/usr/sbin/* -> /usr/lib/frr/

1733
debian/changelog vendored Normal file

File diff suppressed because it is too large Load diff

1
debian/compat vendored Normal file
View file

@ -0,0 +1 @@
10

131
debian/control vendored Normal file
View file

@ -0,0 +1,131 @@
Source: frr
Section: net
Priority: optional
Maintainer: David Lamparter <equinox-debian@diac24.net>
Uploaders: FRRouting-dev <dev@lists.frrouting.org>,
Ondřej Surý <ondrej@debian.org>,
Daniel Baumann <daniel@debian.org>,
Build-Depends: bison,
chrpath,
debhelper (>= 10~),
flex,
gawk,
install-info,
libc-ares-dev,
libcap-dev,
libelf-dev:native,
libjson-c-dev | libjson0-dev,
libpam0g-dev,
libpcre2-dev,
libprotobuf-c-dev,
libpython3-dev:native,
libreadline-dev,
librtr-dev (>= 0.8.0~) <!pkg.frr.nortrlib>,
libsnmp-dev,
libssh-dev <!pkg.frr.nortrlib>,
libunwind-dev [!alpha !m68k !sparc64 !x32],
libyang2-dev (>= 2.1.128),
pkgconf,
protobuf-c-compiler,
python3:native,
python3-dev:native,
python3-pytest:native <!nocheck>,
python3-sphinx:native,
texinfo (>= 4.7),
lua5.3 <pkg.frr.lua>,
liblua5.3-dev <pkg.frr.lua>
Standards-Version: 4.5.0.3
Homepage: https://www.frrouting.org/
Vcs-Browser: https://github.com/FRRouting/frr/tree/debian/master
Vcs-Git: https://github.com/FRRouting/frr.git -b debian/master
Package: frr
Architecture: linux-any
Depends: iproute2,
logrotate (>= 3.2-11),
lsof,
${misc:Depends},
${shlibs:Depends}
Pre-Depends: adduser
Recommends: frr-pythontools
Suggests: frr-doc
Conflicts: pimd,
quagga,
quagga-bgpd,
quagga-core,
quagga-isisd,
quagga-ospf6d,
quagga-ospfd,
quagga-pimd,
quagga-ripd,
quagga-ripngd,
zebra,
zebra-pj
Replaces: zebra,
zebra-pj
Description: FRRouting suite of internet protocols (BGP, OSPF, IS-IS, ...)
FRRouting implements the routing protocols commonly used in the
internet and private networks to exchange information between routers.
Both IP and IPv6 are supported, as are BGP, OSPFv2, OSPFv3, IS-IS, BABEL,
EIGRP, RIP, RIPng, LDP, BFD, PIM, VRRP, PBR, and NHRP.
.
These protocols are used to turn your system into a dynamic router,
exchanging information about available connections with other routers
in a standards-compliant way. The actual packet forwarding
functionality is provided by the OS kernel.
.
FRRouting is a fork of Quagga with an open community model. The main
git lives on https://github.com/frrouting/frr.git and the project name
is commonly abbreviated as "FRR."
Package: frr-snmp
Architecture: linux-any
Depends: frr (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Recommends: snmpd
Description: FRRouting suite - SNMP support
Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd
through the AgentX protocol. Provides read-only access to current
routing state through standard SNMP MIBs.
Package: frr-rpki-rtrlib
Architecture: linux-any
Depends: frr (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Description: FRRouting suite - BGP RPKI support (rtrlib)
Adds RPKI support to FRR's bgpd, allowing validation of BGP routes
against cryptographic information stored in WHOIS databases. This is
used to prevent hijacking of networks on the wider internet. It is only
relevant to internet service providers using their own autonomous system
number.
Build-Profiles: <!pkg.frr.nortrlib>
Package: frr-doc
Section: doc
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends},
${sphinxdoc:Depends}
Built-Using: ${sphinxdoc:Built-Using}
Suggests: frr
Conflicts: quagga-doc
Description: FRRouting suite - user manual
This provides the FRR user manual in HTML form. This is the official
manual maintained as part of the package and is also available online
at https://frrouting.readthedocs.io/
Package: frr-pythontools
Architecture: all
Depends: frr (<< ${source:Upstream-Version}.0-~),
frr (>= ${source:Version}~),
python3:any,
${misc:Depends}
Description: FRRouting suite - Python tools
The FRRouting suite uses a small Python tool to provide configuration
reload functionality, particularly useful when the interactive configuration
shell is not used.
.
Without this package installed, "reload" (as a systemd or init script
invocation) will not work for the FRR daemons.

474
debian/copyright vendored Normal file
View file

@ -0,0 +1,474 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: FRR
Upstream-Contact: maintainers@frrouting.org, security@frrouting.org
Source: https://www.frrouting.org/
Files: *
Copyright: 1996-2003 by the original Zebra authors:
Kunihiro Ishiguro <kunihiro@zebra.org>
Toshiaki Takada <takada@zebra.org>
Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
2003-2016 by the Quagga Project
2016-2018 by the FRRouting Project
Adam Fitzgerald 2017
Alex Couloumbis 2017
Alexandre Cassen 2001-2017
Alexandre Chappuis 2011
Alexis Fasquel 2015
Ali Rezaee 2018
Ameya Dharkar 2018
Amritha Nambiar 2015
Andreas Jaggi 2017
Andrew Certain 2012
Andrew J. Schorr 2004-2011
Andrew Lunn 2017
Andrey Korolyov 2017-2018
Ang Way Chuang 2012
Anuradha Karuppiah 2016-2018
Arthur Jones 2018
Avneesh Sachdev 2012, 2016
Ayan Banerjee 2012
Balaji G. 2011-2016
Barry Friedman 2011
Bartek Kania 2008
Baruch Siach 2016
Bingen Eguzkitza 2016-2017
Boian Bonev 2013
Boris Yakubov 2013
Brad Smith 2012
Brett Ciphery 2013
Brian Bennett 2015
Brian Rak 2017
Chirag Shah 2017-2018
Chris Caputo 2009-2010
Chris Hall 2010
Chris Luke 2011
Christian Franke 2012-2018
Christian Hammers 2011
Christoffer Hansen 2018
Christoph Dwertmann 2018
Colin Petrie 2016
Cumulus Networks 2013-2019
Daniel Kozlowski 2012
Daniel Ng 2008
Daniel Walton 2015-2018
Daniil Baturin 2018
Dario Wiesner 2018
Dave Olson 2016-2017
David BÉRARD 2010
David Lamparter 2009-2018
David Lebrun 2016
David Ward 2009-2012
David Young 2007
Denil Vira 2015
Denis Ovsienko 2007-2012
Dinesh Dutt 2012-2013
Dinesh G. Dutt 2013-2017
Dmitrij Tejblum 2009-2011
Dmitry Popov 2011
Don Slice 2016-2018
Donald Sharp 2015-2018
Donatas Abraitis 2018
Dongling Duan 2018
Donnie Savage 2017
Doug VanLeuven 2012
Dylan Hall 2011
Emanuele Di Pascale 2018
Eric Pulvino 2017
Everton Marques 2012-2014
Evgeny Uskov 2016
F. Aragon 2018
Fatih USTA 2017
Feng Lu 2014-2015
Fernando Soto 2015
Francesco Dolcini 2009
Fredi Raspall 2016-2018
Fritz Reichmann 2011
G. Paul Ziemba 2016-2018
Greg Troxel 2003-2007, 2010-2015
Hasso Tepper 2003-2007, 2012-2013
Hiroshi Yokoi 2015
Hongguang Li 2016
Hung-Weic Chiu 2017
Igor Ryzhov 2016
Ilya Shipitsin 2018
Ingo Flaschberger 2011
Ivan Moskalyov 2010
JR Rivers 2012
Jafar Al-Gharaibeh 2009, 2015-2018
Jarad Olson 2018
Jaroslav Fojtik 2011
Jeremy Jackson 2008-2009
Jingjing Duan 2008-2009
Joachim Nilsson 2012-2013
Joakim Tjernlund 2008-2014
Job Snijders 2016
John Berezovik 2016
John Glotzer 2014
John Kemp 2011
Jon Andersson 2009-2011
Jorge Boncompte 2012-2013, 2017
Josh Bailey 2011-2012
Juergen Kammer 2017
Julien Courtat 2016
Juliusz Chroboczek 2012
Kaloyan Kovachev 2015-2017
Ken Williams 2014
Khiruthigai Balasubramanian 2016
Krisztian Kovacs 2009
Kunihiro Ishiguro 2018
Leonard Tracy 2012
Leonid Rosenboim 2012-2013
Liu Xiaofeng 2016
Lou Berger 2013, 2016-2018
Lu Feng 2014-2015
Lucian Cristian 2017
Maitane Zotes 2014
Manuel Schweizer 2017
Marcel Röthke 2017-2018
Mark Stapp 2018
Martin Buck 2018
Martin Winter 2015-2018
Martín Beauchamp 2017
Mathias Krause 2010
Mathieu Goessens 2009
Matthew Smith 2017
Matthias Ferdinand 2011
Matthieu Boutier 2012, 2016-2017
Matti-Oskari Leppänen 2013
Michael Lambert 2008-2010
Michael Rossberg 2015
Michael Zingg 2012
Michal Sekletar 2014
Mike Tancsa 2017
Milan Kocian 2013-2014
Mitesh Kanjariya 2017-2018
Mladen Sablic 2017-2018
Morgan Stewart 2015
Nathan Van Gheem 2018
Nick Hilliard 2009-2012
Nico Golde 2010
Nicolas Dichtel 2015
Nigel Kukard 2017
Nolan Leake 2012
Oleg A. Arkhangelsky 2011
Olivier Cochard-Labbé 2014
Olivier Dugeon 2014-2018
Ondrej Zajicek 2009
Open Source Routing / NetDEF 2012-2017
Pascal Mathis 2018
Paul Jakma 2002-2016
Paul P Komkoff Jr 2008
Pawel Wieczorkiewicz 2016
Peter Pentchev 2011
Peter Szilagyi 2011
Phil Huang 2017
Phil Laverdiere 2012
Philippe Guibert 2016-2018
Piotr Jurkiewicz 2018
Pradosh Mohapatra 2013-2014
Quentin Young 2016-2018
Radhika Mahankali 2015-2017
Rafael Zalamena 2017-2018
Rakesh Garimella 2013
Raymond P. Burkholder 2017
Remi Gacogne 2013
Renato Westphal 2012, 2016-2018
Robert Bays 2010
Roderick Schertler 2011
Rodny Molina 2018
Roman Hoog Antink 2010-2013
Ruben Kerkhof 2018
Russ White 2017-2018
Ryan Hagelstrom 2017
Sam Tannous 2016-2017
Sarita Patra 2018
Sebastian Lohff 2017
Sergey Fionov 2018
Sergey Y. Afonin 2011
Serj Kalichev 2012
Sid Khot 2016
Silas McCroskey 2017-2018
Stephane Litkowski 2017
Stephen Hemminger 2008-2014
Stephen Worley 2018
Steve Hill 2009
Stig Thormodsrud 2008
Subbaiah Venkata 2012
Svata Dedic 2011
Sébastien Luttringer 2014
Takashi Sogabe 2009
Thijs Kinkhorst 2009
Thomas Gelf 2018
Thomas Petazzoni 2016
Thomas Ries 2011
Thorvald Natvig 2017
Tigran Martirosyan 2018
Timo Teräs 2008-2009, 2013-2017
Timothy Redaelli 2017
Tom Goff 2009-2011
Tom Henderson 2009
Tomasz Pala 2009
Udaya Shankara KS 2016
Ulrich Weber 2011-2013
Vasilis Tsiligiannis 2009
Vincent Bernat 2012, 2017-2018
Vincent Jardin 2003-2007, 2014, 2017-2018
Vipin Kumar 2014-2015
Vishal Dhingra 2018
Vishal Kumar 2012
Vitaliy Senchyshyn 2013
Vivek Venkatraman 2015-2018
Vladimir L Ivanov 2010
Vyacheslav Trushkin 2011-2012
Vystoropskyi, Sergii 2015
Wataru Tanitsu 2010
Wenjian Ma 2015
Will McLendon 2017
YAMAMOTO Shigeru 2011
Yasuhiro Ohara 2009
Zefan Xu 2018
dturlupov 2018
heasley 2009-2011
jaydom 2017
jpmondet 2018
kssoman 2018
lihongguang 2018
lyq140 2018
pcarana 2018
pogojotz 2017
tigranmartirosyan 2017
tmartiro 2017
vize 2007
高鹏 2012
License: GPL-2+
Files: lib/strl*.c
License: LGPL-2.1+
Copyright: Copyright (C) 2016 Free Software Foundation, Inc.
Files: lib/skiplist.*
License: BSD-0-clause
Copyright: Copyright 1990 William Pugh
Files: lib/sha256.*
License: BSD-2-clause
Copyright: Copyright 2005,2007,2009 Colin Percival
Files: lib/qobj.h lib/monotime.h lib/memory.* lib/hook.* lib/frratomic.h lib/ferr.* lib/compiler.h lib/module.*
License: ISC
Copyright: Copyright (c) 2015-18 David Lamparter, for NetDEF, Inc.
Files: nhrpd/nhrp_protocol.h
License: MIT
Copyright: Copyright (c) 2007-2012 Timo Teräs <timo.teras@iki.fi>
Files: babeld/*
License: MIT
Copyright:
Copyright 2011 by Matthieu Boutier and Juliusz Chroboczek
Copyright 2007, 2008 by Grégoire Henry, Julien Cristau and Juliusz Chroboczek
Files: babeld/babel_errors.*
License: GPL-2+
Copyright: Copyright (C) 2017-2018 Donald Sharp, Cumulus Networks, Inc.
Files: ldpd/*
License: ISC
Copyright:
Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
Copyright (c) 2003, 2004 Markus Friedl <markus@openbsd.org>
Copyright (c) 2004, 2005, 2008 Esben Norby <norby@openbsd.org>
Copyright (c) 2004, 2005, 2012 Claudio Jeker <claudio@openbsd.org>
Copyright (c) 2009 Michele Marchetto <michele@openbsd.org>
Copyright (c) 2012 Alexander Bluhm <bluhm@openbsd.org>
Copyright (c) 2013-2016 Renato Westphal <renato@openbsd.org>
Copyright (C) 2016 by Open Source Routing.
Files: ldpd/ldp_debug.* ldpd/ldp_vty* ldpd/ldp_zebra.c
License: GPL-2+
Copyright:
Copyright (C) 2016 by Open Source Routing.
Files: doc/user/*.rst doc/figures/fig*
Copyright: Copyright (c) 1996-2018 Kunihiro Ishiguro, et al.
License: FRR-docs
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by Kunihiro Ishiguro.
Files: lib/freebsd-queue.h lib/openbsd-queue.h lib/md5.*
License: BSD-3-clause
Copyright:
Copyright (c) 1991, 1993 The Regents of the University of California.
Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
Copyright (C) 2004 6WIND <Vincent.Jardin@6WIND.com>
Files: lib/openbsd-tree.*
License: BSD-2-clause
Copyright:
Copyright 2002 Niels Provos <provos@citi.umich.edu>
Copyright (c) 2016 David Gwynne <dlg@openbsd.org>
Files: lib/imsg*
License: ISC
Copyright:
Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
Copyright (c) 2006, 2007 Pierre-Yves Ritschard <pyr@openbsd.org>
Copyright (c) 2006, 2007, 2008 Reyk Floeter <reyk@openbsd.org>
Files: qpb/qpb.proto fpm/fpm.proto
License: ISC
Copyright: Copyright (C) 2016 Sproute Networks, Inc.
Files: doc/extra/frrlexer.py
License: ISC
Copyright: Copyright (c) 2017 Vincent Bernat <bernat@luffy.cx>
Files: tests/helpers/python/frrsix.py
License: MIT
Copyright: Copyright (c) 2010-2017 Benjamin Peterson
License: GPL-2+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
`/usr/share/common-licenses/GPL-2'.
License: LGPL-2.1+
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>.
.
On Debian systems, the full text of the GNU Lesser General Public
License version 2.1 can be found in the file
`/usr/share/common-licenses/LGPL-2.1'.
License: BSD-0-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted.
.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
License: BSD-2-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
License: ISC
Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

23
debian/frr-doc.doc-base vendored Normal file
View file

@ -0,0 +1,23 @@
Document: frr
Title: FRRouting user manual
Abstract: General user/operator description for the FRRouting suite of
routing protocol daemons.
Section: Network/Communication
Format: HTML
Index: /usr/share/doc/frr/html/index.html
Files: /usr/share/doc/frr/html/*
Format: info
Index: /usr/share/info/frr.info.gz
Files:
/usr/share/info/frr.info.gz
/usr/share/info/frr-figures/fig-normal-processing.png
/usr/share/info/frr-figures/fig-rs-processing.png
/usr/share/info/frr-figures/fig-vnc-commercial-route-reflector.png
/usr/share/info/frr-figures/fig-vnc-frr-route-reflector.png
/usr/share/info/frr-figures/fig-vnc-gw.png
/usr/share/info/frr-figures/fig-vnc-mesh.png
/usr/share/info/frr-figures/fig-vnc-redundant-route-reflectors.png
/usr/share/info/frr-figures/fig_topologies_full.png
/usr/share/info/frr-figures/fig_topologies_rs.png

1
debian/frr-doc.info vendored Normal file
View file

@ -0,0 +1 @@
build/doc/user/_build/texinfo/frr.info

16
debian/frr-doc.install vendored Normal file
View file

@ -0,0 +1,16 @@
# html docs include RST sources
# info + images referenced by it
# other
README.md usr/share/doc/frr
doc/figures/*.png usr/share/doc/frr
doc/figures/fig-normal-processing.png usr/share/info/frr-figures
doc/figures/fig-rs-processing.png usr/share/info/frr-figures
doc/figures/fig-vnc-commercial-route-reflector.png usr/share/info/frr-figures
doc/figures/fig-vnc-frr-route-reflector.png usr/share/info/frr-figures
doc/figures/fig-vnc-gw.png usr/share/info/frr-figures
doc/figures/fig-vnc-mesh.png usr/share/info/frr-figures
doc/figures/fig-vnc-redundant-route-reflectors.png usr/share/info/frr-figures
doc/figures/fig_topologies_full.png usr/share/info/frr-figures
doc/figures/fig_topologies_rs.png usr/share/info/frr-figures
usr/share/doc/frr/html
usr/share/info/

2
debian/frr-doc.lintian-overrides vendored Normal file
View file

@ -0,0 +1,2 @@
# personal name
spelling-error-in-copyright Ang And

4
debian/frr-pythontools.install vendored Normal file
View file

@ -0,0 +1,4 @@
usr/lib/frr/frr-reload.py
usr/lib/frr/generate_support_bundle.py
usr/lib/frr/frr_babeltrace.py
usr/lib/frr/ospfclient.py

View file

@ -0,0 +1,2 @@
# personal name
spelling-error-in-copyright Ang And

1
debian/frr-rpki-rtrlib.install vendored Normal file
View file

@ -0,0 +1 @@
usr/lib/*/frr/modules/bgpd_rpki.so

View file

@ -0,0 +1,5 @@
# module contains no function calls that can be hardened
frr-rpki-rtrlib binary: hardening-no-fortify-functions *
# personal name
spelling-error-in-copyright Ang And

2
debian/frr-snmp.install vendored Normal file
View file

@ -0,0 +1,2 @@
usr/lib/*/frr/libfrrsnmp.*
usr/lib/*/frr/modules/*_snmp.so

2
debian/frr-snmp.lintian-overrides vendored Normal file
View file

@ -0,0 +1,2 @@
# personal name
spelling-error-in-copyright Ang And

1
debian/frr-test-tools.install vendored Normal file
View file

@ -0,0 +1 @@
usr/lib/frr/fpm_listener

2
debian/frr.conf vendored Normal file
View file

@ -0,0 +1,2 @@
# Create the /run/frr directory at boot or from systemd-tmpfiles on install
d /run/frr 0755 frr frr

7
debian/frr.dirs vendored Normal file
View file

@ -0,0 +1,7 @@
etc/frr/
etc/iproute2/rt_protos.d/
etc/logrotate.d/
usr/share/doc/frr/
usr/share/lintian/overrides/
usr/share/yang/
var/log/frr/

2
debian/frr.docs vendored Normal file
View file

@ -0,0 +1,2 @@
debian/README.Debian
tools/zebra.el

20
debian/frr.install vendored Normal file
View file

@ -0,0 +1,20 @@
etc/
tools/etc/frr/frr.conf etc/frr/
tools/frr-reload usr/lib/frr/
usr/bin/mtracebis
usr/bin/vtysh
usr/lib/*/frr/libfrr.*
usr/lib/*/frr/libfrrcares.*
usr/lib/*/frr/libfrrospfapiclient.*
usr/lib/*/frr/libmgmt_be_nb.so.*
usr/lib/*/frr/modules/bgpd_bmp.so
usr/lib/*/frr/modules/dplane_fpm_nl.so
usr/lib/*/frr/modules/zebra_cumulus_mlag.so
usr/lib/*/frr/modules/zebra_fpm.so
usr/lib/*/frr/modules/pathd_pcep.so
usr/lib/frr/*.sh
usr/lib/frr/*d
usr/lib/frr/watchfrr
usr/lib/frr/zebra
usr/share/man/
usr/share/yang/

9
debian/frr.lintian-overrides vendored Normal file
View file

@ -0,0 +1,9 @@
# function names & co.
frr binary: spelling-error-in-binary *writen written*
frr binary: spelling-error-in-binary *iif if*
# prefixed man pages for off-PATH daemons
manpage-without-executable
# personal name
spelling-error-in-copyright Ang And

27
debian/frr.logrotate vendored Normal file
View file

@ -0,0 +1,27 @@
/var/log/frr/*.log {
size 500k
sharedscripts
missingok
compress
rotate 14
create 0640 frr frr
postrotate
pid=$(lsof -t -a -c /syslog/ /var/log/frr/* 2>/dev/null)
if [ -n "$pid" ]
then # using syslog
kill -HUP $pid
fi
# in case using file logging; if switching back and forth
# between file and syslog, rsyslogd might still have file
# open, as well as the daemons, so always signal the daemons.
# It's safe, a NOP if (only) syslog is being used.
for i in babeld bgpd eigrpd isisd ldpd nhrpd ospf6d ospfd sharpd \
pimd pim6d ripd ripngd zebra pathd pbrd staticd bfdd fabricd vrrpd; do
if [ -e /var/run/frr/$i.pid ] ; then
pids="$pids $(cat /var/run/frr/$i.pid)"
fi
done
[ -n "$pids" ] && kill -USR1 $pids || true
endscript
}

16
debian/frr.manpages vendored Normal file
View file

@ -0,0 +1,16 @@
build/doc/manpages/_build/man/frr-bgpd.8
build/doc/manpages/_build/man/frr-eigrpd.8
build/doc/manpages/_build/man/frr-fabricd.8
build/doc/manpages/_build/man/frr-isisd.8
build/doc/manpages/_build/man/frr-ldpd.8
build/doc/manpages/_build/man/frr-nhrpd.8
build/doc/manpages/_build/man/frr-ospf6d.8
build/doc/manpages/_build/man/frr-ospfd.8
build/doc/manpages/_build/man/frr-pimd.8
build/doc/manpages/_build/man/frr-ripd.8
build/doc/manpages/_build/man/frr-ripngd.8
build/doc/manpages/_build/man/frr-watchfrr.8
build/doc/manpages/_build/man/frr-zebra.8
build/doc/manpages/_build/man/frr.1
build/doc/manpages/_build/man/mtracebis.8
build/doc/manpages/_build/man/vtysh.1

3
debian/frr.pam vendored Normal file
View file

@ -0,0 +1,3 @@
# Any user may call vtysh but only those belonging to the group frrvty can
# actually connect to the socket and use the program.
auth sufficient pam_permit.so

98
debian/frr.postinst vendored Normal file
View file

@ -0,0 +1,98 @@
#!/bin/sh
set -e
# most of this file makes sense to execute regardless of whether this is any
# of normal "configure" or error-handling "abort-upgrade", "abort-remove" or
# "abort-deconfigure"
addgroup --system frrvty
addgroup --system frr
adduser \
--system \
--ingroup frr \
--home /nonexistent \
--gecos "Frr routing suite" \
--no-create-home \
frr
usermod -a -G frrvty frr
mkdir -m 0755 -p /var/log/frr
mkdir -m 0700 -p /var/lib/frr
mkdir -p /etc/frr
chown frr: /var/lib/frr
# only change ownership of files when they were previously owned by root or
# quagga; this is to ensure we don't trample over some custom user setup.
#
# if we are on a freshly installed package (or we added new configfiles),
# the files should be owned by root by default so we should end up with "frr"
# owned configfiles.
quaggauid=`id -u quagga 2>/dev/null || echo 0`
quaggagid=`id -g quagga 2>/dev/null || echo 0`
find \
/etc/frr \
/var/log/frr \
\( -uid 0 -o -uid $quaggauid \) -a \
\( -gid 0 -o -gid $quaggauid \) | \
while read filename; do
# don't chown anything that has ACLs (but don't fail if we don't
# have getfacl)
if { getfacl -c "$filename" 2>/dev/null || true; } \
| grep -E -q -v '^((user|group|other)::|$)'; then
:
else
chown frr: "$filename"
chmod o-rwx "$filename"
fi
done
# fix misconfigured vtysh.conf & frr.conf ownership caused by config save
# mishandling in earlier FRR (and Quagga) versions
find /etc/frr -maxdepth 1 \( -name vtysh.conf -o -name frr.conf \) \
-group frrvty -exec chgrp frr {} \;
# more Quagga -> FRR upgrade smoothing. Not technically needed, but let's
# at least do the straightforward pieces.
check_old_config() {
oldcfg="$1"
[ -r "$oldcfg" ] || return 0
[ -s "$oldcfg" ] || return 0
grep -v '^[[:blank:]]*\(#\|$\)' "$oldcfg" > /dev/null || return 0
cat >&2 <<EOF
Note: deprecated $oldcfg is present. This file is still read by
the FRR service but its contents should be migrated to /etc/frr/daemons.
EOF
}
rmsum() {
fname="$1"
test -f "$1" || return 0
fhash="`sha1sum \"$fname\"`"
fhash="${fhash%% *}"
if test "$fhash" = "$2"; then
rm "$fname"
fi
}
case "$1" in
configure)
check_old_config /etc/frr/daemons.conf
check_old_config /etc/default/frr
if test -f /etc/frr/.pkg.frr.nointegrated; then
# remove integrated config setup
# (if checksums match, the files match freshly installed
# defaults, but the user has split config in place)
rmsum /etc/frr/vtysh.conf 5e7e3a488c51751e1ff98f27c9ad6085e1ad9cbb
rmsum /etc/frr/frr.conf dac6f2af4fca9919ba40eb338885a5d1773195c8
rm /etc/frr/.pkg.frr.nointegrated
fi
;;
esac
#DEBHELPER#

15
debian/frr.postrm vendored Normal file
View file

@ -0,0 +1,15 @@
#!/bin/sh
set -e
rm -f /etc/frr/.pkg.frr.nointegrated
if [ "$1" = "purge" ]; then
rm -rf /run/frr || true
rm -rf /var/lib/frr || true
# "purge" does not remove logfiles. therefore we shouldn't delete
# the "frr" user/group since that would leave files with "dangling"
# ownership.
fi
#DEBHELPER#

94
debian/frr.preinst vendored Normal file
View file

@ -0,0 +1,94 @@
#!/bin/bash
set -e
# bash is required since /etc/frr/daemons.conf used a bash array in some
# previous versions.
# NOTE: this code exists specifically to make migrations from Quagga to
# FRR easier. FRR is able to load most Quagga configurations, but the
# config handling itself has changed with the move towards the "integrated"
# /etc/frr/frr.conf approach instead of separate per-daemon config files.
#
# That said, with this in place there's a good chance users can use a
# preexisting Quagga config with little hassle.
case "$1" in
install|upgrade)
(
test -f /etc/frr/daemons && . /etc/frr/daemons
test -f /etc/frr/daemons.conf && . /etc/frr/daemons.conf
test -f /etc/default/frr && . /etc/default/frr
if [ "$watchfrr_enable" = no -o \
"$watchfrr_enable" = "0" ]; then
cat >&2 <<EOF
ERROR: Pre-existing frr configuration file disables watchfrr.
This configuration is deprecated upstream and not supported by the Debian
FRR package. Refusing to $1 in order to not break running setups.
Please change your setup to use watchfrr and remove the "watchfrr_enable"
option from /etc/frr/daemons, /etc/frr/daemons.conf and/or /etc/default/frr.
EOF
exit 1
fi
)
vtysh=''
if test -f /etc/frr/vtysh.conf; then
if grep -q '^[[:space:]]*service[[:space:]]\+integrated-vtysh-config' /etc/frr/vtysh.conf; then
# existing vtysh.conf with integrated statement
# - do nothing (=> integrated config)
vtysh='i'
elif grep -q '^[[:space:]]*no[[:space:]]\+service[[:space:]]\+integrated-vtysh-config' /etc/frr/vtysh.conf; then
# explicit non-integrated
# => need to fix vtysh.conf & frr.conf in postinst
vtysh='ni'
if test -f /etc/frr/frr.conf; then
cat >&2 <<EOF
ERROR: Pre-existing /etc/frr/vtysh.conf specifies
"no service integrated-vtysh-config", but /etc/frr/frr.conf exists. This
will cause the frr package to malfunction. Please remove /etc/frr/frr.conf
or remove the "no service integrated-vtysh-config" statement from
/etc/frr/vtysh.conf.
EOF
exit 1
fi
else
# vtysh.conf exists but has no statement
:
fi
fi
if test -f /etc/frr/frr.conf; then
# vtysh.conf has no explicit statement but frr.conf exists
# => integrated config used
vtysh='i'
elif test -f /etc/frr/zebra.conf \
-o -f /etc/frr/bgpd.conf \
-o -f /etc/frr/ospfd.conf \
-o -f /etc/frr/ospf6d.conf \
-o -f /etc/frr/ripd.conf \
-o -f /etc/frr/ripngd.conf \
-o -f /etc/frr/isisd.conf \
-o -f /etc/frr/pimd.conf \
-o -f /etc/frr/ldpd.conf \
-o -f /etc/frr/nhrpd.conf \
-o -f /etc/frr/eigrpd.conf \
-o -f /etc/frr/babeld.conf \
-o -f /etc/frr/pbrd.conf \
-o -f /etc/frr/pathd.conf \
-o -f /etc/frr/bfdd.conf; then
# no explicit statement, but some split config file exists
# => need to fix vtysh.conf & frr.conf in postinst
test -n "$vtysh" || vtysh='ni'
else
# no config at all - use integrated
:
fi
if test "$vtysh" = "ni"; then
touch /etc/frr/.pkg.frr.nointegrated
fi
;;
abort-upgrade)
# shouldn't fail an upgrade abort
;;
esac
#DEBHELPER#

2
debian/frr.tmpfile vendored Normal file
View file

@ -0,0 +1,2 @@
# Create the /run/frr directory at boot or from systemd-tmpfiles on install
d /run/frr 0755 frr frr

7
debian/gbp.conf vendored Normal file
View file

@ -0,0 +1,7 @@
[DEFAULT]
upstream-tag = frr-%(version)s
pristine-tar = False
[export-orig]
compression = xz

4
debian/not-installed vendored Normal file
View file

@ -0,0 +1,4 @@
usr/include
usr/lib/frr/ospfclient
usr/lib/frr/rfptest
usr/lib/*/frr/modules/dplane_sample_plugin.so

127
debian/rules vendored Executable file
View file

@ -0,0 +1,127 @@
#!/usr/bin/make -f
# standard Debian options & profiles
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
MAKE_SILENT="V=0"
export DH_VERBOSE=0
else
MAKE_SILENT="V=1"
export DH_VERBOSE=1
export DH_OPTIONS=-v
endif
# package-specific build profiles
ifeq ($(filter pkg.frr.nortrlib,$(DEB_BUILD_PROFILES)),)
CONF_RPKI=--enable-rpki
else
CONF_RPKI=--disable-rpki
endif
ifeq ($(filter pkg.frr.lua,$(DEB_BUILD_PROFILES)),)
CONF_LUA=--disable-scripting
else
CONF_LUA=--enable-scripting
endif
ifeq ($(filter pkg.frr.pim6d,$(DEB_BUILD_PROFILES)),)
CONF_PIM6=--disable-pim6d
else
CONF_PIM6=--enable-pim6d
endif
export PYTHON=python3
%:
dh $@ -Bbuild --with=sphinxdoc
override_dh_auto_configure:
$(shell dpkg-buildflags --export=sh); export LIBS="$$LIBS -latomic"; \
dh_auto_configure -- \
--sbindir=/usr/lib/frr \
--with-vtysh-pager=/usr/bin/pager \
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \
--with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \
LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
--disable-dependency-tracking \
\
$(CONF_RPKI) \
$(CONF_LUA) \
$(CONF_PIM6) \
--with-libpam \
--enable-doc \
--enable-doc-html \
--enable-snmp \
--enable-fpm \
--disable-protobuf \
--disable-zeromq \
--enable-ospfapi \
--enable-bgp-vnc \
--enable-multipath=256 \
\
--enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \
# end
override_dh_auto_install:
dh_auto_install
sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr-reload.py
sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/generate_support_bundle.py
sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/frr_babeltrace.py
sed -e '1c #!/usr/bin/python3' -i debian/tmp/usr/lib/frr/ospfclient.py
# let dh_systemd_* and dh_installinit do their thing automatically
cp build/tools/frr.service debian/frr.service
cp build/tools/frr@.service debian/frr@.service
cp build/tools/frrinit.sh debian/frr.init
-rm -f debian/tmp/usr/lib/frr/frr
# install config files
mkdir -p debian/tmp/etc
cp -r tools/etc/* debian/tmp/etc/
-rm debian/tmp/etc/frr/daemons.conf
# drop dev-only files
find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f
rm -rf debian/tmp/usr/include
-rm debian/tmp/usr/lib/frr/ssd
# drop test-tools files
ifeq (,$(filter $(dh_listpackages), frr-test-tools))
rm -f debian/tmp/usr/lib/frr/fpm_listener
else
endif
override_dh_auto_build:
dh_auto_build -- $(MAKE_SILENT)
override_dh_installinit:
dh_installinit -r
override_dh_installsystemd:
dh_installsystemd -r
override_dh_makeshlibs:
dh_makeshlibs -n
override_dh_missing:
dh_missing --fail-missing
ifneq ($(filter nocheck,$(DEB_BUILD_PROFILES) $(DEB_BUILD_OPTIONS)),)
override_dh_auto_test:
true
endif
override_dh_auto_clean:
dh_auto_clean
-rm -rf tests/.pytest_cache
-rm -f debian/frr.init
-rm -f debian/frr.service
-rm -f debian/frr@.service

1
debian/source/format vendored Normal file
View file

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

2
debian/source/lintian-overrides vendored Normal file
View file

@ -0,0 +1,2 @@
# Debian Jessie and Ubuntu 16.04 need dh-systemd
frr source: ored-build-depends-on-obsolete-package

22
debian/tests/bgpd-snmp-rpki vendored Executable file
View file

@ -0,0 +1,22 @@
#!/bin/sh
set -e
# enable bgpd with SNMP & RPKI modules
cat >> /etc/frr/daemons <<EOF
bgpd=yes
bgpd_options="-A 127.0.0.1 -Msnmp -Mrpki"
EOF
service frr restart
# check that it actually started
pgrep watchfrr
pgrep zebra
pgrep bgpd
# just for debugging
vtysh -c 'show modules'
# ... and SNMP & RPKI should be loaded
vtysh -c 'show modules' | grep -q snmp
vtysh -c 'show modules' | grep -q rpki

14
debian/tests/control vendored Normal file
View file

@ -0,0 +1,14 @@
Tests: zebra-lo
Depends: frr
Restrictions: needs-root, isolation-container
Tests: bgpd-snmp-rpki
Depends: frr,
frr-rpki-rtrlib,
frr-snmp
Restrictions: needs-root, isolation-container
Tests: py-frr-reload
Depends: frr,
frr-pythontools
Restrictions: needs-root, isolation-container

36
debian/tests/py-frr-reload vendored Executable file
View file

@ -0,0 +1,36 @@
#!/bin/sh
set -e
# should have been started on install, but policy may have inhibited that
service frr restart
# these should be running by default
pgrep watchfrr
pgrep zebra
pgrep staticd
# configure interactively, save to file
vtysh -c 'configure terminal' -c 'ip route 198.51.100.0/28 127.0.0.1'
vtysh -c 'show running-config' | grep -q 'ip route 198.51.100.0/28 127.0.0.1'
vtysh -c 'write memory'
grep -q 'ip route 198.51.100.0/28 127.0.0.1' /etc/frr/frr.conf
# configure in file, check interactively
sed -e '/^ip route 198.51.100.0\/28 127.0.0.1/ c ip route 198.51.100.64/28 127.0.0.1' \
-i /etc/frr/frr.conf
service frr reload
# wait for the new config to load
for __t in $(seq 1 10); do
if vtysh -c 'show running-config' | grep -q 'ip route 198.51.100.64/28 127.0.0.1'; then
break
fi
sleep "$__t"
done
# fail if the old config is still loaded
if vtysh -c 'show running-config' | grep -q 'ip route 198.51.100.0/28 127.0.0.1'; then
exit 1
fi

16
debian/tests/zebra-lo vendored Executable file
View file

@ -0,0 +1,16 @@
#!/bin/sh
set -e
# should have been started on install, but policy may have inhibited that
service frr status >/dev/null || service frr restart
# these should be running by default
pgrep watchfrr
pgrep zebra
pgrep staticd
# check vtysh works at all
vtysh -c 'show version'
# check zebra is properly talking to the kernel
vtysh -c 'show interface lo' | grep -q LOOPBACK

3
debian/watch vendored Normal file
View file

@ -0,0 +1,3 @@
version=4
https://github.com/FRRouting/frr/tags .*/frr-(\d[0-9.]*)\.tar.gz