$(call PKG_INIT_BIN, $(if $(FREETZ_PACKAGE_OPENVPN_VERSION_ABANDON),2.4.10,2.5.0)) $(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.xz $(PKG)_SOURCE_SHA256_ABANDON:=cf285395a679f0b68c0acde2cb2480e8ead6ca07ff14c1bc52ae65a1243aa377 $(PKG)_SOURCE_SHA256_CURRENT:=029a426e44d656cb4e1189319c95fe6fc9864247724f5599d99df9c4c3478fbd $(PKG)_SOURCE_SHA256:=$(OPENVPN_SOURCE_SHA256_$(if $(FREETZ_PACKAGE_OPENVPN_VERSION_ABANDON),ABANDON,CURRENT)) $(PKG)_SITE:=https://swupdate.openvpn.net/community/releases,https://build.openvpn.net/downloads/releases $(PKG)_CONDITIONAL_PATCHES+=$(if $(FREETZ_PACKAGE_OPENVPN_VERSION_ABANDON),abandon,current) ifeq ($(strip $(FREETZ_PACKAGE_OPENVPN_WITH_TRAFFIC_OBFUSCATION)),y) $(PKG)_CONDITIONAL_PATCHES+=$(if $(FREETZ_PACKAGE_OPENVPN_VERSION_ABANDON),abandon,current)/obfuscation endif $(PKG)_BINARY:=$($(PKG)_DIR)/src/openvpn/openvpn $(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/openvpn $(PKG)_STARTLEVEL=81 $(PKG)_DEPENDS_ON += $(if $(FREETZ_PACKAGE_OPENVPN_OPENSSL),openssl) $(PKG)_DEPENDS_ON += $(if $(FREETZ_PACKAGE_OPENVPN_MBEDTLS),mbedtls) $(PKG)_DEPENDS_ON += $(if $(FREETZ_PACKAGE_OPENVPN_WITH_LZO),lzo) $(PKG)_DEPENDS_ON += $(if $(FREETZ_PACKAGE_OPENVPN_WITH_LZ4),lz4) $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_VERSION_ABANDON $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_VERSION_CURRENT $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_OPENSSL $(PKG)_REBUILD_SUBOPTS += FREETZ_OPENSSL_SHLIB_VERSION $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_MBEDTLS $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_WITH_LZO $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_WITH_LZ4 $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_WITH_TRAFFIC_OBFUSCATION $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_WITH_MGMNT $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_ENABLE_SMALL $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_USE_IPROUTE $(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_OPENVPN_STATIC $(PKG)_REBUILD_SUBOPTS += FREETZ_TARGET_IPV6_SUPPORT $(PKG)_REBUILD_SUBOPTS += $(if $(FREETZ_PACKAGE_OPENVPN_MBEDTLS),FREETZ_LIB_libmbedcrypto_WITH_BLOWFISH) $(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_PREVENT_RPATH_HARDCODING,./configure) $(PKG)_CONFIGURE_ENV += ac_cv_path_IFCONFIG=/sbin/ifconfig $(PKG)_CONFIGURE_ENV += ac_cv_path_IPROUTE=/sbin/ip $(PKG)_CONFIGURE_ENV += ac_cv_path_ROUTE=/sbin/route $(PKG)_CONFIGURE_PRE_CMDS += $(call PKG_ADD_EXTRA_FLAGS,(C|LD)FLAGS|LIBS) $(PKG)_EXTRA_CFLAGS += -ffunction-sections -fdata-sections $(PKG)_EXTRA_LDFLAGS += -Wl,--gc-sections $(PKG)_EXTRA_LDFLAGS += $(if $(FREETZ_PACKAGE_OPENVPN_STATIC),-all-static) $(PKG)_CONFIGURE_OPTIONS += --sysconfdir=/mod/etc/openvpn $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_WITH_LZO),--enable-lzo,--disable-lzo) $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_WITH_LZ4),--enable-lz4,--disable-lz4) $(PKG)_CONFIGURE_OPTIONS += --disable-debug $(PKG)_CONFIGURE_OPTIONS += --disable-multihome $(PKG)_CONFIGURE_OPTIONS += --disable-plugins $(PKG)_CONFIGURE_OPTIONS += --disable-port-share $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_WITH_MGMNT),--enable-management,--disable-management) $(PKG)_CONFIGURE_OPTIONS += --disable-pkcs11 $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_OPENSSL),--with-crypto-library=openssl) $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_MBEDTLS),--with-crypto-library=mbedtls) $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_USE_IPROUTE),--enable-iproute2) $(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_OPENVPN_ENABLE_SMALL),--enable-small,--disable-small) $(PKG_SOURCE_DOWNLOAD) $(PKG_UNPACKED) $(PKG_CONFIGURED_CONFIGURE) $($(PKG)_BINARY): $($(PKG)_DIR)/.configured $(SUBMAKE) -C $(OPENVPN_DIR) \ EXTRA_CFLAGS="$(OPENVPN_EXTRA_CFLAGS)" \ EXTRA_LDFLAGS="$(OPENVPN_EXTRA_LDFLAGS)" \ EXTRA_LIBS="$(OPENVPN_EXTRA_LIBS)" \ SOCKETS_LIBS="" $($(PKG)_TARGET_BINARY): $($(PKG)_BINARY) $(INSTALL_BINARY_STRIP) $(pkg): $(pkg)-precompiled: $($(PKG)_TARGET_BINARY) $(pkg)-clean: -$(SUBMAKE) -C $(OPENVPN_DIR) clean $(RM) $(OPENVPN_FREETZ_CONFIG_FILE) $(pkg)-uninstall: $(RM) $(OPENVPN_TARGET_BINARY) $(PKG_FINISH)