[package] openswan: fix build for 64-bits targets
[openwrt/svn-archive/archive.git] / net / openswan / Makefile
index e7150c356a93528b04e2d522d682d06c694dd680..3bf0aa8394b2d2fc32aee8db11221827b032d910 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,19 +9,21 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=openswan
-PKG_VERSION:=2.6.18
+PKG_VERSION:=2.6.38
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.openswan.org/download
-PKG_MD5SUM:=b485b38b1074155bc337f80557c24c0d
+PKG_MD5SUM:=13073eb5314b83a31be88e4117e8bbcd
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
 define Package/openswan/Default
   TITLE:=Openswan
   URL:=http://www.openswan.org/
-  DEPENDS:=@LINUX_2_6
 endef
 
 define Package/openswan/Default/description
@@ -30,11 +32,11 @@ endef
 
 define Package/openswan
 $(call Package/openswan/Default)
+  SUBMENU:=VPN
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS+= +kmod-openswan +libgmp +ip
   TITLE+= (daemon)
-  URL:=http://www.openswan.org/
+  DEPENDS+= +libgmp +ip
 endef
 
 define Package/openswan/description
@@ -46,6 +48,7 @@ define KernelPackage/openswan
 $(call Package/openswan/Default)
   SUBMENU:=Network Support
   TITLE+= (kernel module)
+  DEPENDS+=+IPV6:kmod-ipv6
   FILES:=$(PKG_BUILD_DIR)/modobj*/ipsec.$(LINUX_KMOD_SUFFIX)
 endef
 
@@ -54,41 +57,52 @@ $(call Package/openswan/Default/description)
  This package contains the Openswan kernel module.
 endef
 
-TARGET_CPPFLAGS = \
-       -I$(STAGING_DIR)/usr/include \
-       -I$(LINUX_DIR)/include
+TARGET_CPPFLAGS += -I$(LINUX_DIR)/include -D__EXPORTED_HEADERS__
 
-TARGET_LDFLAGS = \
-       -L$(STAGING_DIR)/usr/lib
-
-OPENSWAN_MAKE := $(MAKE) -C $(PKG_BUILD_DIR) \
+OPENSWAN_MAKEFLAGS:= \
+       -C $(PKG_BUILD_DIR) \
        $(TARGET_CONFIGURE_OPTS) \
        LINUX_RELEASE="$(LINUX_RELEASE)" \
        KERNELSRC="$(LINUX_DIR)" \
        ARCH="$(LINUX_KARCH)" \
        CROSS_COMPILE="$(TARGET_CROSS)" \
-       USERCOMPILE="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/linux/include $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \
+       USERCOMPILE="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/ports/linux/include -I$(PKG_BUILD_DIR)/linux/include -I$(PKG_BUILD_DIR)/include $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \
        IPSECDIR="/usr/lib/ipsec" \
        INC_USRLOCAL="/usr" \
        INC_RCDEFAULT="/etc/init.d" \
        MODPROBE="/sbin/insmod" \
-       LDFLAGS="$(TARGET_LDFLAGS)" \
        DESTDIR="$(PKG_INSTALL_DIR)"
 
 define Build/Compile
-       $(OPENSWAN_MAKE) \
-               programs module install
+       $(MAKE) $(PKG_JOBS) $(OPENSWAN_MAKEFLAGS) programs
+       $(MAKE) $(PKG_JOBS) $(OPENSWAN_MAKEFLAGS) module
+endef
+
+define Build/Install
+       $(MAKE) $(OPENSWAN_MAKEFLAGS) install
+endef
+
+define Package/openswan/conffiles
+/etc/ipsec.conf
+/etc/ipsec.secrets
+/etc/config/ipsec
 endef
 
 define Package/openswan/install
        $(CP) $(PKG_INSTALL_DIR)/* $(1)
        $(INSTALL_DIR) $(1)/etc/init.d
        $(CP) ./files/ipsec.init $(1)/etc/init.d/ipsec
+       $(CP) ./files/ipsec.conf $(1)/etc/ipsec.conf
+       $(CP) ./files/ipsec.secrets $(1)/etc/ipsec.secrets
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_CONF) ./files/ipsec.config $(1)/etc/config/ipsec
        rm -rf $(1)/usr/share
        rm -rf $(1)/usr/man
        rm -rf $(1)/var
        rm -rf $(1)/etc/rc.d
        find $(1) -name \*.old | xargs rm -rf
+       $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
+       $(INSTALL_DATA) files/ipsec.upgrade $(1)/lib/upgrade/keep.d/ipsec
 endef
 
 $(eval $(call BuildPackage,openswan))