boinc: update to 7.18.1 (#8394)
* boinc: update to 7.18.1 * change to per-file patches * add bash completion * add device detection by default * add optional Linux task support via proot * disable unused code path for Termux * boinc: fix prerelease message
This commit is contained in:
parent
5d0d09cb5d
commit
794f8f791b
|
@ -1,6 +1,6 @@
|
||||||
diff -uNr boinc-client_release-7.16-7.16.16/_autosetup boinc-client_release-7.16-7.16.16.mod/_autosetup
|
diff -uNr boinc-client_release-7.18-7.18.1/_autosetup boinc-client_release-7.18-7.18.1.mod/_autosetup
|
||||||
--- boinc-client_release-7.16-7.16.16/_autosetup 2021-02-01 07:38:58.000000000 +0800
|
--- boinc-client_release-7.18-7.18.1/_autosetup 2021-08-03 23:52:19.000000000 +0800
|
||||||
+++ boinc-client_release-7.16-7.16.16.mod/_autosetup 2021-10-23 10:32:01.471359652 +0800
|
+++ boinc-client_release-7.18-7.18.1.mod/_autosetup 2021-12-27 20:03:46.335967627 +0800
|
||||||
@@ -19,7 +19,7 @@
|
@@ -19,7 +19,7 @@
|
||||||
check_version()
|
check_version()
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://boinc.berkeley.edu/
|
||||||
TERMUX_PKG_DESCRIPTION="Open-source software for volunteer computing"
|
TERMUX_PKG_DESCRIPTION="Open-source software for volunteer computing"
|
||||||
TERMUX_PKG_LICENSE="GPL-3.0"
|
TERMUX_PKG_LICENSE="GPL-3.0"
|
||||||
TERMUX_PKG_MAINTAINER="@termux"
|
TERMUX_PKG_MAINTAINER="@termux"
|
||||||
TERMUX_PKG_VERSION=7.16.16
|
TERMUX_PKG_VERSION=7.18.1
|
||||||
TERMUX_PKG_REVISION=2
|
|
||||||
TERMUX_PKG_SRCURL=https://github.com/BOINC/boinc/archive/client_release/${TERMUX_PKG_VERSION:0:4}/${TERMUX_PKG_VERSION}.tar.gz
|
TERMUX_PKG_SRCURL=https://github.com/BOINC/boinc/archive/client_release/${TERMUX_PKG_VERSION:0:4}/${TERMUX_PKG_VERSION}.tar.gz
|
||||||
TERMUX_PKG_SHA256=0d5656a9f8ed1048936a5764270848b892d63f27bdb863d0ace447f1eaae6002
|
TERMUX_PKG_SHA256=274388d9c49e488b6c8502ffc6eb605d5ceae391fb0c2fc56dbb0254d0ceb27e
|
||||||
TERMUX_PKG_DEPENDS="libandroid-shmem, libc++, libcurl, openssl, zlib"
|
TERMUX_PKG_DEPENDS="libandroid-shmem, libc++, libcurl, openssl, zlib"
|
||||||
TERMUX_PKG_BUILD_IN_SRC=true
|
TERMUX_PKG_BUILD_IN_SRC=true
|
||||||
TERMUX_PKG_NO_STATICSPLIT=true
|
TERMUX_PKG_NO_STATICSPLIT=true
|
||||||
|
@ -24,3 +23,8 @@ termux_step_pre_configure() {
|
||||||
LDFLAGS+=" -landroid-shmem"
|
LDFLAGS+=" -landroid-shmem"
|
||||||
./_autosetup
|
./_autosetup
|
||||||
}
|
}
|
||||||
|
|
||||||
|
termux_step_post_make_install() {
|
||||||
|
mkdir -p "$TERMUX_PREFIX/share/bash-completion/completions"
|
||||||
|
install -m 644 "$TERMUX_PKG_SRCDIR/client/scripts/boinc.bash" "$TERMUX_PREFIX/share/bash-completion/completions/boinc"
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
diff -uNr boinc-client_release-7.14-7.14.3/client/Makefile.am boinc-client_release-7.14-7.14.3.mod/client/Makefile.am
|
diff -uNr boinc-client_release-7.18-7.18.1/client/Makefile.am boinc-client_release-7.18-7.18.1.mod/client/Makefile.am
|
||||||
--- boinc-client_release-7.14-7.14.3/client/Makefile.am 2020-03-10 01:47:48.000000000 +0000
|
--- boinc-client_release-7.18-7.18.1/client/Makefile.am 2021-08-03 23:52:19.000000000 +0800
|
||||||
+++ boinc-client_release-7.14-7.14.3.mod/client/Makefile.am 2020-03-20 10:52:41.680052794 +0000
|
+++ boinc-client_release-7.18-7.18.1.mod/client/Makefile.am 2021-12-27 20:14:51.115967152 +0800
|
||||||
@@ -133,12 +133,12 @@
|
@@ -25,7 +25,7 @@
|
||||||
|
endif
|
||||||
|
|
||||||
|
bin_PROGRAMS = boinc_client boinccmd boinc
|
||||||
|
-if !OS_WIN32
|
||||||
|
+if OS_DARWIN
|
||||||
|
bin_PROGRAMS += switcher
|
||||||
|
endif
|
||||||
|
|
||||||
|
@@ -139,12 +139,12 @@
|
||||||
|
|
||||||
boinc$(EXEEXT): boinc_client$(EXEEXT)
|
boinc$(EXEEXT): boinc_client$(EXEEXT)
|
||||||
rm -f boinc$(EXEEXT) .libs/boinc$(EXEEXT)
|
rm -f boinc$(EXEEXT) .libs/boinc$(EXEEXT)
|
|
@ -0,0 +1,82 @@
|
||||||
|
diff -uNr boinc-client_release-7.18-7.18.1/client/app_start.cpp boinc-client_release-7.18-7.18.1.mod/client/app_start.cpp
|
||||||
|
--- boinc-client_release-7.18-7.18.1/client/app_start.cpp 2021-08-03 23:52:19.000000000 +0800
|
||||||
|
+++ boinc-client_release-7.18-7.18.1.mod/client/app_start.cpp 2021-12-29 19:46:22.481460428 +0800
|
||||||
|
@@ -81,6 +81,10 @@
|
||||||
|
|
||||||
|
#include "app.h"
|
||||||
|
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+#include <stdlib.h> // getenv(), setenv(), unsetenv()
|
||||||
|
+char helper_path[] = "@TERMUX_PREFIX@/bin/proot";
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
// Dynamically link to these functions at runtime;
|
||||||
|
@@ -1129,6 +1133,49 @@
|
||||||
|
//
|
||||||
|
umask(2);
|
||||||
|
retval = execv(switcher_path, argv);
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+#if defined(__aarch64__) || defined(__arm__)
|
||||||
|
+ } else if (strstr(exec_name, "unknown-linux-gnu")) {
|
||||||
|
+#elif defined(__x86_64__) || defined(__i386__)
|
||||||
|
+ } else if (strstr(exec_name, "pc-linux-gnu")) {
|
||||||
|
+#endif
|
||||||
|
+ // experimental GNU/Linux tasks support via proot
|
||||||
|
+ argv[0] = helper_path;
|
||||||
|
+ argv[1] = buf;
|
||||||
|
+ parse_command_line(cmdline, argv+2);
|
||||||
|
+ // unsure this debug copied from above works or not
|
||||||
|
+ if (log_flags.task_debug) {
|
||||||
|
+ debug_print_argv(argv);
|
||||||
|
+ }
|
||||||
|
+ // backup and unset LD_PRELOAD var for proot
|
||||||
|
+ char *old_env = getenv("LD_PRELOAD");
|
||||||
|
+ unsetenv("LD_PRELOAD");
|
||||||
|
+ // helper_path must be valid and exists to work
|
||||||
|
+ retval = execv(helper_path, argv);
|
||||||
|
+ // set LD_PRELOAD var back
|
||||||
|
+ setenv("LD_PRELOAD", old_env, 1);
|
||||||
|
+ free(old_env);
|
||||||
|
+#if defined(__aarch64__)
|
||||||
|
+ } else if (strstr(exec_name, "arm-android-linux-gnu")) {
|
||||||
|
+#elif defined(__x86_64__)
|
||||||
|
+ } else if (strstr(exec_name, "x86-android-linux-gnu")) {
|
||||||
|
+#endif
|
||||||
|
+#if defined(__aarch64__) || defined(__x86_64__)
|
||||||
|
+ // fix Termux 32bit compatibility on 64bit devices
|
||||||
|
+ // should be no longer required as its fixed on
|
||||||
|
+ // termux-exec side, kept for references
|
||||||
|
+ // https://github.com/termux/termux-exec/pull/17
|
||||||
|
+ argv[0] = buf;
|
||||||
|
+ parse_command_line(cmdline, argv+1);
|
||||||
|
+ // backup and unset LD_PRELOAD var
|
||||||
|
+ char *old_env = getenv("LD_PRELOAD");
|
||||||
|
+ unsetenv("LD_PRELOAD");
|
||||||
|
+ retval = execv(buf, argv);
|
||||||
|
+ // set LD_PRELOAD var back
|
||||||
|
+ setenv("LD_PRELOAD", old_env, 1);
|
||||||
|
+ free(old_env);
|
||||||
|
+#endif
|
||||||
|
+#endif // __ANDROID__
|
||||||
|
} else {
|
||||||
|
argv[0] = buf;
|
||||||
|
parse_command_line(cmdline, argv+1);
|
||||||
|
@@ -1151,6 +1198,17 @@
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ // get debug info from client not from forked task
|
||||||
|
+#if defined(__aarch64__) || defined(__arm__)
|
||||||
|
+ if (strstr(exec_name, "unknown-linux-gnu")) {
|
||||||
|
+#elif defined(__x86_64__) || defined(__i386__)
|
||||||
|
+ if (strstr(exec_name, "pc-linux-gnu")) {
|
||||||
|
+#endif
|
||||||
|
+ msg_printf(NULL, MSG_INFO, "Helper: Running %s via %s\n", exec_name, helper_path);
|
||||||
|
+ }
|
||||||
|
+#endif // __ANDROID__
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
set_task_state(PROCESS_EXECUTING, "start");
|
||||||
|
return 0;
|
|
@ -0,0 +1,47 @@
|
||||||
|
diff -uNr boinc-client_release-7.18-7.18.1/client/hostinfo_network.cpp boinc-client_release-7.18-7.18.1.mod/client/hostinfo_network.cpp
|
||||||
|
--- boinc-client_release-7.18-7.18.1/client/hostinfo_network.cpp 2021-08-03 23:52:19.000000000 +0800
|
||||||
|
+++ boinc-client_release-7.18-7.18.1.mod/client/hostinfo_network.cpp 2021-12-29 18:50:29.025462827 +0800
|
||||||
|
@@ -44,6 +44,10 @@
|
||||||
|
#include <Carbon/Carbon.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+#include <sys/system_properties.h> // PROP_VALUE_MAX
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "error_numbers.h"
|
||||||
|
#include "file_names.h"
|
||||||
|
#include "mac_address.h"
|
||||||
|
@@ -58,17 +62,29 @@
|
||||||
|
#include "hostinfo.h"
|
||||||
|
|
||||||
|
// get domain name and IP address of this host
|
||||||
|
-// Android: if domain_name is empty, set it to android_xxxxxxxx
|
||||||
|
+// Android: if domain_name is empty, set it to "brand model xxxxxxxx"
|
||||||
|
+// else fallback to android_xxxxxxxx
|
||||||
|
//
|
||||||
|
int HOST_INFO::get_local_network_info() {
|
||||||
|
safe_strcpy(ip_addr, "");
|
||||||
|
|
||||||
|
-#ifdef ANDROID
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
if (strlen(domain_name) && strcmp(domain_name, "localhost")) return 0;
|
||||||
|
+ char android_brand[PROP_VALUE_MAX];
|
||||||
|
+ char android_model[PROP_VALUE_MAX];
|
||||||
|
char buf[256];
|
||||||
|
make_random_string("", buf);
|
||||||
|
buf[8] = 0;
|
||||||
|
- snprintf(domain_name, sizeof(domain_name), "android_%s", buf);
|
||||||
|
+ __system_property_get("ro.product.brand", android_brand);
|
||||||
|
+ __system_property_get("ro.product.model", android_model);
|
||||||
|
+ if (strlen(android_brand) && strlen(android_model)) {
|
||||||
|
+ snprintf(domain_name, sizeof(domain_name), "%s %s %s", android_brand, android_model, buf);
|
||||||
|
+ } else {
|
||||||
|
+ snprintf(domain_name, sizeof(domain_name), "android_%s", buf);
|
||||||
|
+ }
|
||||||
|
+ if (!cc_config.device_name.empty()) {
|
||||||
|
+ safe_strcpy(domain_name, cc_config.device_name.c_str());
|
||||||
|
+ }
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
diff -uNr boinc-client_release-7.18-7.18.1/client/hostinfo_unix.cpp boinc-client_release-7.18-7.18.1.mod/client/hostinfo_unix.cpp
|
||||||
|
--- boinc-client_release-7.18-7.18.1/client/hostinfo_unix.cpp 2021-08-03 23:52:19.000000000 +0800
|
||||||
|
+++ boinc-client_release-7.18-7.18.1.mod/client/hostinfo_unix.cpp 2021-12-29 17:16:37.153466855 +0800
|
||||||
|
@@ -1536,11 +1536,11 @@
|
||||||
|
#if HAVE_SYS_UTSNAME_H
|
||||||
|
struct utsname u;
|
||||||
|
uname(&u);
|
||||||
|
-#ifdef ANDROID
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
safe_strcpy(os_name, "Android");
|
||||||
|
#else
|
||||||
|
safe_strcpy(os_name, u.sysname);
|
||||||
|
-#endif //ANDROID
|
||||||
|
+#endif // __ANDROID__
|
||||||
|
#if defined(__EMX__) // OS2: version is in u.version
|
||||||
|
safe_strcpy(os_version, u.version);
|
||||||
|
#elif defined(__HAIKU__)
|
||||||
|
@@ -1698,7 +1698,7 @@
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} tty_patterns[] = {
|
||||||
|
-#if defined(LINUX_LIKE_SYSTEM) and !defined(ANDROID)
|
||||||
|
+#if defined(LINUX_LIKE_SYSTEM) and !defined(__ANDROID__)
|
||||||
|
{ "/dev", "tty",
|
||||||
|
{"ttyS", "ttyACM"},
|
||||||
|
},
|
|
@ -1,6 +1,6 @@
|
||||||
diff -uNr boinc-client_release-7.14-7.14.3/client/scripts/Makefile.am boinc-client_release-7.14-7.14.3.mod/client/scripts/Makefile.am
|
diff -uNr boinc-client_release-7.18-7.18.1/client/scripts/Makefile.am boinc-client_release-7.18-7.18.1.mod/client/scripts/Makefile.am
|
||||||
--- boinc-client_release-7.14-7.14.3/client/scripts/Makefile.am 2020-03-10 01:47:48.000000000 +0000
|
--- boinc-client_release-7.18-7.18.1/client/scripts/Makefile.am 2021-08-03 23:52:19.000000000 +0800
|
||||||
+++ boinc-client_release-7.14-7.14.3.mod/client/scripts/Makefile.am 2020-03-20 10:47:24.478829058 +0000
|
+++ boinc-client_release-7.18-7.18.1.mod/client/scripts/Makefile.am 2021-12-27 20:14:58.743967146 +0800
|
||||||
@@ -2,21 +2,21 @@
|
@@ -2,21 +2,21 @@
|
||||||
|
|
||||||
install-exec-hook:
|
install-exec-hook:
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -uNr boinc-client_release-7.18-7.18.1/configure.ac boinc-client_release-7.18-7.18.1.mod/configure.ac
|
||||||
|
--- boinc-client_release-7.18-7.18.1/configure.ac 2021-08-03 23:52:19.000000000 +0800
|
||||||
|
+++ boinc-client_release-7.18-7.18.1.mod/configure.ac 2021-12-27 20:13:32.143967208 +0800
|
||||||
|
@@ -1071,7 +1071,7 @@
|
||||||
|
AM_CONDITIONAL(OS_WIN32_MINGW, [echo $host_os | grep '^mingw' > /dev/null])
|
||||||
|
dnl or OS2
|
||||||
|
AM_CONDITIONAL(OS_OS2, [echo $host_os | grep '^os2' > /dev/null])
|
||||||
|
-AM_CONDITIONAL(OS_ARM_LINUX, [echo $host_alias | grep '^arm-linux' > /dev/null])
|
||||||
|
+AM_CONDITIONAL(OS_ARM_LINUX, [echo $host_alias | grep '^arm-linux-skip' > /dev/null])
|
||||||
|
AM_CONDITIONAL(OS_ARMV6_LINUX, [echo $host_alias | grep '^armv6-linux' > /dev/null])
|
||||||
|
AM_CONDITIONAL(ANDROID, [test x"${ANDROID}" = xyes])
|
||||||
|
AM_CONDITIONAL(BUILD_WITH_VCPKG, [test "${enable_vcpkg}" = yes])
|
|
@ -1,12 +0,0 @@
|
||||||
diff -uNr boinc-client_release-7.16-7.16.11/client/Makefile.am boinc-client_release-7.16-7.16.11.mod/client/Makefile.am
|
|
||||||
--- boinc-client_release-7.16-7.16.11/client/Makefile.am 2020-08-30 16:04:59.000000000 +0800
|
|
||||||
+++ boinc-client_release-7.16-7.16.11.mod/client/Makefile.am 2020-09-11 11:31:44.280000000 +0800
|
|
||||||
@@ -25,7 +23,7 @@
|
|
||||||
endif
|
|
||||||
|
|
||||||
bin_PROGRAMS = boinc_client boinccmd
|
|
||||||
-if !OS_WIN32
|
|
||||||
+if OS_DARWIN
|
|
||||||
bin_PROGRAMS += switcher
|
|
||||||
endif
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -uNr boinc-client_release-7.16-7.16.11/configure.ac boinc-client_release-7.16-7.16.11.mod/configure.ac
|
|
||||||
--- boinc-client_release-7.16-7.16.11/configure.ac 2020-08-30 16:04:59.000000000 +0800
|
|
||||||
+++ boinc-client_release-7.16-7.16.11.mod/configure.ac 2020-09-13 16:36:05.730000000 +0800
|
|
||||||
@@ -1051,7 +1051,7 @@
|
|
||||||
AM_CONDITIONAL(OS_WIN32_MINGW, [echo $host_os | grep '^mingw' > /dev/null])
|
|
||||||
dnl or OS2
|
|
||||||
AM_CONDITIONAL(OS_OS2, [echo $host_os | grep '^os2' > /dev/null])
|
|
||||||
-AM_CONDITIONAL(OS_ARM_LINUX, [echo $host_alias | grep '^arm-linux' > /dev/null])
|
|
||||||
+AM_CONDITIONAL(OS_ARM_LINUX, [echo $host_alias | grep '^arm-linux-skip' > /dev/null])
|
|
||||||
|
|
||||||
dnl Whether to build fcgi components
|
|
||||||
AM_CONDITIONAL(ENABLE_FCGI,[test "${enable_fcgi}" = yes])
|
|
|
@ -1,17 +0,0 @@
|
||||||
diff -uNr boinc-client_release-7.16-7.16.11/client/hostinfo_unix.cpp boinc-client_release-7.16-7.16.11.mod/client/hostinfo_unix.cpp
|
|
||||||
--- boinc-client_release-7.16-7.16.11/client/hostinfo_unix.cpp 2020-08-30 16:04:59.000000000 +0800
|
|
||||||
+++ boinc-client_release-7.16-7.16.11.mod/client/hostinfo_unix.cpp 2020-09-11 11:47:27.990000000 +0800
|
|
||||||
@@ -1414,11 +1414,11 @@
|
|
||||||
#if HAVE_SYS_UTSNAME_H
|
|
||||||
struct utsname u;
|
|
||||||
uname(&u);
|
|
||||||
-#ifdef ANDROID
|
|
||||||
+#ifdef __ANDROID__
|
|
||||||
safe_strcpy(os_name, "Android");
|
|
||||||
#else
|
|
||||||
safe_strcpy(os_name, u.sysname);
|
|
||||||
-#endif //ANDROID
|
|
||||||
+#endif // __ANDROID__
|
|
||||||
#if defined(__EMX__) // OS2: version is in u.version
|
|
||||||
safe_strcpy(os_version, u.version);
|
|
||||||
#elif defined(__HAIKU__)
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -uNr boinc-client_release-7.18-7.18.1/lib/gui_rpc_client.cpp boinc-client_release-7.18-7.18.1.mod/lib/gui_rpc_client.cpp
|
||||||
|
--- boinc-client_release-7.18-7.18.1/lib/gui_rpc_client.cpp 2021-08-03 23:52:19.000000000 +0800
|
||||||
|
+++ boinc-client_release-7.18-7.18.1.mod/lib/gui_rpc_client.cpp 2021-12-29 19:11:49.145461911 +0800
|
||||||
|
@@ -416,7 +416,7 @@
|
||||||
|
char msg_buf[1024];
|
||||||
|
FILE* f = fopen(GUI_RPC_PASSWD_FILE, "r");
|
||||||
|
if (!f) {
|
||||||
|
-#if defined(__linux__)
|
||||||
|
+#if defined(__linux__) && !defined(__ANDROID__)
|
||||||
|
#define HELP_URL "https://boinc.berkeley.edu/gui_rpc.php"
|
||||||
|
char path[MAXPATHLEN];
|
||||||
|
if (errno == EACCES) {
|
|
@ -1,6 +1,6 @@
|
||||||
diff -uNr boinc-client_release-7.16-7.16.6/lib/synch.cpp boinc-client_release-7.16-7.16.6.mod/lib/synch.cpp
|
diff -uNr boinc-client_release-7.18-7.18.1/lib/synch.cpp boinc-client_release-7.18-7.18.1.mod/lib/synch.cpp
|
||||||
--- boinc-client_release-7.16-7.16.6/lib/synch.cpp 2020-03-23 07:13:30.000000000 +0200
|
--- boinc-client_release-7.18-7.18.1/lib/synch.cpp 2021-08-03 23:52:19.000000000 +0800
|
||||||
+++ boinc-client_release-7.16-7.16.6.mod/lib/synch.cpp 2020-04-16 14:37:09.972107225 +0300
|
+++ boinc-client_release-7.18-7.18.1.mod/lib/synch.cpp 2021-12-27 20:14:42.835967158 +0800
|
||||||
@@ -18,7 +18,7 @@
|
@@ -18,7 +18,7 @@
|
||||||
|
|
||||||
// interfaces for accessing sempahores
|
// interfaces for accessing sempahores
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
diff -uNr boinc-client_release-7.16-7.16.11/client/app_start.cpp boinc-client_release-7.16-7.16.11.mod/client/app_start.cpp
|
|
||||||
--- boinc-client_release-7.16-7.16.11/client/app_start.cpp 2020-08-30 16:04:59.000000000 +0800
|
|
||||||
+++ boinc-client_release-7.16-7.16.11.mod/client/app_start.cpp 2020-09-13 21:35:44.960942100 +0800
|
|
||||||
@@ -94,6 +94,9 @@
|
|
||||||
|
|
||||||
#include "app.h"
|
|
||||||
|
|
||||||
+#ifdef __ANDROID__
|
|
||||||
+#include <stdlib.h> // getenv(), setenv(), unsetenv()
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
// Dynamically link to these functions at runtime;
|
|
||||||
@@ -1143,6 +1146,23 @@
|
|
||||||
//
|
|
||||||
umask(2);
|
|
||||||
retval = execv(switcher_path, argv);
|
|
||||||
+#ifdef __ANDROID__
|
|
||||||
+#if defined(__aarch64__)
|
|
||||||
+ } else if (strstr(exec_name, "arm-android-linux-gnu")) {
|
|
||||||
+#elif defined(__x86_64__)
|
|
||||||
+ } else if (strstr(exec_name, "x86-android-linux-gnu")) {
|
|
||||||
+#endif
|
|
||||||
+ // Fix Termux 32bit compatibility on 64bit devices
|
|
||||||
+ argv[0] = buf;
|
|
||||||
+ parse_command_line(cmdline, argv+1);
|
|
||||||
+ // backup and unset LD_PRELOAD var
|
|
||||||
+ char *old_env = getenv("LD_PRELOAD");
|
|
||||||
+ unsetenv("LD_PRELOAD");
|
|
||||||
+ retval = execv(buf, argv);
|
|
||||||
+ // set LD_PRELOAD var back
|
|
||||||
+ setenv("LD_PRELOAD", old_env, 1);
|
|
||||||
+ free(old_env);
|
|
||||||
+#endif // __ANDROID__
|
|
||||||
} else {
|
|
||||||
argv[0] = buf;
|
|
||||||
parse_command_line(cmdline, argv+1);
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -uNr boinc-client_release-7.18-7.18.1/version.h.in boinc-client_release-7.18-7.18.1.mod/version.h.in
|
||||||
|
--- boinc-client_release-7.18-7.18.1/version.h.in 2021-08-03 23:52:19.000000000 +0800
|
||||||
|
+++ boinc-client_release-7.18-7.18.1.mod/version.h.in 2021-12-29 21:29:50.585455988 +0800
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#define BOINC_VERSION_STRING "@BOINC_VERSION_STRING@"
|
||||||
|
|
||||||
|
/* Package is a pre-release (Alpha/Beta) package */
|
||||||
|
-#define BOINC_PRERELEASE 1
|
||||||
|
+//#define BOINC_PRERELEASE 1
|
||||||
|
|
||||||
|
#if (defined(_WIN32) || defined(__APPLE__))
|
||||||
|
/* Name of package */
|
Loading…
Reference in New Issue