aboutsummaryrefslogtreecommitdiffstats
path: root/unstable
diff options
context:
space:
mode:
Diffstat (limited to 'unstable')
-rw-r--r--unstable/ucarp/APKBUILD33
-rw-r--r--unstable/ucarp/ucarp.confd10
-rw-r--r--unstable/ucarp/ucarp.initd62
3 files changed, 105 insertions, 0 deletions
diff --git a/unstable/ucarp/APKBUILD b/unstable/ucarp/APKBUILD
new file mode 100644
index 000000000..fe3afce0d
--- /dev/null
+++ b/unstable/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
+fae5ca64ed20a9346b00e9c9411a43c8 ucarp.initd
+ffdbc07da100b4882cc5da9121c0c842 ucarp.confd"
diff --git a/unstable/ucarp/ucarp.confd b/unstable/ucarp/ucarp.confd
new file mode 100644
index 000000000..86b501c39
--- /dev/null
+++ b/unstable/ucarp/ucarp.confd
@@ -0,0 +1,10 @@
+# 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
+
+REALIP=
+VHID=2
+VIP=127.0.0.1
+PASSWORD=SecretPassword
diff --git a/unstable/ucarp/ucarp.initd b/unstable/ucarp/ucarp.initd
new file mode 100644
index 000000000..b924f3b54
--- /dev/null
+++ b/unstable/ucarp/ucarp.initd
@@ -0,0 +1,62 @@
+#!/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/ucarp/$IFACE.conf
+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 -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 $?
+}