<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/38ba2f22c725993378d8a65b1b49aef83fe1806d">https://github.com/macports/macports-ports/commit/38ba2f22c725993378d8a65b1b49aef83fe1806d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 38ba2f22c725993378d8a65b1b49aef83fe1806d
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Tue Jan 18 07:28:58 2022 -0600

<span style='display:block; white-space:pre;color:#404040;'>    quagga: Update to 1.2.4
</span>---
 net/quagga/Portfile                 |  83 ++++++++++++++++-------------
 net/quagga/files/implicit.patch     |  15 ++++++
 net/quagga/files/packed.patch       |  47 +++++++++++++++++
 net/quagga/files/quagga-patch1.diff | 102 ------------------------------------
 net/quagga/files/quagga-patch3.diff |  32 -----------
 net/quagga/files/rfc3542.diff       |  10 ----
 net/quagga/files/sdkroot.patch      |  16 ++++++
 net/quagga/files/undefined.patch    |  18 +++++++
 8 files changed, 143 insertions(+), 180 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/Portfile b/net/quagga/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 71a84190cac..8535a199189 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/quagga/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/quagga/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem      1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup       github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup    Quagga quagga 1.2.4 quagga-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision        0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160  9d4b807ce150db9d3cec1f6bf9a3f836d4973428 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  e364c082c3309910e1eb7b068bf39ee298e2f2f3f31a6431a5c115193bd653d3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    2925847
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-name            quagga
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version         0.99.16
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision        2
</span> categories      net
 license         GPL-2+
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms       darwin
</span> maintainers     nomaintainer
 description     Collection of Routing daemons for OSPF BGP and RIP
 long_description    Quagga is a routing software suite, providing implementations \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,24 +22,30 @@ long_description    Quagga is a routing software suite, providing implementation
</span>                 This port installs the binaries, but does not include startup \
                 items, it should be considered experimental.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage        http://www.quagga.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites    savannah
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums       md5     350fb150be526cdfc4d2b093cb4d69a7 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha1    2ba554a41671988257e51cf1cb5cb25015fb942f \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160  c4930bc2ef23b469e8d56f25c97edacff292b93a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles      quagga-patch1.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                quagga-patch2.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                quagga-patch3.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rfc3542.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage        https://www.quagga.net
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from releases
</span> 
 depends_build   port:gawk
 depends_lib     port:readline
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles      quagga-patch2.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                implicit.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                packed.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sdkroot.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                undefined.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@SDKROOT@|${configure.sdkroot}|g" ${worksrcpath}/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We are patching configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_autoreconf  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.checks.implicit_function_declaration.whitelist-append strchr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args  --localstatedir=${prefix}/var/run/quagga \
                 --sysconfdir=${prefix}/etc/quagga \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                --mandir=${prefix}/share/man \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --disable-pimd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                --disable-silent-rules \
</span>                 --enable-vty-group=staff
 
 add_users       quagga group=quagga realname=Quagga home=${prefix}/var/quagga
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,26 +64,26 @@ post-activate {
</span>                 ${prefix}/etc/quagga/${f}
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "******************************************************"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* The routing protocol daemons are in ${prefix}/sbin"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* bgpd ospfd ospf6d ripd ripng isisd zebra"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* These have not been well tested on Mac OS X (yet)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* The man files for the above are in section 8"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* The sample configs in ${prefix}/etc/quagga"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* sudo cp <daemon>.conf.sample <daemon>.conf"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* and edit as needed."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* No Startup Items have been made (yet)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* As an example to start one of the daemons use"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* sudo ospfd -d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* These drop root privileges and run as quagga/quagga"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* To manage these daemons use"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* telnet localhost:2604"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* For more info see http://quagga.net/about.php"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* To stop one of the daemons use e.g."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "* sudo kill `cat ${prefix}/var/run/quagga/ospfd.pid`"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ui_msg "******************************************************"
</span> }
 
 destroot.keepdirs   ${destroot}${prefix}/var/run/quagga \
                     ${destroot}${prefix}/var/quagga/logs
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The routing protocol daemons are in ${prefix}/sbin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+bgpd ospfd ospf6d ripd ripng isisd zebra
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These have not been well tested on Mac OS X (yet)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The man files for the above are in section 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The sample configs in ${prefix}/etc/quagga
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sudo cp <daemon>.conf.sample <daemon>.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and edit as needed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+No Startup Items have been made (yet)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+As an example to start one of the daemons use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sudo ospfd -d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These drop root privileges and run as quagga/quagga
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To manage these daemons use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+telnet localhost:2604
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For more info see ${homepage}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To stop one of the daemons use e.g.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+sudo kill `cat ${prefix}/var/run/quagga/ospfd.pid`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/implicit.patch b/net/quagga/files/implicit.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..bf4474890ef
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/quagga/files/implicit.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+error: implicit declaration of function 'fdatasync' [-Werror,-Wimplicit-function-declaration]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/command.c.orig     2018-02-19 15:24:55.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/command.c  2022-01-17 23:25:07.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,6 +23,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <zebra.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* macOS has fdatasync but it is not in any system header. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++extern int fdatasync(int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "memory.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "log.h"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/packed.patch b/net/quagga/files/packed.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b0c5987303d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/quagga/files/packed.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/sockunion.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/prefix.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/if.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/table.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/filter.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/routemap.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/stream.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/plist.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/zclient.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vrf.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+duplicate symbol '___packed' in:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/vty.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    .libs/nexthop.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugzilla.quagga.net/show_bug.cgi?id=1014
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugzilla.quagga.net/attachment.cgi?id=565&action=diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/prefix.h.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/prefix.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -44,7 +44,7 @@ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct ethaddr {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     u_char octet[ETHER_ADDR_LEN];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-} __packed;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/quagga-patch1.diff b/net/quagga/files/quagga-patch1.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 76d49b0e3d5..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/quagga/files/quagga-patch1.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,102 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- sourced from http://marc.info/?l=quagga-dev&m=122470854730992&w=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- zebra/*_null.c - Removed #pragma weak to be compatibile with gcc 4.0.1 from Apple xcode.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- zebra/ioctl_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ zebra/ioctl_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,19 +19,16 @@ int if_unset_prefix (struct interface *a, struct connected *b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int if_prefix_add_ipv6 (struct interface *a, struct connected *b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak if_prefix_delete_ipv6 = if_prefix_add_ipv6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int if_prefix_delete_ipv6 (struct interface *a, struct connected *b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int if_ioctl (u_long a, caddr_t b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int if_set_flags (struct interface *a, uint64_t b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak if_unset_flags = if_set_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int if_unset_flags (struct interface *a, uint64_t b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void if_get_flags (struct interface *a) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak if_get_metric = if_get_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak if_get_mtu = if_get_flags
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void if_get_metric(struct interface *a) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void if_get_mtu(struct interface *a) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef SOLARIS_IPV6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak if_ioctl_ipv6 = if_ioctl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int if_ioctl_ipv6 (u_long a, caddr_t b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- struct connected *if_lookup_linklocal(struct interface *a) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define AF_IOCTL(af, request, buffer) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- zebra/kernel_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ zebra/kernel_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9,9 +9,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "zebra/connected.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int kernel_add_ipv4 (struct prefix *a, struct rib *b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak kernel_delete_ipv4 = kernel_add_ipv4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int kernel_delete_ipv4  (struct prefix *a, struct rib *b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int kernel_add_ipv6 (struct prefix *a, struct rib *b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak kernel_delete_ipv6 = kernel_add_ipv6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int kernel_delete_ipv6 (struct prefix *a, struct rib *b) { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int kernel_delete_ipv6_old (struct prefix_ipv6 *dest, struct in6_addr *gate,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                             unsigned int index, int flags, int table)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return 0; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,4 +39,4 @@ int kernel_address_delete_ipv4 (struct interface *a, struct connected *b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void kernel_init (void) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak route_read = kernel_init
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void route_read  (void) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/zebra/misc_null.c b/zebra/misc_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7359430..8dba0ab 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- zebra/misc_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ zebra/misc_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6,6 +6,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include "zebra/interface.h"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void ifstat_update_proc (void) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak rtadv_config_write = ifstat_update_proc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak irdp_config_write = ifstat_update_proc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak ifstat_update_sysctl = ifstat_update_proc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void rtadv_config_write (struct vty *vty, struct interface *ifp) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void irdp_config_write  (struct vty *vty, struct interface *ifp) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void ifstat_update_sysctl(void) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/zebra/redistribute_null.c b/zebra/redistribute_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e57a73b..7072894 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- zebra/redistribute_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ zebra/redistribute_null.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6,21 +6,21 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void zebra_redistribute_add (int a, struct zserv *b, int c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_redistribute_delete = zebra_redistribute_add
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_redistribute_default_add = zebra_redistribute_add
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_redistribute_default_delete = zebra_redistribute_add
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_redistribute_delete  (int a, struct zserv *b, int c) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_redistribute_default_add (int a, struct zserv *b, int c) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_redistribute_default_delete (int a, struct zserv *b, int c) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void redistribute_add (struct prefix *a, struct rib *b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak redistribute_delete = redistribute_add
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void redistribute_delete (struct prefix *a, struct rib *b) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void zebra_interface_up_update (struct interface *a)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_interface_down_update = zebra_interface_up_update
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_interface_add_update = zebra_interface_up_update
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_interface_delete_update = zebra_interface_up_update
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_interface_down_update  (struct interface *a) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_interface_add_update (struct interface *a) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_interface_delete_update (struct interface *a) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- void zebra_interface_address_add_update (struct interface *a,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                           struct connected *b)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#pragma weak zebra_interface_address_delete_update = zebra_interface_address_add_update
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+void zebra_interface_address_delete_update(struct interface *a, struct connected *b) { return; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/quagga-patch3.diff b/net/quagga/files/quagga-patch3.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c203ef16948..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/quagga/files/quagga-patch3.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,32 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- sourced from http://marc.info/?l=quagga-dev&m=122470857431036&w=2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- update-autotools.sh - Use GNU libtool, libtoolize on Darwin.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- update-autotools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ update-autotools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11,8 +11,17 @@ rm -rf autom4te.cache
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "This $0 script is deprecated, and will be removed at some stage."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "Please use the 'autoreconf' command included with autoconf."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+OS=`uname -s`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if [ "$OS" = "Darwin" ]; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   LIBTOOLIZE='glibtoolize'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   LIBTOOL='glibtool'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   LIBTOOLIZE='libtoolize'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   LIBTOOL='libtool'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+fi
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "TOOLS VERIONS:"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--for tool in autoheader autoconf libtool libtoolize aclocal automake; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+for tool in autoheader autoconf $LIBTOOL $LIBTOOLIZE aclocal automake; do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   $tool --version | head -1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- done
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23,6 +32,6 @@ autoheader
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "AUTOCONF:"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- autoconf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "LIBTOOLIZE:"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--libtoolize -c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+$LIBTOOLIZE -c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "AUTOMAKE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- automake --gnu --add-missing --copy
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/rfc3542.diff b/net/quagga/files/rfc3542.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index a0f4cd79f2d..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/quagga/files/rfc3542.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- lib/zebra.h.orig       2009-12-09 23:37:12.000000000 +1100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ lib/zebra.h    2012-07-05 00:54:00.000000000 +1000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -143,6 +143,7 @@ typedef int socklen_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* HAVE_SYS_SOCKIO_H */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_NETINET_IN_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define __APPLE_USE_RFC_3542
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <netinet/in.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif /* HAVE_NETINET_IN_H */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <netinet/in_systm.h>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/sdkroot.patch b/net/quagga/files/sdkroot.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..23f3bdf70ca
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/quagga/files/sdkroot.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Help this weird configure script find SDK files. The placeholder will be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+replaced with the SDK path by the Portfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checking whether does this OS have IPv6 stack... configure: error: Failed to detect IPv6 stack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac.orig      2022-01-17 22:29:25.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2022-01-17 22:54:48.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1166,7 +1166,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl ---------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl KAME IPv6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl ---------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if grep WIDE /usr/include/netinet6/in6.h >/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if grep WIDE @SDKROOT@/usr/include/netinet6/in6.h >/dev/null 2>&1; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AC_DEFINE(KAME,1,KAME IPv6)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AC_MSG_RESULT(KAME)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl ------------------------------------
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/quagga/files/undefined.patch b/net/quagga/files/undefined.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..27393e67541
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/quagga/files/undefined.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Undefined symbols for architecture x86_64:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  "_term_bgp_debug_as4", referenced from:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      _assegments_parse in libbgp.a(bgp_aspath.o)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      _aspath_reconcile_as4 in libbgp.a(bgp_aspath.o)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ld: symbol(s) not found for architecture x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://stackoverflow.com/questions/25050575/basic-use-of-c-archives-libraries-with-clang-linker
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- bgpd/bgp_debug.c.orig  2022-01-18 07:13:13.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ bgpd/bgp_debug.c       2022-01-18 07:13:27.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -50,7 +50,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned long conf_bgp_debug_allow_martians;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned long conf_bgp_debug_nht;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-unsigned long term_bgp_debug_as4;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++unsigned long term_bgp_debug_as4 = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned long term_bgp_debug_fsm;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned long term_bgp_debug_events;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsigned long term_bgp_debug_packet;
</span></pre><pre style='margin:0'>

</pre>