summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Bidulock2016-12-08 03:41:21 -0700
committerBrian Bidulock2016-12-08 03:41:21 -0700
commit690c9b8269bbd2ab5443e9e8bd18fb6bd0ec113a (patch)
treeec72b2df49e760fd43e01e432caad414ecab6f52
downloadaur-690c9b8269bbd2ab5443e9e8bd18fb6bd0ec113a.tar.gz
initial version
-rw-r--r--.SRCINFO49
-rw-r--r--PKGBUILD102
-rw-r--r--babeld.service16
-rw-r--r--bgpd.service16
-rw-r--r--isisd.service16
-rw-r--r--nocomplain.patch15
-rw-r--r--ospf6d.service16
-rw-r--r--ospfd.service16
-rw-r--r--pimd.service15
-rw-r--r--quagga.install6
-rw-r--r--quagga.sysusers1
-rw-r--r--quagga.tmpfiles3
-rw-r--r--ripd.service16
-rw-r--r--ripngd.service16
-rw-r--r--zebra.service16
15 files changed, 319 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b3817f06c123
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,49 @@
+pkgbase = quagga-fpm
+ pkgdesc = BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite (FPM enabled)
+ pkgver = 1.1.0
+ pkgrel = 2
+ url = http://www.quagga.net
+ install = quagga.install
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ depends = libcap
+ depends = libnl
+ depends = net-snmp
+ depends = readline
+ depends = ncurses
+ depends = perl
+ provides = quagga=1.1.0
+ conflicts = quagga
+ options = !buildflags
+ source = http://download.savannah.gnu.org/releases/quagga/quagga-1.1.0.tar.gz
+ source = http://download.savannah.gnu.org/releases/quagga/quagga-1.1.0.tar.gz.asc
+ source = quagga.sysusers
+ source = quagga.tmpfiles
+ source = babeld.service
+ source = bgpd.service
+ source = isisd.service
+ source = ospf6d.service
+ source = ospfd.service
+ source = pimd.service
+ source = ripd.service
+ source = ripngd.service
+ source = zebra.service
+ source = nocomplain.patch
+ md5sums = daa303871e07ea5856aae6fd79e89722
+ md5sums = SKIP
+ md5sums = 286c545efadcc7b463eb603c25473cb4
+ md5sums = 9dfa2f649a2c83a2e52f5f89dec3b167
+ md5sums = 20a8e36ad851d4e06467aeb56a84b245
+ md5sums = cc90c234aac9098c5132d653037d5269
+ md5sums = 67d0ada0f3000b9a86351798786c5256
+ md5sums = 6e2569ef339838aa41375e913a8e19ce
+ md5sums = 260f5fcf9b53ef201a8fb34e7ea90457
+ md5sums = af6571185d6a6a6e1f070c7be0e4333a
+ md5sums = b6e3549d780355914ae8edd43e15630a
+ md5sums = 72dd63c49fdaea41729a4318d0fbac79
+ md5sums = 577f1e7caeea31d910f2dc29c28ada7d
+ md5sums = f0164d52c986bf6be85aed4a7f78aefd
+
+pkgname = quagga-fpm
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..19017bfcfdb5
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,102 @@
+# $Id: PKGBUILD 280689 2016-11-14 07:42:25Z bpiotrowski $
+# Maintainer: Sébastien Luttringer
+
+pkgname=quagga-fpm
+_pkgname=quagga
+pkgver=1.1.0
+pkgrel=2
+pkgdesc='BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite (FPM enabled)'
+arch=('i686' 'x86_64')
+url='http://www.quagga.net'
+license=('GPL2')
+provides=($_pkgname=$pkgver)
+conflicts=($_pkgname)
+depends=('libcap' 'libnl' 'net-snmp' 'readline' 'ncurses' 'perl')
+options=('!buildflags')
+install=quagga.install
+validpgpkeys=('C1B5C3ED3000F2BFCD66F3B76FE57CA8C1A4AEA6') # Quagga Release Signing Key
+source=("http://download.savannah.gnu.org/releases/$_pkgname/$_pkgname-$pkgver.tar.gz"{,.asc}
+ 'quagga.sysusers'
+ 'quagga.tmpfiles'
+ 'babeld.service'
+ 'bgpd.service'
+ 'isisd.service'
+ 'ospf6d.service'
+ 'ospfd.service'
+ 'pimd.service'
+ 'ripd.service'
+ 'ripngd.service'
+ 'zebra.service'
+ 'nocomplain.patch')
+md5sums=('daa303871e07ea5856aae6fd79e89722'
+ 'SKIP'
+ '286c545efadcc7b463eb603c25473cb4'
+ '9dfa2f649a2c83a2e52f5f89dec3b167'
+ '20a8e36ad851d4e06467aeb56a84b245'
+ 'cc90c234aac9098c5132d653037d5269'
+ '67d0ada0f3000b9a86351798786c5256'
+ '6e2569ef339838aa41375e913a8e19ce'
+ '260f5fcf9b53ef201a8fb34e7ea90457'
+ 'af6571185d6a6a6e1f070c7be0e4333a'
+ 'b6e3549d780355914ae8edd43e15630a'
+ '72dd63c49fdaea41729a4318d0fbac79'
+ '577f1e7caeea31d910f2dc29c28ada7d'
+ 'f0164d52c986bf6be85aed4a7f78aefd')
+
+prepare() {
+ cd $_pkgname-$pkgver
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ msg2 "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+ :
+}
+
+build() {
+ cd $_pkgname-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc/quagga \
+ --localstatedir=/run/quagga \
+ --enable-exampledir=/usr/share/doc/quagga/examples \
+ --enable-vtysh \
+ --enable-isis-topology \
+ --enable-netlink \
+ --enable-snmp \
+ --enable-tcp-zebra \
+ --enable-irdp \
+ --enable-pcreposix \
+ --enable-multipath=64 \
+ --enable-user=quagga \
+ --enable-group=quagga \
+ --enable-configfile-mask=0640 \
+ --enable-logfile-mask=0640 \
+ --enable-fpm
+ make
+}
+
+package() {
+ # upstream install
+ cd $_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # logrotate stuff
+ install -D -m 644 redhat/$_pkgname.logrotate "$pkgdir/etc/logrotate.d/$_pkgname"
+ sed -ri 's,/var/run/quagga,/run/quagga,g' "$pkgdir/etc/logrotate.d/$_pkgname"
+
+ # systemd
+ cd "$srcdir"
+ install -d -m 755 "$pkgdir"/usr/lib/{systemd/system,tmpfiles.d,sysusers.d}
+ for _d in zebra ripd ripngd bgpd ospfd ospf6d isisd babeld pimd; do
+ install -D -m 644 $_d.service "$pkgdir/usr/lib/systemd/system/$_d.service"
+ done
+ install -D -m 644 $_pkgname.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/$_pkgname.conf"
+ install -D -m 644 $_pkgname.sysusers "$pkgdir/usr/lib/sysusers.d/$_pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/babeld.service b/babeld.service
new file mode 100644
index 000000000000..7279f0336a89
--- /dev/null
+++ b/babeld.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Babel routing daemon
+Documentation=man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/babeld.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/babeld.pid
+ExecStart=/usr/bin/babeld -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/bgpd.service b/bgpd.service
new file mode 100644
index 000000000000..b0bf1db0fef7
--- /dev/null
+++ b/bgpd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=BGP routing daemon
+Documentation=man:bgpd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/bgpd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/bgpd.pid
+ExecStart=/usr/bin/bgpd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/isisd.service b/isisd.service
new file mode 100644
index 000000000000..5ad16c1a485f
--- /dev/null
+++ b/isisd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=IS-IS routing daemon
+Documentation=man:isis(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/isisd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/isisd.pid
+ExecStart=/usr/bin/isisd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/nocomplain.patch b/nocomplain.patch
new file mode 100644
index 000000000000..0ab77aa939cd
--- /dev/null
+++ b/nocomplain.patch
@@ -0,0 +1,15 @@
+diff -up quagga-1.1.0/lib/command.c.orig quagga-1.1.0/lib/command.c
+--- quagga-1.1.0/lib/command.c.orig 2016-12-07 16:52:13.000000000 -0700
++++ quagga-1.1.0/lib/command.c 2016-12-07 16:52:20.000000000 -0700
+@@ -638,9 +638,11 @@ install_element (enum node_type ntype, s
+
+ if (hash_lookup (cnode->cmd_hash, cmd) != NULL)
+ {
++#if 0
+ fprintf (stderr,
+ "Multiple command installs to node %d of command:\n%s\n",
+ ntype, cmd->string);
++#endif
+ return;
+ }
+
diff --git a/ospf6d.service b/ospf6d.service
new file mode 100644
index 000000000000..dae3dc322faf
--- /dev/null
+++ b/ospf6d.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OSPF routing daemon for IPv6
+Documentation=man:ospfd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ospf6d.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ospf6d.pid
+ExecStart=/usr/bin/ospf6d -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ospfd.service b/ospfd.service
new file mode 100644
index 000000000000..e43c474ccd3b
--- /dev/null
+++ b/ospfd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=OSPF routing daemon
+Documentation=man:ospfd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ospfd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ospfd.pid
+ExecStart=/usr/bin/ospfd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pimd.service b/pimd.service
new file mode 100644
index 000000000000..72769563e0c2
--- /dev/null
+++ b/pimd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=PIM multicast routing engine
+Documentation=man:pimd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/pimd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/pimd.pid
+ExecStart=/usr/sbin/pimd -d
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/quagga.install b/quagga.install
new file mode 100644
index 000000000000..8df09474f0ee
--- /dev/null
+++ b/quagga.install
@@ -0,0 +1,6 @@
+# vim: ft=sh ts=2 sw=2 et:
+
+post_install() {
+ systemd-sysusers quagga.conf
+ systemd-tmpfiles --create quagga.conf
+}
diff --git a/quagga.sysusers b/quagga.sysusers
new file mode 100644
index 000000000000..d3ff95c8148b
--- /dev/null
+++ b/quagga.sysusers
@@ -0,0 +1 @@
+u quagga - - /run/quagga
diff --git a/quagga.tmpfiles b/quagga.tmpfiles
new file mode 100644
index 000000000000..89157600fdf8
--- /dev/null
+++ b/quagga.tmpfiles
@@ -0,0 +1,3 @@
+d /etc/quagga 0750 quagga quagga
+d /var/log/quagga 0750 quagga quagga
+d /run/quagga 0750 quagga quagga
diff --git a/ripd.service b/ripd.service
new file mode 100644
index 000000000000..a55498100e95
--- /dev/null
+++ b/ripd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=RIP routing daemon
+Documentation=man:ripd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ripd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ripd.pid
+ExecStart=/usr/bin/ripd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ripngd.service b/ripngd.service
new file mode 100644
index 000000000000..4990669d2d24
--- /dev/null
+++ b/ripngd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=RIP routing daemon for IPv6
+Documentation=man:ripngd(8) man:zebra(8)
+BindTo=zebra.service
+After=network.target zebra.service
+ConditionPathExists=/etc/quagga/ripngd.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/ripngd.pid
+ExecStart=/usr/bin/ripngd -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target
diff --git a/zebra.service b/zebra.service
new file mode 100644
index 000000000000..02813c37c3de
--- /dev/null
+++ b/zebra.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=GNU Zebra routing manager
+Documentation=man:zebra(8)
+After=network.target
+ConditionPathExists=/etc/quagga/zebra.conf
+
+[Service]
+Type=forking
+PIDFile=/run/quagga/zebra.pid
+ExecStartPre=/sbin/ip route flush proto zebra
+ExecStart=/usr/bin/zebra -d
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-abort
+
+[Install]
+WantedBy=multi-user.target