File 03_libnl-3-linking.patch of Package ipvsadm.35832
--- ipvsadm-1.26~/Makefile 2012-05-31 18:22:39.000000000 -0400
+++ ipvsadm-1.26/Makefile 2012-05-31 18:22:39.000000000 -0400
@@ -82,7 +82,8 @@
OBJS = ipvsadm.o config_stream.o dynamic_array.o
LIBS = $(POPT_LIB)
ifneq (0,$(HAVE_NL))
-LIBS += -lnl
+INCLUDE += $(shell pkg-config --cflags libnl-3.0 libnl-genl-3.0)
+LIBS += $(shell pkg-config --libs libnl-3.0 libnl-genl-3.0)
endif
DEFINES = -DVERSION=\"$(VERSION)\" -DSCHEDULERS=\"$(SCHEDULERS)\" \
-DPE_LIST=\"$(PE_LIST)\" $(POPT_DEFINE)
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' ipvsadm-1.26~/libipvs/Makefile ipvsadm-1.26/libipvs/Makefile
--- ipvsadm-1.26~/libipvs/Makefile 2008-09-21 06:02:03.000000000 -0400
+++ ipvsadm-1.26/libipvs/Makefile 2012-05-31 18:22:39.000000000 -0400
@@ -4,6 +4,7 @@
CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC
ifneq (0,$(HAVE_NL))
CFLAGS += -DLIBIPVS_USE_NL
+INCLUDE += $(shell pkg-config --cflags libnl-3.0 libnl-genl-3.0)
endif
INCLUDE += $(shell if [ -f ../../ip_vs.h ]; then \
diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' ipvsadm-1.26~/libipvs/libipvs.c ipvsadm-1.26/libipvs/libipvs.c
--- ipvsadm-1.26~/libipvs/libipvs.c 2011-02-06 21:38:57.000000000 -0500
+++ ipvsadm-1.26/libipvs/libipvs.c 2012-05-31 18:24:11.176032999 -0400
@@ -32,7 +32,7 @@
struct ip_vs_getinfo ipvs_info;
#ifdef LIBIPVS_USE_NL
-static struct nl_handle *sock = NULL;
+static struct nl_sock *sock = NULL;
static int family, try_nl = 1;
#endif
@@ -73,7 +73,7 @@
{
int err = EINVAL;
- sock = nl_handle_alloc();
+ sock = nl_socket_alloc();
if (!sock) {
nlmsg_free(msg);
return -1;
@@ -88,7 +88,7 @@
/* To test connections and set the family */
if (msg == NULL) {
- nl_handle_destroy(sock);
+ nl_socket_free(sock);
sock = NULL;
return 0;
}
@@ -104,12 +104,12 @@
nlmsg_free(msg);
- nl_handle_destroy(sock);
+ nl_socket_free(sock);
return 0;
fail_genl:
- nl_handle_destroy(sock);
+ nl_socket_free(sock);
sock = NULL;
nlmsg_free(msg);
errno = err;