--- /dev/null
+###############################################################################
+# IPFire.org - An Open Source Firewall Solution #
+# Copyright (C) - IPFire Development Team <info@ipfire.org> #
+###############################################################################
+
+name = ipvsadm
+version = 1.26
+release = 1
+
+groups = Applications/System
+url = http://www.linuxvirtualserver.org/software/ipvs.html
+license = GPLv2+
+summary = Utility to administer the Linux Virtual Server.
+
+description
+ ipvsadm is a utility to administer the IP Virtual Server services
+ offered by the Linux kernel.
+end
+
+source_dl = http://www.linuxvirtualserver.org/software/kernel-2.6/
+
+build
+ requires
+ libnl-devel
+ popt-devel
+ end
+
+ PARALLELISMFLAGS = # parallel build not supported
+
+ make_build_targets += CFLAGS="%{CFLAGS}"
+
+ make_install_targets += BUILD_ROOT="%{BUILDROOT}" \
+ SBIN="%{BUILDROOT}%{sbindir}" MANDIR="%{mandir}"
+
+ install_cmds
+ # Remove unwanted files.
+ rm -vfr %{BUILDROOT}/etc
+ end
+end
+
+packages
+ package %{name}
+
+ package %{name}-debuginfo
+ template DEBUGINFO
+ end
+end
--- /dev/null
+diff -Naupr ipvsadm-1.26.orig/ipvsadm.c ipvsadm-1.26/ipvsadm.c
+--- ipvsadm-1.26.orig/ipvsadm.c 2011-02-06 20:38:57.000000000 -0600
++++ ipvsadm-1.26/ipvsadm.c 2012-03-26 16:58:42.796919112 -0500
+@@ -1631,16 +1631,19 @@ void list_timeout(void)
+ static void list_daemon(void)
+ {
+ ipvs_daemon_t *u;
++ int i;
+
+ if (!(u = ipvs_get_daemon()))
+ exit(1);
+
+- if (u[0].state & IP_VS_STATE_MASTER)
+- printf("master sync daemon (mcast=%s, syncid=%d)\n",
+- u[0].mcast_ifn, u[0].syncid);
+- if (u[1].state & IP_VS_STATE_BACKUP)
+- printf("backup sync daemon (mcast=%s, syncid=%d)\n",
+- u[1].mcast_ifn, u[1].syncid);
++ for (i = 0; i < 2; i++) {
++ if (u[i].state & IP_VS_STATE_MASTER)
++ printf("master sync daemon (mcast=%s, syncid=%d)\n",
++ u[i].mcast_ifn, u[i].syncid);
++ if (u[i].state & IP_VS_STATE_BACKUP)
++ printf("backup sync daemon (mcast=%s, syncid=%d)\n",
++ u[i].mcast_ifn, u[i].syncid);
++ }
+ free(u);
+ }
+
--- /dev/null
+diff -Naupr ipvsadm-1.26.orig/Makefile ipvsadm-1.26/Makefile
+--- ipvsadm-1.26.orig/Makefile 2011-02-08 01:24:23.000000000 +0100
++++ ipvsadm-1.26/Makefile 2011-07-09 23:22:54.834017156 +0200
+@@ -63,15 +63,7 @@ RPMBUILD = $(shell \
+ fi )
+
+ ifeq (,$(FORCE_GETOPT))
+-LIB_SEARCH = /lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib
+-POPT_LIB = $(shell for i in $(LIB_SEARCH); do \
+- if [ -f $$i/libpopt.a ]; then \
+- if nm $$i/libpopt.a | fgrep -q poptGetContext; then \
+- echo "-lpopt"; \
+- break; \
+- fi; \
+- fi; \
+-done)
++POPT_LIB = "-lpopt"
+ endif
+
+ ifneq (,$(POPT_LIB))