The package rpms/et.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/et.git/commit/?id=8ac66dfc00f4c23....
Change:
+%ifarch s390x
Thanks.
Full change:
============
commit 8ac66dfc00f4c2317d5c93eb7c3fe6acb61e4d43
Author: Michel Lind <salimma(a)fedoraproject.org>
Date: Tue Apr 30 18:31:48 2024 -0500
Update to 6.2.8 (rhbz#2162155)
- Temporarily rebundle catch2; the version in Fedora is too old
Signed-off-by: Michel Lind <salimma(a)fedoraproject.org>
diff --git a/et-cxxopts.patch b/et-cxxopts.patch
deleted file mode 100644
index 1413db3..0000000
--- a/et-cxxopts.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -Naur a/src/terminal/TerminalClientMain.cpp b/src/terminal/TerminalClientMain.cpp
---- a/src/terminal/TerminalClientMain.cpp 2022-05-05 08:20:44.000000000 -0700
-+++ b/src/terminal/TerminalClientMain.cpp 2023-10-17 12:09:20.150451063 -0700
-@@ -305,7 +305,7 @@
- sshSocket, keepaliveDuration);
- terminalClient.run(result.count("command") ?
result["command"].as<string>()
- : "");
-- } catch (cxxopts::OptionException& oe) {
-+ } catch (cxxopts::exceptions::option_has_no_value& oe) {
- CLOG(INFO, "stdout") << "Exception: " << oe.what()
<< "\n" << endl;
- CLOG(INFO, "stdout") << options.help({}) << endl;
- exit(1);
-diff -Naur a/src/terminal/TerminalMain.cpp b/src/terminal/TerminalMain.cpp
---- a/src/terminal/TerminalMain.cpp 2022-05-05 08:20:44.000000000 -0700
-+++ b/src/terminal/TerminalMain.cpp 2023-10-17 12:09:31.423533133 -0700
-@@ -205,7 +205,7 @@
- }
- uth.run();
-
-- } catch (cxxopts::OptionException& oe) {
-+ } catch (cxxopts::exceptions::option_has_no_value& oe) {
- CLOG(INFO, "stdout") << "Exception: " << oe.what()
<< "\n" << endl;
- CLOG(INFO, "stdout") << options.help({}) << endl;
- exit(1);
-diff -Naur a/src/terminal/TerminalServerMain.cpp b/src/terminal/TerminalServerMain.cpp
---- a/src/terminal/TerminalServerMain.cpp 2022-05-05 08:20:44.000000000 -0700
-+++ b/src/terminal/TerminalServerMain.cpp 2023-10-17 12:09:42.641614805 -0700
-@@ -195,7 +195,7 @@
- pipeSocketHandler, routerFifo);
- terminalServer.run();
-
-- } catch (cxxopts::OptionException &oe) {
-+ } catch (cxxopts::exceptions::option_has_no_value &oe) {
- CLOG(INFO, "stdout") << "Exception: " << oe.what()
<< "\n" << endl;
- CLOG(INFO, "stdout") << options.help({}) << endl;
- exit(1);
diff --git a/et-missing-include.patch b/et-missing-include.patch
deleted file mode 100644
index 7d1ec95..0000000
--- a/et-missing-include.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur
a/external_imported/sentry-native/external/breakpad/src/client/linux/handler/minidump_descriptor.h
b/external_imported/sentry-native/external/breakpad/src/client/linux/handler/minidump_descriptor.h
----
a/external_imported/sentry-native/external/breakpad/src/client/linux/handler/minidump_descriptor.h 2023-01-19
18:40:33.000000000 -0800
-+++
b/external_imported/sentry-native/external/breakpad/src/client/linux/handler/minidump_descriptor.h 2023-10-17
11:23:33.092578925 -0700
-@@ -33,6 +33,7 @@
- #include <assert.h>
- #include <sys/types.h>
-
-+#include <cstdint>
- #include <string>
-
- #include "client/linux/handler/microdump_extra_info.h"
diff --git a/et-unbundle-deps.diff b/et-unbundle-deps.diff
index ded514b..cc5b599 100644
--- a/et-unbundle-deps.diff
+++ b/et-unbundle-deps.diff
@@ -1,37 +1,55 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -100,6 +100,12 @@ find_package(Protobuf REQUIRED)
+@@ -106,7 +106,7 @@ find_package(Protobuf REQUIRED)
find_package(ZLIB REQUIRED)
find_package(Unwind)
-+find_package(cxxopts REQUIRED)
-+find_package(httplib REQUIRED)
+-if(DISABLE_VCPKG)
++if(DISABLE_VCPKG AND NOT USE_SYSTEM_PKGS)
+ add_subdirectory(${EXTERNAL_DIR}/Catch2)
+ add_subdirectory(${EXTERNAL_DIR}/cxxopts)
+ add_subdirectory(${EXTERNAL_DIR}/cpp-httplib)
+@@ -118,11 +118,29 @@ include_directories(
+ ${EXTERNAL_DIR}/cxxopts/include
+ )
+ else()
+-find_package(Catch2 CONFIG REQUIRED)
++if (NOT DISABLE_VCPKG)
++ find_package(Catch2 CONFIG REQUIRED)
++endif()
+ find_package(httplib CONFIG REQUIRED)
+ find_package(cxxopts CONFIG REQUIRED)
+ find_package(nlohmann_json CONFIG REQUIRED)
+-find_path(SIMPLEINI_INCLUDE_DIRS "ConvertUTF.c")
++endif()
+
-+find_package(PkgConfig REQUIRED)
-+pkg_check_modules(easyloggingpp REQUIRED easyloggingpp)
++if(USE_SYSTEM_PKGS)
++# Fedora's Catch2 is too old
++# nlohmann_json packaging is broken
++# simpleini system package does not ship ConvertUTF.{c,h}
++add_subdirectory(${EXTERNAL_DIR}/Catch2)
++include_directories(
++ ${EXTERNAL_DIR}/simpleini
++ ${INCLUDE_INSTALL_DIR}/nlohmann
++)
+
++get_cmake_property(_variableNames VARIABLES)
++list (SORT _variableNames)
++foreach (_variableName ${_variableNames})
++ message(STATUS "${_variableName}=${${_variableName}}")
++endforeach()
+ endif()
+
# Optional packages
- find_package(UTempter)
- if(LINUX)
-@@ -317,17 +323,14 @@ macro(DECORATE_FUZZER TARGET_NAME)
+@@ -353,7 +371,6 @@ macro(DECORATE_FUZZER TARGET_NAME)
endmacro()
include_directories(
- ${EXTERNAL_DIR}/easyloggingpp/src
- ${EXTERNAL_DIR}/ThreadPool
${EXTERNAL_DIR}/PlatformFolders
- ${EXTERNAL_DIR}/Catch2/single_include
-- ${EXTERNAL_DIR}/cxxopts/include
- ${EXTERNAL_DIR}/msgpack-c/include
- ${EXTERNAL_DIR}/json/single_include/nlohmann
+ ${EXTERNAL_DIR}/ThreadPool
${EXTERNAL_DIR}/sole
- ${EXTERNAL_DIR}/base64
- ${EXTERNAL_DIR}/simpleini
-- ${EXTERNAL_DIR}/cpp-httplib
- src/base
- src/terminal
- src/terminal/forwarding
-@@ -349,8 +352,8 @@ endif()
+@@ -381,8 +398,8 @@ endif()
add_library(
et-lib STATIC
diff --git a/et.spec b/et.spec
index ae74278..4535e27 100644
--- a/et.spec
+++ b/et.spec
@@ -1,21 +1,23 @@
-%if 0%{?el8} || 0%{?fc34}
+%bcond_without tests
+
+%if 0%{?el8}
%ifarch s390x
# ConnectionTest fails
-%bcond_with tests
+%bcond_with tests
+%endif
+%endif
+
+%ifarch s390x
# UniversalStackTrace fails with undefined references
-%bcond_with unwind
+%bcond_with unwind
%else
-%bcond_without tests
%bcond_without unwind
%endif
-%else
-%bcond_without tests
-%endif
%global _firewalld_dir %{_prefix}/lib/firewalld
Name: et
-Version: 6.2.1
+Version: 6.2.8
Release: %autorelease
Summary: Remote shell that survives IP roaming and disconnect
@@ -23,15 +25,12 @@ License: Apache-2.0
URL:
https://mistertea.github.io/EternalTerminal/
Source0:
https://github.com/MisterTea/EternalTerminal/archive/et-v%{version}.tar.gz
Source1: et.xml
-Patch0: et-missing-include.patch
-Patch1: et-cxxopts.patch
Patch2: et-unbundle-deps.diff
BuildRequires: boost-devel
BuildRequires: cmake3
BuildRequires: firewalld-filesystem
BuildRequires: gcc-c++
-BuildRequires: catch2-devel
# -static BR required for tracking of header-only libraries
BuildRequires: cpp-httplib-devel
BuildRequires: cpp-httplib-static
@@ -60,6 +59,9 @@ BuildRequires: systemd
# cat .gitmodules | grep submodule | sort
# for tarball, s/external/external_imported
Provides: bundled(base64) = 0
+# external_imported/catch2/meson.build
+# see rhbz#2278059 for upgrading the system Catch2
+Provides: bundled(catch2) = 3.3.2
# external_imported/cotire/CMake/cotire.cmake
Provides: bundled(cotire) = 1.8.0
# external/msgpack-c/include/msgpack/version_master.h
@@ -68,14 +70,17 @@ Provides: bundled(msgpack) = 3.3.0
Provides: bundled(PlatformFolders) = 4.0.0
# sanitizers-cmake is only used when building
%ifnarch ppc64le s390x
-Provides: bundled(sentry-native) = 0.4.7
+# external/sentry-native/include/sentry.h
+Provides: bundled(sentry-native) = 0.6.0
%endif
# external/simpleini/SimpleIni.h
+# can't use system simpleini - missing ConvertUTF.c
Provides: bundled(simpleini) = 4.17
#
https://github.com/r-lyeh-archived/sole
Provides: bundled(sole) = 1.0.1
Provides: bundled(ThreadPool) = 0
-Provides: bundled(UniversalStacktrace) = 0
+# external/UniversalStacktrace/CMakeLists.txt
+Provides: bundled(UniversalStacktrace) = 0.0.1
# vcpkg is disabled
%{?systemd_requires}
@@ -91,7 +96,8 @@ interrupting the session.
# %%setup -q -n EternalTerminal-et-v%%{version}
# Remove bundled Catch2 test framework
-rm -rf external_imported/Catch2
+# TODO: reenable after upgrading catch2 >= 3.3.2
+# rm -rf external_imported/Catch2
# Unbundle cpp-httplib
rm -rf external_imported/cpp-httplib
@@ -107,16 +113,17 @@ rm -rf external_imported/json
# both /usr/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake
# and /usr/share/pkgconfig/nlohmann_json.pc are wrong
# so we can't use find_package / pkg_check_module without further hacks anyway
-sed -r -i 's@\$\{.*\}/json/single_include/nlohmann@%{_includedir}/nlohmann(a)' \
- CMakeLists.txt
+#sed -r -i 's@\$\{.*\}/json/include@%{_includedir}/nlohmann(a)' \
+# CMakeLists.txt
%build
%cmake \
%ifarch ppc64le s390x
- -DDISABLE_SENTRY=TRUE \
+ -DDISABLE_SENTRY:BOOL=TRUE \
%endif
- -DDISABLE_VCPKG=TRUE
+ -DDISABLE_VCPKG:BOOL=TRUE \
+ -DUSE_SYSTEM_PKGS:BOOL=TRUE
%cmake_build
diff --git a/sources b/sources
index c81ec7a..44f0dfd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (et-v6.2.1.tar.gz) =
c1a5cdbdaf9212e966578bb7e871f041a9d1997f5ede6f5ca9d13c10233131c195ec7260906d77a63b51e50e9613fb7771740896e2a253497c7819eecbd2ddce
+SHA512 (et-v6.2.8.tar.gz) =
0ec06dee3d51e89eb7c03ba062cb771dca228ad06685104361c5e3cc7239a91d67530c95c686c4ede41584ad0f894aa35013499bd3a051b8da7bd0303d4fa9ae