# # Copyright (C) 2019 Lucian Cristian # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. include $(TOPDIR)/rules.mk PKG_NAME:=libreswan PKG_VERSION:=3.27 PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://download.libreswan.org/ PKG_HASH:=ead07dd701116094b483dc57e54e2a5ee9a06d3982bb142260bcbf3d1faf7b82 PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Lucian Cristian PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/kernel.mk define Package/libreswan/Default TITLE:=Libreswan URL:=https://libreswan.org/ endef define Package/libreswan/Default/description Libreswan is a free software implementation of the most widely supported and standardized VPN protocol based on ("IPsec") and the Internet Key Exchange ("IKE"). These standards are produced and maintained by the Internet Engineering Task Force ("IETF"). endef define Package/libreswan $(call Package/libreswan/Default) SUBMENU:=VPN SECTION:=net CATEGORY:=Network DEPENDS:= +kmod-libreswan +libnss +librt +libevent2 +libevent2-pthreads \ +ip-full PROVIDES:=openswan CONFLICTS:=strongswan TITLE+= IPsec Server endef define Package/libreswan/description $(call Package/libreswan/Default/description) Libreswan is a free software implementation of the most widely supported and standardized VPN protocol based on ("IPsec") and the Internet Key Exchange ("IKE"). These standards are produced and maintained by the Internet Engineering Task Force ("IETF"). endef define KernelPackage/libreswan $(call Package/libreswan/Default) SUBMENU:=Network Support TITLE+= (kernel module) FILES:=$(PKG_BUILD_DIR)/modobj*/ipsec.$(LINUX_KMOD_SUFFIX) DEPENDS:= +kmod-crypto-authenc +kmod-crypto-hash +kmod-ipt-ipsec +iptables-mod-ipsec \ +kmod-ipsec +kmod-ipsec4 +kmod-crypto-rng +IPV6:kmod-ipsec6 endef define KernelPackage/libreswan/description $(call Package/libreswan/Default/description) This package contains the Libreswan kernel module. endef define Package/libreswan/conffiles /etc/ipsec.d /etc/ipsec.conf /etc/ipsec.secrets endef TARGET_CFLAGS+= -Wno-error=format-nonliteral MAKE_FLAGS+= \ WERROR_CFLAGS=" " \ USE_DNSSEC=false \ USE_LINUX_AUDIT=false \ USE_LABELED_IPSEC=false \ USE_NM=false \ USE_LIBCURL=false \ USE_GLIBC_KERN_FLIP_HEADERS=true \ USE_XAUTHPAM=false \ USE_FIPSCHECK=false \ USE_LIBCAP_NG=false \ USE_SYSTEMD_WATCHDOG=false \ INC_USRLOCAL="/usr" \ FINALRUNDIR="/var/run/pluto" \ ARCH="$(LINUX_KARCH)" \ KERNELSRC="$(LINUX_DIR)" define Build/Prepare $(call Build/Prepare/Default) $(SED) 's,include $$$$(top_srcdir)/mk/manpages.mk,,g' \ $(PKG_BUILD_DIR)/mk/program.mk endef define Build/Compile $(call Build/Compile/Default,base) $(call Build/Compile/Default,module) endef define Package/libreswan/install $(INSTALL_DIR) \ $(1)/etc/init.d \ $(1)/etc/ipsec.d/policies \ $(1)/usr/libexec/ipsec \ $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec \ $(1)/usr/sbin/ipsec $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec $(INSTALL_DATA) ./files/ipsec.conf $(1)/etc/ipsec.conf $(INSTALL_DATA) ./files/ipsec.secrets $(1)/etc/ipsec.secrets $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ipsec.d/policies/* \ $(1)/etc/ipsec.d/policies/ $(CP) $(PKG_INSTALL_DIR)/usr/libexec/ipsec/* \ $(1)/usr/libexec/ipsec/ endef $(eval $(call BuildPackage,libreswan)) $(eval $(call KernelPackage,libreswan))