From 1dbc060dc46a4f560fe13914a59b19c120f408a0 Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Fri, 15 Dec 2006 16:15:35 +0000
Subject: [PATCH] update ipsec-tools to 0.6.6, add a patch to build on 2.6.19,
 use Configure template

SVN-Revision: 5800
---
 package/ipsec-tools/Makefile                  | 69 +++++++------------
 .../03-linux_2.6.19_rtnetlink_changes.diff    | 21 ++++++
 2 files changed, 44 insertions(+), 46 deletions(-)
 create mode 100644 package/ipsec-tools/patches/03-linux_2.6.19_rtnetlink_changes.diff

diff --git a/package/ipsec-tools/Makefile b/package/ipsec-tools/Makefile
index 586390a281..feccbbb5eb 100644
--- a/package/ipsec-tools/Makefile
+++ b/package/ipsec-tools/Makefile
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ipsec-tools
-PKG_VERSION:=0.6.4
+PKG_VERSION:=0.6.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/ipsec-tools
-PKG_MD5SUM:=d0242a943c82c0cbf28005966ff35e21
+PKG_MD5SUM:=e908f3cf367e31c7902df5ab16fbe5c3
 PKG_CAT:=bzcat
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
@@ -32,55 +32,32 @@ define Package/ipsec-tools
 endef
 
 define Build/Configure
-	(cd $(PKG_BUILD_DIR); rm -f config.cache; \
-		touch configure.ac; \
-		touch aclocal.m4; \
-		touch Makefile.in; \
-		touch config.h.in; \
-		touch configure; \
-		$(TARGET_CONFIGURE_OPTS) \
-		CFLAGS="$(TARGET_CFLAGS)" \
-		CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
-		LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
-		./configure \
-			--target=$(GNU_TARGET_NAME) \
-			--host=$(GNU_TARGET_NAME) \
-			--build=$(GNU_HOST_NAME) \
-			--program-prefix="" \
-			--program-suffix="" \
-			--prefix=/usr \
-			--exec-prefix=/usr \
-			--bindir=/usr/bin \
-			--datadir=/usr/share \
-			--includedir=/usr/include \
-			--infodir=/usr/share/info \
-			--libdir=/usr/lib \
-			--libexecdir=/usr/lib \
-			--localstatedir=/var \
-			--mandir=/usr/share/man \
-			--sbindir=/usr/sbin \
-			--sysconfdir=/etc \
-			$(DISABLE_LARGEFILE) \
-			$(DISABLE_NLS) \
-			--enable-shared \
-			--enable-static \
-			--disable-rpath \
-			--with-gnu-ld \
-			--with-kernel-headers="$(LINUX_DIR)/include" \
-			--without-readline \
-			--with-openssl="$(STAGING_DIR)/usr" \
-			--without-libradius \
-			--without-libpam \
-			--enable-dpd \
-			--enable-natt \
+	(cd $(PKG_BUILD_DIR); touch \
+		configure.ac \
+		aclocal.m4 \
+		Makefile.in \
+		config.h.in \
+		configure \
+	);
+	$(call Build/Configure/Default, \
+		--enable-shared \
+		--enable-static \
+		--with-kernel-headers="$(LINUX_DIR)/include" \
+		--without-readline \
+		--with-openssl="$(STAGING_DIR)/usr" \
+		--without-libradius \
+		--without-libpam \
+		--enable-dpd \
+		--enable-natt \
 	);
 endef
 
+# override CFLAGS holding "-Werror" that break builds on compile warnings
 define Build/Compile
-	$(call Build/Compile/Default, \
+	$(MAKE) -C $(PKG_BUILD_DIR) \
 		DESTDIR="$(PKG_INSTALL_DIR)" \
-		all install \
-	)
+		CFLAGS="$(TARGET_CFLAGS)" \
+		all install
 endef
 
 define Package/ipsec-tools/install
diff --git a/package/ipsec-tools/patches/03-linux_2.6.19_rtnetlink_changes.diff b/package/ipsec-tools/patches/03-linux_2.6.19_rtnetlink_changes.diff
new file mode 100644
index 0000000000..555290674c
--- /dev/null
+++ b/package/ipsec-tools/patches/03-linux_2.6.19_rtnetlink_changes.diff
@@ -0,0 +1,21 @@
+diff -ruN ipsec-tools-0.6.6-old/src/racoon/grabmyaddr.c ipsec-tools-0.6.6-new/src/racoon/grabmyaddr.c
+--- ipsec-tools-0.6.6-old/src/racoon/grabmyaddr.c	2005-07-16 06:41:01.000000000 +0200
++++ ipsec-tools-0.6.6-new/src/racoon/grabmyaddr.c	2006-12-15 15:50:13.000000000 +0100
+@@ -77,10 +77,17 @@
+ #ifdef __linux__
+ #include <linux/types.h>
+ #include <linux/rtnetlink.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
++# include <linux/if_addr.h>
++#endif
+ #ifndef HAVE_GETIFADDRS
+ #define HAVE_GETIFADDRS
+ #define NEED_LINUX_GETIFADDRS
+ #endif
++#ifndef IFA_RTA
++# define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
++#endif
+ #endif
+ 
+ #ifndef HAVE_GETIFADDRS
-- 
2.30.2