Package Details: frr 7.0-1

Git Clone URL: https://aur.archlinux.org/frr.git (read-only)
Package Base: frr
Description: FRRouting (quagga fork) supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP, NHRP and EIGRP.
Upstream URL: https://frrouting.org/
Licenses: GPL2
Conflicts: babeld, quagga, quagga_cumulus
Provides: quagga, quagga_cumulus
Submitter: k0ste
Maintainer: k0ste
Last Packager: k0ste
Votes: 3
Popularity: 0.737802
First Submitted: 2017-02-04 15:24
Last Updated: 2019-03-14 02:29

Latest Comments

1 2 Next › Last »

k0ste commented on 2019-03-27 07:13

eugeneai, you can use Markdown for insert patches. About route optimization patches - can you share github issues for this?

eugeneai commented on 2019-03-26 17:29

I could not find a way of patch attachment. If needed I remove this message for convenience.

diff -ruN frr/000-rem-rec.patch frr-new/000-rem-rec.patch
--- frr/000-rem-rec.patch   1970-01-01 08:00:00.000000000 +0800
+++ frr-new/000-rem-rec.patch   2019-03-26 19:42:00.435082046 +0800
@@ -0,0 +1,13 @@
+--- a/ospf6d/ospf6_abr.c   2018-10-08 20:32:57.000000000 +0800
++++ b/ospf6d/ospf6_abr.c   2018-10-20 01:00:36.479411021 +0800
+@@ -1209,8 +1209,8 @@
+       /* For Inter-Prefix route: Update RIB/FIB,
+        * For Inter-Router trigger summary update
+        */
+-      if (table->hook_add)
+-          (*table->hook_add)(old_route);
++      //if (table->hook_add)
++      //  (*table->hook_add)(old_route);
+ 
+       /* Delete new route */
+       ospf6_route_delete(route);
diff -ruN frr/frrcommon.sh.in.diff frr-new/frrcommon.sh.in.diff
--- frr/frrcommon.sh.in.diff    1970-01-01 08:00:00.000000000 +0800
+++ frr-new/frrcommon.sh.in.diff    2019-03-17 13:21:16.133878706 +0800
@@ -0,0 +1,44 @@
+--- frrcommon.sh.in    2019-03-01 07:32:04.000000000 +0800
++++ frrcommon.sh.in    2019-03-17 12:26:57.026113465 +0800
+@@ -270,7 +270,7 @@
+   [ -s "$oldcfg" ] || return 0
+   grep -v '^[[:blank:]]*\(#\|$\)' "$oldcfg" > /dev/null || return 0
+ 
+-  log_warning_msg "Reading deprecated $oldcfg.  Please move its settings to $C_PATH/daemons and remove it."
++  log_warning_msg "Reading deprecated $oldcfg.  Please move its settings to $C_PATH/daemons.conf and remove it."
+ 
+   # save off settings from daemons for the OR below
+   for dmn in $DAEMONS; do eval "_new_$dmn=\${$dmn:-no}"; done
+@@ -281,13 +281,13 @@
+   for dmn in $DAEMONS; do eval "test \$_new_$dmn != no && $dmn=\$_new_$dmn; unset _new_$dmn"; done
+ }
+ 
+-[ -r "$C_PATH/daemons" ] || {
++[ -r "$C_PATH/daemons.conf" ] || {
+   log_failure_msg "cannot run $@: $C_PATH/daemons does not exist"
+   exit 1
+ }
+-. "$C_PATH/daemons"
++. "$C_PATH/daemons.conf"
+ 
+-load_old_config "$C_PATH/daemons.conf"
++load_old_config "$C_PATH/daemons"
+ load_old_config "/etc/default/frr"
+ load_old_config "/etc/sysconfig/frr"
+ 
+--- frr.in 2019-03-01 07:32:04.000000000 +0800
++++ frr.in.new 2019-03-17 13:19:33.821508061 +0800
+@@ -500,11 +500,11 @@
+ #########################################################
+ 
+ # Config broken but script must exit silently.
+-[ ! -r "$C_PATH/daemons" ] && exit 0
++[ ! -r "$C_PATH/daemons.conf" ] && exit 0
+ 
+ # Load configuration
+-. "$C_PATH/daemons"
+ . "$C_PATH/daemons.conf"
++[ -r "$C_PATH/daemons" ] && . "$C_PATH/daemons"
+ 
+ # Read configuration variable file if it is present
+ [ -r /etc/default/frr ] && . /etc/default/frr
diff -ruN frr/PKGBUILD frr-new/PKGBUILD
--- frr/PKGBUILD    2019-03-27 01:17:29.783156479 +0800
+++ frr-new/PKGBUILD    2019-03-26 19:42:34.811419076 +0800
@@ -3,26 +3,35 @@

 pkgname='frr'
 pkgver='7.0'
-pkgrel='1'
+pkgrel='3'
 pkgdesc='FRRouting (quagga fork) supports BGP4, OSPFv2, OSPFv3, ISIS, RIP, RIPng, PIM, LDP, NHRP and EIGRP.'
 arch=('any')
 url="https://frrouting.org/"
 license=('GPL2')
 depends=('libcap' 'libnl' 'readline' 'ncurses' 'perl' 'pam' 'json-c' 'net-snmp' 'rtrlib'
     'libyang')
-makedepends=('gcc' 'net-snmp' 'bison' 'c-ares' 'perl-xml-libxml' 'python-sphinx')
+makedepends=('patch' 'gcc' 'net-snmp' 'bison' 'c-ares' 'perl-xml-libxml' 'python-sphinx')
 checkdepends=('python-pytest')
 conflicts=('quagga' 'babeld' 'quagga_cumulus')
 provides=('quagga' 'quagga_cumulus')
 source=("https://github.com/FRRouting/${pkgname}/archive/${pkgname}-${pkgver}.tar.gz"
         "${pkgname}.sysusers"
-        "${pkgname}.tmpfiles")
+        "${pkgname}.tmpfiles"
+        "frrcommon.sh.in.diff"
+        "000-rem-rec.patch")
 sha256sums=('15b62dc0c52531e4bcefa6b830e9b9b07d1d0f189c2110307dbc19d80b719354'
             '9371cc0522d13621c623b5da77719052bdebdceb7ffdbdc06fc32a2f07118e7e'
-            '6f8dd86ef9c600763faead3052908531e8dc8ef67058e6f7f8da01bf0fe4eb89')
+            '6f8dd86ef9c600763faead3052908531e8dc8ef67058e6f7f8da01bf0fe4eb89'
+            'e90fcd400b0acd84913146ab848af0657a072b4ef9e375bfd019983d41be768a'
+            '1cd3780604fba90fcbce9c0fc69e261a4a22abe123faf155035ab359bc0d151f')
+
+NoUpgrade=('etc/frr/*.conf')

 prepare() {
   cd "${srcdir}/${pkgname}-${pkgname}-${pkgver}"
+  
+  cd tools && patch -i "${srcdir}/frrcommon.sh.in.diff" && cd ..
+  patch -p1 -i "${srcdir}/000-rem-rec.patch"

   autoreconf -fvi
   ./configure \
@@ -69,4 +78,8 @@
   install -Dm0644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
   install -Dm0644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
   chown -R 177:177 "${pkgdir}/etc/frr"
+  chown -R 177:178 "${pkgdir}/etc/frr/vtysh.conf.sample"
+  sed -ri 's|/usr/lib/frr/|/usr/bin/|g' "${pkgdir}/etc/frr/daemons.conf"
+  sed -ri 's|"\)| -d"\)|g' "${pkgdir}/etc/frr/daemons.conf"
+  sed -ri 's|watchfrr_options="|watchfrr_options="-d |g' "${pkgdir}/etc/frr/daemons.conf"
 }

eugeneai commented on 2019-03-26 17:23

The route optimization is still buggy. It falls into endless recursion. I've reapplied the patch.

k0ste commented on 2019-03-18 05:38

eugeneai, can you provide patch for this PKGBUILD? Thanks.

eugeneai commented on 2019-03-17 06:21

Also, package install overwrites existing daemons.conf file. Better preserve it.

eugeneai commented on 2019-03-17 06:18

My update of Your package.

https://github.com/eugeneai/archlinux-modules/tree/master/frr

Ignore file 000-rem-rec.patch, it switches off buggy route optimization before v 7.0. Whether it works or not in 7.0, I do not know.

k0ste commented on 2019-03-17 04:33

eugeneai, we need to double this file or it's sound like a bug?

eugeneai commented on 2019-03-17 03:26

frr requires /etc/frr/daemons.conf, but watchfrr /etc/frr/daemons.

(from log of 'watchfrr zebra' command, what both files present).

"Reading deprecated /etc/frr/daemons.conf. Please move its settings to /etc/frr/daemons and remove it."

k0ste commented on 2019-02-22 02:19

@djidji, thanks. Updated.

djidji commented on 2019-02-21 17:40

@k0ste i'm sure:

journalctl -xe

-- The job identifier is 418. Feb 21 12:37:03 arch-frr-01 frr[554]: /usr/bin/frr: line 528: /etc/frr/daemons.conf: No such file or directory Feb 21 12:37:03 arch-frr-01 frr[554]: Loading capability module if not yet done. Feb 21 12:37:03 arch-frr-01 frr[554]: Starting Frr daemons (prio:10):. Feb 21 12:37:03 arch-frr-01 frr[554]: Exiting from the script Feb 21 12:37:03 arch-frr-01 frr[563]: /usr/bin/frr: line 528: /etc/frr/daemons.conf: No such file or directory ...