From 82e61bed8208857d5d13c384c89086c4dd4e1e79 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 4 Aug 2022 22:35:54 +0200 Subject: [PATCH] package/pistache: enable on uClibc pistache couldn't build on uClibc due to just one missing definition. In addition, the Config.in comment was wrong as it said that a glibc toolchain was needed, while in fact it could be glibc or musl. Cc: Thomas Ruschival Cc: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni Signed-off-by: Yann E. MORIN --- ...port.cc-fallback-value-for-RUSAGE_TH.patch | 33 +++++++++++++++++++ package/pistache/Config.in | 4 +-- 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch diff --git a/package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch b/package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch new file mode 100644 index 0000000000..327933e26d --- /dev/null +++ b/package/pistache/0001-src-common-transport.cc-fallback-value-for-RUSAGE_TH.patch @@ -0,0 +1,33 @@ +From 5feed6d2f86750bfe1e7c26d6fd4e8d2195ea81f Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 4 Aug 2022 19:54:23 +0200 +Subject: [PATCH] src/common/transport.cc: fallback value for RUSAGE_THREAD + +uClibc-ng currently does not define RUSAGE_THREAD, so let's add a +fallback value until it gets fixed in uClibc-ng. The value is the same +on all Linux systems, regardless of the CPU architecture. + +Signed-off-by: Thomas Petazzoni +Upstream bug: https://mailman.openadk.org/mailman3/hyperkitty/list/devel@uclibc-ng.org/thread/MEXOUSFSH46UFS3AEMEIEPTL5U4HVEFL/ +--- + src/common/transport.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/common/transport.cc b/src/common/transport.cc +index 62efb8c..0f3abb0 100644 +--- a/src/common/transport.cc ++++ b/src/common/transport.cc +@@ -515,6 +515,10 @@ namespace Pistache::Tcp + + rusage now; + ++#if !defined(RUSAGE_THREAD) ++#define RUSAGE_THREAD 1 ++#endif ++ + auto res = getrusage(RUSAGE_THREAD, &now); + if (res == -1) + loadRequest_.reject(std::runtime_error("Could not compute usage")); +-- +2.37.1 + diff --git a/package/pistache/Config.in b/package/pistache/Config.in index 53a4b73a58..3acf1f53f0 100644 --- a/package/pistache/Config.in +++ b/package/pistache/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_PISTACHE depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP - depends on !BR2_TOOLCHAIN_USES_UCLIBC depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_27597 select BR2_PACKAGE_RAPIDJSON help @@ -14,9 +13,8 @@ config BR2_PACKAGE_PISTACHE https://github.com/oktal/pistache -comment "pistache needs a glibc toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597" +comment "pistache needs a toolchain w/ C++, gcc >= 7, threads, wchar, not binutils bug 27597" depends on !BR2_INSTALL_LIBSTDCPP || \ - BR2_TOOLCHAIN_USES_UCLIBC || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || \