diff --git a/packages/et/CMakeLists.txt.patch b/packages/et/CMakeLists.txt.patch deleted file mode 100644 index 03bdf12df..000000000 --- a/packages/et/CMakeLists.txt.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7f3f941..7c148ff 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -113,6 +113,8 @@ ELSEIF(NETBSD) - set(CORE_LIBRARIES util resolv execinfo) - ELSEIF(WIN32) - set(CORE_LIBRARIES Ws2_32 Shlwapi dbghelp) -+ELSEIF(ANDROID) -+ set(CORE_LIBRARIES util) - ELSE() - set(CORE_LIBRARIES util resolv) - ENDIF() -@@ -120,7 +122,11 @@ ENDIF() - MACRO(DECORATE_TARGET TARGET_NAME) - add_sanitizers(${TARGET_NAME}) - set_target_properties(${TARGET_NAME} PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "src/base/Headers.hpp") -- cotire(${TARGET_NAME}) -+ IF(ANDROID) -+ # Doesn't work when cross-compiling -+ ELSE() -+ cotire(${TARGET_NAME}) -+ ENDIF() - ENDMACRO() - - include_directories( -@@ -129,7 +131,6 @@ - external_imported/Catch2/single_include - external_imported/cxxopts/include - external_imported/msgpack-c/include -- external_imported/UniversalStacktrace/ust - src/base - src/terminal - src/terminal/forwarding diff --git a/packages/et/build.sh b/packages/et/build.sh index 7d50194a5..2b49e8261 100644 --- a/packages/et/build.sh +++ b/packages/et/build.sh @@ -2,13 +2,13 @@ TERMUX_PKG_HOMEPAGE=https://eternalterminal.dev TERMUX_PKG_DESCRIPTION="A remote shell that automatically reconnects without interrupting the session" TERMUX_PKG_LICENSE="Apache-2.0" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=6.0.13 -TERMUX_PKG_REVISION=3 -TERMUX_PKG_SRCURL=https://github.com/MisterTea/EternalTerminal/archive/et-v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=728c3a444d666897c710e33fe473d8d289263a59574451b13aa53ec3c6ac88b3 TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_AUTO_UPDATE_TAG_REGEXP="\d+\.\d+\.\d+" -TERMUX_PKG_DEPENDS="libc++, protobuf, libsodium" +TERMUX_PKG_VERSION=6.1.8 +TERMUX_PKG_SRCURL=https://github.com/MisterTea/EternalTerminal/archive/et-v${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=c82c62722d5e4db5b4596bcaafd4a4cf8c236968cb3782f791f5c38a62b10fb9 +TERMUX_PKG_DEPENDS="libc++, protobuf, libsodium, openssl" +TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DDISABLE_VCPKG=1" termux_step_pre_configure() { termux_setup_protobuf diff --git a/packages/et/src-base-Headers.hpp.patch b/packages/et/src-base-Headers.hpp.patch deleted file mode 100644 index 66d5f2f60..000000000 --- a/packages/et/src-base-Headers.hpp.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/src/base/Headers.hpp b/src/base/Headers.hpp -index 43a1903..405f51e 100644 ---- a/src/base/Headers.hpp -+++ b/src/base/Headers.hpp -@@ -85,7 +85,9 @@ inline int close(int fd) { return ::closesocket(fd); } - #include "easylogging++.h" - #include "json.hpp" - #include "sole.hpp" -+#if !defined(__ANDROID__) - #include "ust.hpp" -+#endif - - #ifdef WITH_UTEMPTER - #include -@@ -133,9 +135,15 @@ const int CLIENT_KEEP_ALIVE_DURATION = 5; - // allow enough time. - const int SERVER_KEEP_ALIVE_DURATION = 11; - -+#if defined(__ANDROID__) -+#define STFATAL LOG(FATAL) << "No Stack Trace on Android" << endl -+ -+#define STERROR LOG(ERROR) << "No Stack Trace on Android" << endl -+#else - #define STFATAL LOG(FATAL) << "Stack Trace: " << endl << ust::generate() - - #define STERROR LOG(ERROR) << "Stack Trace: " << endl << ust::generate() -+#endif - - #ifdef WIN32 - inline string WindowsErrnoToString() { diff --git a/packages/et/src-base-TcpSocketHandler.cpp.patch b/packages/et/src-base-TcpSocketHandler.cpp.patch deleted file mode 100644 index 60567d433..000000000 --- a/packages/et/src-base-TcpSocketHandler.cpp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/base/TcpSocketHandler.cpp b/src/base/TcpSocketHandler.cpp -index e94f1a2..f1f7b3b 100644 ---- a/src/base/TcpSocketHandler.cpp -+++ b/src/base/TcpSocketHandler.cpp -@@ -14,6 +14,8 @@ int TcpSocketHandler::connect(const SocketEndpoint &endpoint) { - hints.ai_socktype = SOCK_STREAM; - #if __NetBSD__ - hints.ai_flags = (AI_CANONNAME | AI_ADDRCONFIG); -+#elif defined(__ANDROID__) -+ hints.ai_flags = (AI_CANONNAME | AI_ADDRCONFIG); - #else - hints.ai_flags = (AI_CANONNAME | AI_V4MAPPED | AI_ADDRCONFIG | AI_ALL); - #endif diff --git a/packages/et/src-terminal-ParseConfigFile.hpp.patch b/packages/et/src-terminal-ParseConfigFile.hpp.patch deleted file mode 100644 index 35d60dc99..000000000 --- a/packages/et/src-terminal-ParseConfigFile.hpp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/terminal/ParseConfigFile.hpp b/src/terminal/ParseConfigFile.hpp -index 9b85468..acfa809 100644 ---- a/src/terminal/ParseConfigFile.hpp -+++ b/src/terminal/ParseConfigFile.hpp -@@ -34,6 +34,8 @@ - #include - #endif /* HAVE_SYS_TIME_H */ - -+#include "Headers.hpp" -+ - using namespace std; - - #define MAX_LINE_SIZE 1024 diff --git a/packages/et/src-terminal-TerminalServerMain.cpp.patch b/packages/et/src-terminal-TerminalServerMain.cpp.patch new file mode 100644 index 000000000..89e9bc139 --- /dev/null +++ b/packages/et/src-terminal-TerminalServerMain.cpp.patch @@ -0,0 +1,18 @@ +diff --git a/src/terminal/TerminalServerMain.cpp b/src/terminal/TerminalServerMain.cpp +index a8d59c6..23fa0ae 100644 +--- a/src/terminal/TerminalServerMain.cpp ++++ b/src/terminal/TerminalServerMain.cpp +@@ -28,11 +28,11 @@ int main(int argc, char **argv) { + ("logtostdout", "log to stdout") // + ("pidfile", "Location of the pid file", + cxxopts::value()->default_value( +- "/var/run/etserver.pid")) // ++ "@TERMUX_PREFIX@/var/run/etserver.pid")) // + ("v,verbose", "Enable verbose logging", + cxxopts::value()->default_value("0"), "LEVEL") // + ("serverfifo", +- "If set, listens on the matching fifo name", // ++ "If set, listens on the matching server fifo name", // + cxxopts::value()->default_value(ROUTER_FIFO_NAME)) // + ; + diff --git a/packages/et/temporaryDirectory.patch b/packages/et/temporaryDirectory.patch deleted file mode 100644 index fcb95a0f1..000000000 --- a/packages/et/temporaryDirectory.patch +++ /dev/null @@ -1,159 +0,0 @@ -diff --git a/src/base/Headers.hpp b/src/base/Headers.hpp -index e1cabeb..405f51e 100644 ---- a/src/base/Headers.hpp -+++ b/src/base/Headers.hpp -@@ -294,7 +294,7 @@ inline string GetTempDirectory() { - std::wstring_convert > converter; - std::string tmpDir = converter.to_bytes(wstring(buf, retval)); - #else -- string tmpDir = "/tmp"; -+ string tmpDir = _PATH_TMP; - #endif - return tmpDir; - } -diff --git a/src/htm/HtmClientMain.cpp b/src/htm/HtmClientMain.cpp -index 75599f3..1b7d226 100644 ---- a/src/htm/HtmClientMain.cpp -+++ b/src/htm/HtmClientMain.cpp -@@ -64,9 +64,9 @@ int main(int argc, char** argv) { - el::Loggers::setVerboseLevel(3); - // default max log file size is 20MB for etserver - string maxlogsize = "20971520"; -- LogHandler::setupLogFile(&defaultConf, "/tmp/htm.log", maxlogsize); -+ LogHandler::setupLogFile(&defaultConf, GetTempDirectory() + "htm.log", maxlogsize); - // Redirect std streams to a file -- LogHandler::stderrToFile("/tmp/htm"); -+ LogHandler::stderrToFile(GetTempDirectory() + "htm"); - - // Reconfigure default logger to apply settings above - el::Loggers::reconfigureLogger("default", defaultConf); -diff --git a/src/htm/HtmServer.cpp b/src/htm/HtmServer.cpp -index 0d96a06..ca4eba9 100644 ---- a/src/htm/HtmServer.cpp -+++ b/src/htm/HtmServer.cpp -@@ -176,6 +176,6 @@ void HtmServer::recover() { - - string HtmServer::getPipeName() { - uid_t myuid = getuid(); -- return string("/tmp/htm.") + to_string(myuid) + string(".ipc"); -+ return string(GetTempDirectory() + "htm.") + to_string(myuid) + string(".ipc"); - } - } // namespace et -diff --git a/src/htm/HtmServerMain.cpp b/src/htm/HtmServerMain.cpp -index e6ab21f..de57897 100644 ---- a/src/htm/HtmServerMain.cpp -+++ b/src/htm/HtmServerMain.cpp -@@ -18,9 +18,9 @@ int main(int argc, char **argv) { - el::Loggers::setVerboseLevel(3); - // default max log file size is 20MB for etserver - string maxlogsize = "20971520"; -- LogHandler::setupLogFile(&defaultConf, "/tmp/htmd.log", maxlogsize); -+ LogHandler::setupLogFile(&defaultConf, GetTempDirectory() + "htmd.log", maxlogsize); - // Redirect std streams to a file -- LogHandler::stderrToFile("/tmp/htmd"); -+ LogHandler::stderrToFile(GetTempDirectory() + "htmd"); - - // Reconfigure default logger to apply settings above - el::Loggers::reconfigureLogger("default", defaultConf); -diff --git a/src/terminal/TerminalMain.cpp b/src/terminal/TerminalMain.cpp -index e61f72c..0794516 100644 ---- a/src/terminal/TerminalMain.cpp -+++ b/src/terminal/TerminalMain.cpp -@@ -14,7 +14,7 @@ using namespace et; - void setDaemonLogFile(string idpasskey, string daemonType) { - string first_idpass_chars = idpasskey.substr(0, 10); - string logFile = -- string("/tmp/etterminal_") + daemonType + "_" + first_idpass_chars; -+ string(GetTempDirectory() + "etterminal_") + daemonType + "_" + first_idpass_chars; - } - - int main(int argc, char** argv) { -@@ -140,7 +140,7 @@ int main(int argc, char** argv) { - - // etserver with --jump cannot write to the default log file(root) - LogHandler::setupLogFile(&defaultConf, -- "/tmp/etjump-" + username + "-" + id + ".log", -+ GetTempDirectory() + "etjump-" + username + "-" + id + ".log", - maxlogsize); - // Reconfigure default logger to apply settings above - el::Loggers::reconfigureLogger("default", defaultConf); -@@ -173,7 +173,7 @@ int main(int argc, char** argv) { - - // etserver with --idpasskey cannot write to the default log file(root) - LogHandler::setupLogFile(&defaultConf, -- "/tmp/etterminal-" + username + "-" + id + ".log", -+ GetTempDirectory() + "etterminal-" + username + "-" + id + ".log", - maxlogsize); - // Reconfigure default logger to apply settings above - el::Loggers::reconfigureLogger("default", defaultConf); -diff --git a/src/terminal/TerminalServerMain.cpp b/src/terminal/TerminalServerMain.cpp -index a8d59c6..23fa0ae 100644 ---- a/src/terminal/TerminalServerMain.cpp -+++ b/src/terminal/TerminalServerMain.cpp -@@ -28,11 +28,11 @@ int main(int argc, char **argv) { - ("logtostdout", "log to stdout") // - ("pidfile", "Location of the pid file", - cxxopts::value()->default_value( -- "/var/run/etserver.pid")) // -+ "@TERMUX_PREFIX@/var/run/etserver.pid")) // - ("v,verbose", "Enable verbose logging", - cxxopts::value()->default_value("0"), "LEVEL") // - ("serverfifo", -- "If set, listens on the matching fifo name", // -+ "If set, listens on the matching server fifo name", // - cxxopts::value()->default_value(ROUTER_FIFO_NAME)) // - ; - -@@ -58,7 +58,7 @@ int main(int argc, char **argv) { - } else { - defaultConf.setGlobally(el::ConfigurationType::ToStandardOutput, "false"); - // Redirect std streams to a file -- LogHandler::stderrToFile("/tmp/etserver"); -+ LogHandler::stderrToFile(GetTempDirectory() + "etserver"); - } - - string serverFifo = ROUTER_FIFO_NAME; -@@ -89,7 +89,7 @@ int main(int argc, char **argv) { - - { - const char *fifoName = -- ini.GetValue("Debug", "serverfifo", ROUTER_FIFO_NAME); -+ ini.GetValue("Debug", "serverfifo", ROUTER_FIFO_NAME.c_str()); - if (fifoName) { - serverFifo = string(fifoName); - } -@@ -129,7 +129,7 @@ int main(int argc, char **argv) { - } - - // Set log file for etserver process here. -- LogHandler::setupLogFile(&defaultConf, "/tmp/etserver-%datetime.log", -+ LogHandler::setupLogFile(&defaultConf, GetTempDirectory() + "etserver-%datetime.log", - maxlogsize); - // Reconfigure default logger to apply settings above - el::Loggers::reconfigureLogger("default", defaultConf); -diff --git a/src/terminal/UserTerminalRouter.hpp b/src/terminal/UserTerminalRouter.hpp -index 511e207..40aa7f9 100644 ---- a/src/terminal/UserTerminalRouter.hpp -+++ b/src/terminal/UserTerminalRouter.hpp -@@ -6,7 +6,7 @@ - #include "PipeSocketHandler.hpp" - #include "ServerConnection.hpp" - --#define ROUTER_FIFO_NAME "/tmp/etserver.idpasskey.fifo" -+const string ROUTER_FIFO_NAME = GetTempDirectory() + "etserver.idpasskey.fifo"; - - namespace et { - class UserTerminalRouter { -diff --git a/src/terminal/forwarding/PortForwardHandler.cpp b/src/terminal/forwarding/PortForwardHandler.cpp -index f046a86..b2422c1 100644 ---- a/src/terminal/forwarding/PortForwardHandler.cpp -+++ b/src/terminal/forwarding/PortForwardHandler.cpp -@@ -45,7 +45,7 @@ PortForwardSourceResponse PortForwardHandler::createSource( - source = pfsr.source(); - } else { - // Make a random file to forward the pipe -- string sourcePattern = string("/tmp/et_forward_sock_XXXXXX"); -+ string sourcePattern = GetTempDirectory() + string("et_forward_sock_XXXXXX"); - string sourceDirectory = string(mkdtemp(&sourcePattern[0])); - FATAL_FAIL(::chmod(sourceDirectory.c_str(), S_IRUSR | S_IWUSR | S_IXUSR)); - FATAL_FAIL(::chown(sourceDirectory.c_str(), userid, groupid));