diff --git a/package/lean/luci-app-softethervpn/Makefile b/package/lean/luci-app-softethervpn/Makefile
index 12f9c4a65..236ed1e7b 100644
--- a/package/lean/luci-app-softethervpn/Makefile
+++ b/package/lean/luci-app-softethervpn/Makefile
@@ -6,10 +6,10 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI support for SoftEtherVPN
-LUCI_DEPENDS:=+zlib +libpthread +librt +libreadline +libncurses +libiconv-full +kmod-tun +libopenssl +softethervpn-bridge +softethervpn-client +softethervpn-server
+LUCI_DEPENDS:=+zlib +libpthread +librt +libreadline +libncurses +libiconv-full +kmod-tun +libopenssl +softethervpn5-bridge +softethervpn5-client +softethervpn5-server
LUCI_PKGARCH:=all
PKG_VERSION:=1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
include $(TOPDIR)/feeds/luci/luci.mk
diff --git a/package/lean/luci-app-softethervpn/luasrc/model/cbi/softethervpn.lua b/package/lean/luci-app-softethervpn/luasrc/model/cbi/softethervpn.lua
index 1c0054c29..5529c82fb 100644
--- a/package/lean/luci-app-softethervpn/luasrc/model/cbi/softethervpn.lua
+++ b/package/lean/luci-app-softethervpn/luasrc/model/cbi/softethervpn.lua
@@ -10,5 +10,5 @@ o.template="softethervpn/status"
o.value=translate("Collecting data...")
o=s:option(Flag,"enable",translate("Enabled"))
o.rmempty=false
-o=s:option(DummyValue,"moreinfo",translate("控制台下载:
Windows-x86_x64-intel.exe
macos-x86-32bit.pkg"))
+o=s:option(DummyValue,"moreinfo",translate("控制台下载:
Windows-x86_x64-intel.exe
macos-x86-32bit.pkg"))
return m
diff --git a/package/lean/softethervpn5/Makefile b/package/lean/softethervpn5/Makefile
index ef41c4c60..0c15bfe56 100644
--- a/package/lean/softethervpn5/Makefile
+++ b/package/lean/softethervpn5/Makefile
@@ -2,19 +2,20 @@
include $(TOPDIR)/rules.mk
-PKG_NAME:=softethervpn
-PKG_VERSION_NAME:=5.01
+PKG_NAME:=softethervpn5
+PKG_VERSION:=5.01.9671
PKG_RELEASE:=1
PKG_MAINTAINER:=Andy Walsh
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/SoftEtherVPN/SoftEtherVPN.git
-PKG_SOURCE_DATE:=2018-10-03
-PKG_SOURCE_VERSION:=2271bf5fba410f815bf6834aae65d4b513cee1b2
-PKG_MIRROR_HASH:=bc921fa4646a54d523d0388e50c202943f020ebb1679d1fd858954aa585a11e3
+PKG_SOURCE_URL:=https://github.com/SoftEtherVPN/SoftEtherVPN/releases/download/$(PKG_VERSION)/
+PKG_SOURCE:=softether-vpn-src-$(PKG_VERSION).tar.gz
+PKG_HASH:=56930110ad5e21a3b7c69008bdb3efd368c0ebafc1d0d97b48a76a3563ec8e24
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/SoftEtherVPN-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/SoftEtherVPN-$(PKG_VERSION)
HOST_BUILD_DEPENDS:=ncurses/host readline/host
PKG_BUILD_DEPENDS:=softethervpn5/host
@@ -28,7 +29,7 @@ define Package/softethervpn5/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=VPN
- TITLE:=softethervpn $(PKG_VERSION_NAME)
+ TITLE:=softethervpn5 v$(PKG_VERSION)
URL:=http://www.softether.org/
endef
@@ -76,16 +77,25 @@ endef
define Package/softethervpn5-client/description
$(call Package/softethervpn5/Default/description)
- Provides the vpnclient (daemon).
+ Provides the vpnclient.
endef
export USE_MUSL=YES
# BUG: outdated host/include/elf.h
HOST_CFLAGS += $(FPIC) -DAT_HWCAP2=26
TARGET_CFLAGS += $(FPIC)
+CMAKE_OPTIONS = -DICONV_LIB_PATH="$(ICONV_PREFIX)/lib"
+
+# static build for host (hamcorebuilder), avoid -fpic on ncurses/host and shared libs can't be found on host
+define Host/Prepare
+ $(Host/Prepare/Default)
+ $(SED) 's,SHARED,STATIC,g' $(HOST_BUILD_DIR)/src/Mayaqua/CMakeLists.txt
+ $(SED) 's,SHARED,STATIC,g' $(HOST_BUILD_DIR)/src/Cedar/CMakeLists.txt
+ $(SED) 's,readline,libreadline.a,g' $(HOST_BUILD_DIR)/src/Cedar/CMakeLists.txt
+endef
define Host/Compile
- $(call Host/Compile/Default,hamcorebuilder)
+ $(call Host/Compile/Default,hamcorebuilder)
endef
define Host/Install
@@ -93,13 +103,6 @@ define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tmp/hamcorebuilder $(STAGING_DIR_HOSTPKG)/bin/
endef
-define Build/Prepare
- $(Build/Prepare/Default)
- # build as shared libs
- $(SED) 's,STATIC,SHARED,g' $(PKG_BUILD_DIR)/src/Mayaqua/CMakeLists.txt
- $(SED) 's,STATIC,SHARED,g' $(PKG_BUILD_DIR)/src/Cedar/CMakeLists.txt
-endef
-
define Build/Compile
$(call Build/Compile/Default,vpnserver vpnbridge vpnclient vpncmd hamcore-archive-build)
endef
@@ -109,11 +112,11 @@ endef
define Package/softethervpn5-libs/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/tmp/Cedar/libcedar.so $(1)/usr/lib/
- $(CP) $(PKG_BUILD_DIR)/tmp/Mayaqua/libmayaqua.so $(1)/usr/lib/
+ $(CP) $(PKG_BUILD_DIR)/build/libcedar.so $(1)/usr/lib/
+ $(CP) $(PKG_BUILD_DIR)/build/libmayaqua.so $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn
- $(CP) $(PKG_BUILD_DIR)/tmp/hamcore.se2 $(1)/usr/libexec/softethervpn/
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpncmd/vpncmd $(1)/usr/libexec/softethervpn/
+ $(CP) $(PKG_BUILD_DIR)/build/hamcore.se2 $(1)/usr/libexec/softethervpn/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpncmd $(1)/usr/libexec/softethervpn/
$(INSTALL_BIN) files/launcher.sh $(1)/usr/libexec/softethervpn/
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/lang.config
$(INSTALL_DIR) $(1)/usr/bin
@@ -122,7 +125,7 @@ endef
define Package/softethervpn5-server/install
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnserver/vpnserver $(1)/usr/libexec/softethervpn/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnserver $(1)/usr/libexec/softethervpn/
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/vpn_server.config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) files/vpnserver.init $(1)/etc/init.d/softethervpnserver
@@ -130,8 +133,7 @@ endef
define Package/softethervpn5-bridge/install
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnbridge/vpnbridge $(1)/usr/libexec/softethervpn/
- $(INSTALL_BIN) files/launcher.sh $(1)/usr/libexec/softethervpn/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnbridge $(1)/usr/libexec/softethervpn/
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/vpn_bridge.config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) files/vpnbridge.init $(1)/etc/init.d/softethervpnbridge
@@ -139,24 +141,25 @@ endef
define Package/softethervpn5-client/install
$(INSTALL_DIR) $(1)/usr/libexec/softethervpn
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnclient/vpnclient $(1)/usr/libexec/softethervpn/
- $(INSTALL_BIN) files/launcher.sh $(1)/usr/libexec/softethervpn/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/vpnclient $(1)/usr/libexec/softethervpn/
$(INSTALL_DATA) files/dummy $(1)/usr/libexec/softethervpn/vpn_client.config
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) files/vpnclient.init $(1)/etc/init.d/softethervpnclient
endef
define Package/softethervpn5-server/conffiles
- /usr/libexec/softethervpn/vpn_server.config
- /usr/libexec/softethervpn/lang.config
+/usr/libexec/softethervpn/vpn_server.config
+/usr/libexec/softethervpn/lang.config
endef
+
define Package/softethervpn5-bridge/conffiles
- /usr/libexec/softethervpn/vpn_bridge.config
- /usr/libexec/softethervpn/lang.config
+/usr/libexec/softethervpn/vpn_bridge.config
+/usr/libexec/softethervpn/lang.config
endef
+
define Package/softethervpn5-client/conffiles
- /usr/libexec/softethervpn/vpn_client.config
- /usr/libexec/softethervpn/lang.config
+/usr/libexec/softethervpn/vpn_client.config
+/usr/libexec/softethervpn/lang.config
endef
$(eval $(call HostBuild))
diff --git a/package/lean/softethervpn5/files/vpnbridge.init b/package/lean/softethervpn5/files/vpnbridge.init
index 1311e652b..955067195 100644
--- a/package/lean/softethervpn5/files/vpnbridge.init
+++ b/package/lean/softethervpn5/files/vpnbridge.init
@@ -20,9 +20,3 @@ start_service(){
procd_set_param respawn
procd_close_instance
}
-
-stop_service(){
- logger -t 'softethervpn5' "Stopping softether bridge service."
-
- /var/softethervpn/vpnbridge stop
-}
diff --git a/package/lean/softethervpn5/files/vpnclient.init b/package/lean/softethervpn5/files/vpnclient.init
index e4766f0fe..743846a04 100644
--- a/package/lean/softethervpn5/files/vpnclient.init
+++ b/package/lean/softethervpn5/files/vpnclient.init
@@ -20,9 +20,3 @@ start_service(){
procd_set_param respawn
procd_close_instance
}
-
-stop_service(){
- logger -t 'softethervpn5' "Stopping softether client service."
-
- /var/softethervpn/vpnclient stop
-}
diff --git a/package/lean/softethervpn5/files/vpnserver.init b/package/lean/softethervpn5/files/vpnserver.init
index e6f73da31..fbc94ed45 100644
--- a/package/lean/softethervpn5/files/vpnserver.init
+++ b/package/lean/softethervpn5/files/vpnserver.init
@@ -20,9 +20,3 @@ start_service(){
procd_set_param respawn
procd_close_instance
}
-
-stop_service(){
- logger -t 'softethervpn5' "Stopping softether vpnserver service."
-
- /var/softethervpn/vpnserver stop
-}
diff --git a/package/lean/softethervpn5/patches/001-musl-poll-fix.patch b/package/lean/softethervpn5/patches/001-musl-poll-fix.patch
new file mode 100644
index 000000000..ec9edefa6
--- /dev/null
+++ b/package/lean/softethervpn5/patches/001-musl-poll-fix.patch
@@ -0,0 +1,27 @@
+From a4ed6560017d0b9edcd7cab93ca05d80f794ec10 Mon Sep 17 00:00:00 2001
+From: Rosen Penev
+Date: Wed, 10 Jul 2019 17:01:01 -0700
+Subject: [PATCH] Mayaqua: Replace GNU specific sys/poll.h header with POSIX
+ poll.h
+
+Fixes warning from the musl libc:
+
+warning redirecting incorrect #include to
+---
+ src/Mayaqua/Mayaqua.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Mayaqua/Mayaqua.h b/src/Mayaqua/Mayaqua.h
+index 0f46d52a..63c2edc3 100644
+--- a/src/Mayaqua/Mayaqua.h
++++ b/src/Mayaqua/Mayaqua.h
+@@ -157,8 +157,8 @@ int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, char *CmdLine, int CmdShow)
+ #ifdef UNIX_SOLARIS
+ #include
+ #endif // UNIX_SOLARIS
+-#include
+ #include
++#include
+ #include
+ #ifdef UNIX_LINUX
+ #include
diff --git a/package/lean/softethervpn5/patches/002-iconv-defines-fix.patch b/package/lean/softethervpn5/patches/002-iconv-defines-fix.patch
new file mode 100644
index 000000000..66173f99a
--- /dev/null
+++ b/package/lean/softethervpn5/patches/002-iconv-defines-fix.patch
@@ -0,0 +1,11 @@
+--- a/src/Mayaqua/Mayaqua.h 2019-07-11
++++ b/src/Mayaqua/Mayaqua.h 2019-07-11
+@@ -178,7 +178,7 @@ int PASCAL WinMain(HINSTANCE hInst, HINS
+ #include
+ #endif // MAYAQUA_SUPPORTS_GETIFADDRS
+
+-#ifdef UNIX_LINUX
++#if 0
+ typedef void *iconv_t;
+ iconv_t iconv_open (__const char *__tocode, __const char *__fromcode);
+ size_t iconv (iconv_t __cd, char **__restrict __inbuf,
diff --git a/package/lean/softethervpn5/patches/003-iconv-cmake-fix.patch b/package/lean/softethervpn5/patches/003-iconv-cmake-fix.patch
new file mode 100644
index 000000000..1f94c1abb
--- /dev/null
+++ b/package/lean/softethervpn5/patches/003-iconv-cmake-fix.patch
@@ -0,0 +1,11 @@
+--- a/src/Mayaqua/CMakeLists.txt 2019-07-10
++++ b/src/Mayaqua/CMakeLists.txt 2019-07-11
+@@ -59,7 +59,7 @@ if(UNIX)
+ find_package(ZLIB REQUIRED)
+
+ # In some cases libiconv is not included in libc
+- find_library(LIB_ICONV iconv)
++ find_library(LIB_ICONV iconv HINTS "${ICONV_LIB_PATH}")
+
+ find_library(LIB_RT rt)
+