You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
3.1 KiB

  1. #
  2. # Copyright (C) 2019 Lucian Cristian <lucian.cristian@gmail.com>
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. include $(TOPDIR)/rules.mk
  7. PKG_NAME:=libreswan
  8. PKG_VERSION:=3.27
  9. PKG_RELEASE:=3
  10. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  11. PKG_SOURCE_URL:=https://download.libreswan.org/
  12. PKG_HASH:=ead07dd701116094b483dc57e54e2a5ee9a06d3982bb142260bcbf3d1faf7b82
  13. PKG_LICENSE:=GPL-2.0
  14. PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
  15. PKG_BUILD_PARALLEL:=1
  16. PKG_INSTALL:=1
  17. include $(INCLUDE_DIR)/package.mk
  18. define Package/libreswan/Default
  19. TITLE:=Libreswan
  20. URL:=https://libreswan.org/
  21. endef
  22. define Package/libreswan/Default/description
  23. Libreswan is a free software implementation of the most widely supported and
  24. standardized VPN protocol based on ("IPsec") and the Internet Key Exchange
  25. ("IKE"). These standards are produced and maintained by the Internet
  26. Engineering Task Force ("IETF").
  27. endef
  28. define Package/libreswan
  29. $(call Package/libreswan/Default)
  30. SUBMENU:=VPN
  31. SECTION:=net
  32. CATEGORY:=Network
  33. DEPENDS:= +libnss +librt +libevent2 +libevent2-pthreads +kmod-crypto-authenc \
  34. +kmod-crypto-hash +kmod-ipt-ipsec +iptables-mod-ipsec +ip-full +kmod-ip-vti \
  35. +kmod-ipsec +kmod-ipsec4 +kmod-crypto-rng +IPV6:kmod-ipsec6 +IPV6:kmod-ip6-vti
  36. PROVIDES:=openswan
  37. CONFLICTS:=strongswan
  38. TITLE+= IPsec Server
  39. endef
  40. define Package/libreswan/description
  41. $(call Package/libreswan/Default/description)
  42. Libreswan is a free software implementation of the most widely supported and
  43. standardized VPN protocol based on ("IPsec") and the Internet Key Exchange
  44. ("IKE"). These standards are produced and maintained by the Internet
  45. Engineering Task Force ("IETF").
  46. endef
  47. define Package/libreswan/conffiles
  48. /etc/ipsec.d
  49. /etc/ipsec.conf
  50. /etc/ipsec.secrets
  51. endef
  52. TARGET_CFLAGS+= -Wno-error=format-nonliteral
  53. MAKE_FLAGS+= \
  54. WERROR_CFLAGS=" " \
  55. USE_DNSSEC=false \
  56. USE_LINUX_AUDIT=false \
  57. USE_LABELED_IPSEC=false \
  58. USE_NM=false \
  59. USE_LIBCURL=false \
  60. USE_GLIBC_KERN_FLIP_HEADERS=true \
  61. USE_XAUTHPAM=false \
  62. USE_FIPSCHECK=false \
  63. USE_LIBCAP_NG=false \
  64. USE_SYSTEMD_WATCHDOG=false \
  65. INC_USRLOCAL="/usr" \
  66. FINALRUNDIR="/var/run/pluto" \
  67. ARCH="$(LINUX_KARCH)" \
  68. KERNELSRC="$(LINUX_DIR)"
  69. define Build/Prepare
  70. $(call Build/Prepare/Default)
  71. $(SED) 's,include $$$$(top_srcdir)/mk/manpages.mk,,g' \
  72. $(PKG_BUILD_DIR)/mk/program.mk
  73. endef
  74. define Build/Compile
  75. $(call Build/Compile/Default,all)
  76. endef
  77. define Package/libreswan/install
  78. $(INSTALL_DIR) \
  79. $(1)/etc/init.d \
  80. $(1)/etc/ipsec.d/policies \
  81. $(1)/usr/libexec/ipsec \
  82. $(1)/usr/sbin
  83. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec \
  84. $(1)/usr/sbin/ipsec
  85. $(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec
  86. $(INSTALL_DATA) ./files/ipsec.conf $(1)/etc/ipsec.conf
  87. $(INSTALL_DATA) ./files/ipsec.secrets $(1)/etc/ipsec.secrets
  88. $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ipsec.d/policies/* \
  89. $(1)/etc/ipsec.d/policies/
  90. $(CP) $(PKG_INSTALL_DIR)/usr/libexec/ipsec/* \
  91. $(1)/usr/libexec/ipsec/
  92. endef
  93. $(eval $(call BuildPackage,libreswan))