From f4dcb5cb43b68e265512a03a160bdda634818b43 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 13 Dec 2011 23:14:49 +0000 Subject: Tue Dec 13 23:14:49 UTC 2011 --- community/quagga/PKGBUILD | 59 +++++++++++++++++++++++++++++++++++++++++ community/quagga/quagga.conf | 3 +++ community/quagga/quagga.install | 22 +++++++++++++++ community/quagga/quagga.rc | 34 ++++++++++++++++++++++++ 4 files changed, 118 insertions(+) create mode 100644 community/quagga/PKGBUILD create mode 100644 community/quagga/quagga.conf create mode 100644 community/quagga/quagga.install create mode 100644 community/quagga/quagga.rc (limited to 'community/quagga') 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 + +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: -- cgit v1.2.3-54-g00ecf