summaryrefslogtreecommitdiff
path: root/community/quagga
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-12-13 23:14:49 +0000
committerroot <root@rshg054.dnsready.net>2011-12-13 23:14:49 +0000
commitf4dcb5cb43b68e265512a03a160bdda634818b43 (patch)
tree9000841b67cefbce37255cb4d728e80bd5a11586 /community/quagga
parentcb9c375209c236c16557878a1b864f91de27b88d (diff)
Tue Dec 13 23:14:49 UTC 2011
Diffstat (limited to 'community/quagga')
-rw-r--r--community/quagga/PKGBUILD59
-rw-r--r--community/quagga/quagga.conf3
-rw-r--r--community/quagga/quagga.install22
-rw-r--r--community/quagga/quagga.rc34
4 files changed, 118 insertions, 0 deletions
diff --git a/community/quagga/PKGBUILD b/community/quagga/PKGBUILD
new file mode 100644
index 000000000..2b9f4ec71
--- /dev/null
+++ b/community/quagga/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id$
+# Maintainer: Sebastien Luttringer <seblu+arch@seblu.net>
+
+pkgname=quagga
+pkgver=0.99.20
+pkgrel=1
+pkgdesc='BGP/OSPF/ISIS/RIP/RIPNG routing daemon suite'
+arch=('i686' 'x86_64')
+url='http://www.quagga.net'
+license=('GPL2')
+depends=('libcap' 'libnl' 'net-snmp' 'readline' 'ncurses')
+options=('!libtool' '!buildflags')
+backup=()
+install=quagga.install
+source=("http://www.quagga.net/download/$pkgname-$pkgver.tar.gz"
+ 'quagga.rc'
+ 'quagga.conf')
+md5sums=('64cc29394eb8a4e24649d19dac868f64'
+ '6ebd2be39c45361eabe3e278bb21efa0'
+ '0c4f2dd13c7dac1b73de923d1d5e4e17')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc/quagga --localstatedir=/run/quagga \
+ --enable-exampledir=/usr/share/doc/quagga/examples \
+ --enable-vtysh \
+ --enable-isisd \
+ --enable-isis-topology \
+ --enable-netlink \
+ --enable-snmp \
+ --enable-tcp-zebra \
+ --enable-irdp \
+ --enable-pcreposix \
+ --enable-multipath=64 \
+ --enable-user=nobody \
+ --enable-group=nobody \
+ --enable-configfile-mask=0640 \
+ --enable-logfile-mask=0640
+ make
+}
+
+package() {
+ # initscripts files
+ for d in zebra ripd ripngd bgpd ospfd ospf6d isisd; do
+ install -D -m 755 $pkgname.rc "$pkgdir/etc/rc.d/$d"
+ install -D -m 644 $pkgname.conf "$pkgdir/etc/conf.d/$d"
+ backup+=("etc/conf.d/$d")
+ done
+
+ # create /run/quagga directory at startup
+ install -D -m 644 /dev/null "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+ echo "d /run/$pkgname 0750 $pkgname $pkgname" > "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
+
+ # soft
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/quagga/quagga.conf b/community/quagga/quagga.conf
new file mode 100644
index 000000000..26f24daa8
--- /dev/null
+++ b/community/quagga/quagga.conf
@@ -0,0 +1,3 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+DAEMON_OPTS="-d -u quagga -g quagga -A 127.0.0.1"
diff --git a/community/quagga/quagga.install b/community/quagga/quagga.install
new file mode 100644
index 000000000..058f4f1d7
--- /dev/null
+++ b/community/quagga/quagga.install
@@ -0,0 +1,22 @@
+post_install() {
+ groupadd -r quagga
+ useradd -MNr -s /bin/false -d /run/quagga -g quagga quagga && passwd -l quagga &>/dev/null
+ install -d -m 750 -o quagga -g quagga /{run,etc,var/log}/quagga
+ :
+}
+
+pre_remove() {
+ for d in zebra ripd ripngd bgpd ospfd ospf6d isisd; do
+ /etc/rc.d/$d stop &>/dev/null
+ done
+ :
+}
+
+post_remove() {
+ userdel quagga &>/dev/null
+ groupdel quagga &>/dev/null
+ rmdir /{etc,var/log}/quagga
+ :
+}
+
+# vim: ft=sh ts=2 sw=2 et:
diff --git a/community/quagga/quagga.rc b/community/quagga/quagga.rc
new file mode 100644
index 000000000..f938c6f8a
--- /dev/null
+++ b/community/quagga/quagga.rc
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/${0##*/}
+
+NAME=${0##*/}
+DAEMON=/usr/sbin/$NAME
+PID=$(pidof -o %PPID $DAEMON)
+
+case "$1" in
+ start)
+ stat_busy "Starting Quagga $NAME daemon"
+ [[ ! $PID ]] && $DAEMON $DAEMON_OPTS && add_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ stop)
+ stat_busy "Stopping $NAME daemon"
+ [[ $PID ]] && kill $PID &> /dev/null && rm_daemon $NAME && stat_done && exit 0
+ stat_fail
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ exit 0
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|restart}" >&2
+ ;;
+esac
+
+exit 1
+
+# vim:set ts=2 sw=2 ft=sh noet: