From e34619313cbf14846e7dc181737e5a850a285e14 Mon Sep 17 00:00:00 2001 From: Michael Mason Date: Thu, 9 Apr 2009 15:06:01 +0000 Subject: unstable/ucarp moved to testing/ucarp --- testing/ucarp/APKBUILD | 33 +++++++++++++++++++++++++ testing/ucarp/ucarp.confd | 13 ++++++++++ testing/ucarp/ucarp.initd | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 testing/ucarp/APKBUILD create mode 100644 testing/ucarp/ucarp.confd create mode 100755 testing/ucarp/ucarp.initd (limited to 'testing') diff --git a/testing/ucarp/APKBUILD b/testing/ucarp/APKBUILD new file mode 100644 index 00000000..ed35064f --- /dev/null +++ b/testing/ucarp/APKBUILD @@ -0,0 +1,33 @@ +# Contributor: +# Maintainer: +pkgname=ucarp +pkgver=1.5 +pkgrel=0 +pkgdesc="Share common IP and do fail over" +url="http://www.ucarp.org" +license="GPL" +depends="uclibc libpcap" +makedepends="libpcap-dev" +install= +subpackages="" +source="http://download.pureftpd.org/pub/ucarp/$pkgname-$pkgver.tar.gz + ucarp.initd + ucarp.confd" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + make || return 1 + make DESTDIR="$pkgdir" install + + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname +} + +md5sums="ba585233e73f0dbce80427d04f431048 ucarp-1.5.tar.gz +e8f1e2fd144797524025343603dbe2b8 ucarp.initd +bf914f6ce4fe4fea33a45d4d5b2c1fff ucarp.confd" diff --git a/testing/ucarp/ucarp.confd b/testing/ucarp/ucarp.confd new file mode 100644 index 00000000..824358b4 --- /dev/null +++ b/testing/ucarp/ucarp.confd @@ -0,0 +1,13 @@ +# Things you can set here +# REALIP - if not set, will be first addr on iface +# VHID - Virtual Server ID +# VIP - The Virtual IP +# PASSWORD - The password for the carp announcements +# EXTRA_ARGS - extra arguments + +REALIP= +VHID=2 +VIP=127.0.0.1 +PASSWORD=SecretPassword +#EXTRA_ARGS="--neutral --advbase=3" + diff --git a/testing/ucarp/ucarp.initd b/testing/ucarp/ucarp.initd new file mode 100755 index 00000000..d03329fc --- /dev/null +++ b/testing/ucarp/ucarp.initd @@ -0,0 +1,63 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + + +# A simple script to start and stop a ucarp instance +DAEMON=/usr/sbin/ucarp + +IFACE="${SVCNAME#*.}" +if [ -n "$IFACE" ] && [ "${SVCNAME}" != "ucarp" ]; then + UP="/etc/ucarp/vip-up-$IFACE.sh" + DOWN="/etc/ucarp/vip-down-$IFACE.sh" + . /etc/conf.d/ucarp.$IFACE +else + UP="/etc/ucarp/vip-up.sh" + DOWN="/etc/ucarp/vip-down.sh" +fi + + +# Get the primary ip address for a given interface +get_first_ip() { + local foo=$( ip addr show $1 ) + [ $? != 0 ] && foo="" + echo $( echo "$foo" | grep "inet " | head -n1 | \ + sed "s+^.*inet ++g; s+/.*$++g" ) +} + +if [ -z "$REALIP" ]; then + REALIP=$( get_first_ip $IFACE ) +fi + +start () { + ebegin "Starting ucarp $IFACE" + start-stop-daemon --start --exec $DAEMON \ + --background -m -p /var/run/ucarp-$IFACE.pid -- \ + -i $IFACE -s $REALIP -v $VHID -p $PASSWORD -a $VIP \ + -u $UP -d $DOWN $EXTRA_ARGS -z + eend $? +} + +status () { + ebegin "ucarp $IFACE is ..." + PIDS=$( pidof $( basename $DAEMON )) + PID=$( cat /var/run/ucarp-$IFACE.pid 2>/dev/null ) + [ -n "$PID" ] && OK=$( echo "$PIDS" | grep "$PID" ) + if [ -n "$OK" ]; then + echo "running" + exit 0 + else + echo "not running" + exit 1 + fi +} + +stop () { + ebegin "Shuting down ucarp $IFACE" + start-stop-daemon --stop --exec $DAEMON \ + -p /var/run/ucarp-$IFACE.pid + [ $? -eq 0 ] && rm /var/run/ucarp-$IFACE.pid + eend $? +} + -- cgit v1.2.3