From d4e052c45eebe28ae90a0db121b91a3ce2e5f701 Mon Sep 17 00:00:00 2001 From: Peter Marko Date: Thu, 16 Apr 2026 23:59:20 +0200 Subject: [PATCH] poco: upgrade 1.15.1 -> 1.15.2 Remove explicit libatomic code from recipe as upstream has implemented it in cmake. Tested build with all 4 qemu machines. Release notes [1]: Release 1.15.2 (2026-04-16) =========================== Summary of Changes: This release focuses on security hardening and bug fixes. Key changes include TLS 1.3 support for NetSSL_Win, building Crypto and NetSSL with OPENSSL_NO_DEPRECATED, removal of deprecated non-EVP OpenSSL code (breaking change), significant multipart parsing performance improvements, Prometheus thread/CPU metrics, GNU Hurd platform support, and numerous bug fixes across networking, cryptography, and data handling. All bundled third-party libraries have been updated to their latest releases. Breaking Changes: - GH #4602 OpenSSL: Remove deprecated non EVP code Security Fixes: - PR #5306 chore(dependencies): refresh bundled third-party libraries - GH #5296 Crypto and NetSSL_OpenSSL should build with OPENSSL_NO_DEPRECATED defined - GH #5278 NetSSL_Win does not support TLS 1.3 Bundled Third-Party Library Upgrades: - libpng 1.6.55 -> 1.6.57 - security fixes - libharu (hpdf) 2.4.5 -> 2.4.6 - security (TTF fixes) + memory alloc / Windows build fixes - SQLite 3.51.2 -> 3.53.0 - WAL-reset database corruption fix, query planner improvements - Quill 11.0.2 -> 11.1.0 - thread-local context fix, nullptr checks, backend poll hooks Features and Enhancements: - PR #5305 enh(Foundation): auto-disable FastLogger on unsupported platforms - PR #5303 enh: bump macOS deployment target to 15.0 (Sequoia) - PR #5300 chore(PropertyConfigurationFile): use '=' as default separator - PR #5298 Foundation: Fix sign-compare warnings in StreamConverter - PR #5294 Link with atomic library on architectures that need it - GH #5292 enh: reduce binary size growth since 1.14.2 - GH #5291 Component Install Support - PR #5286 fix(cmake,DNSSD): build fixes and cmake dependency resolution - GH #5280 Remove WinDriver.cpp files - GH #5275 Prometheus: add memory and thread metrics - GH #5266 PropertyFileConfiguration: add include file capability - GH #5250 Poco::Net::Context::addCertificateAuthority() could include a call to SSL_CTX_load_verify_locations() - GH #4846 NetSSL/Crypto: Replace deprecated OpenSSL features Bug Fixes and Improvements: - PR #5309 fix(Redis,XML,CppParser): replace dynamic_cast with static_cast for hidden visibility - GH #5308 Net: SocketProactor reports success on TCP write after non-blocking connect refusal - PR #5304 fix(MongoDB): suppress false topology change notifications on heartbeat - PR #5293 Port library to GNU Hurd - GH #5288 Fuzzing Issue in MailMessage - GH #5287 Fuzzing Issue in DateTime - PR #5284 fix(Redis): use shared_ptr for NotificationCenter, harden AsyncNotificationCenter::stop() - PR #5283 fix(ApacheConnector,Foundation): fix compile warnings with GCC 15 - GH #5269 Pipe close deadlocks on - PR #5264 fix(Data): Robust date/time parsing in SQLite/PostgreSQL extractor - GH #5263 X509Certificate validFrom method throws exception for timestamps ending with Z - GH #4883 SecureSocketImpl::shutdown() regression since 1.14.0 - GH #4772 InvalidCertificateHandler onInvalidCertificate wrong exception - GH #4118 Poco Multipart parsing is 10x slower than its Boost/beat or restinio equivalent - GH #1097 Process::isRunning returns true for defunct tagged process [1] https://github.com/pocoproject/poco/blob/poco-1.15.2-release/CHANGELOG Signed-off-by: Peter Marko Signed-off-by: Khem Raj --- .../0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch | 2 +- .../poco/{poco_1.15.1.bb => poco_1.15.2.bb} | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) rename meta-oe/recipes-support/poco/{poco_1.15.1.bb => poco_1.15.2.bb} (92%) diff --git a/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch index 734b65efa2..293321bfa8 100644 --- a/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch +++ b/meta-oe/recipes-support/poco/poco/0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch @@ -22,7 +22,7 @@ diff --git a/dependencies/quill/include/quill/core/Rdtsc.h b/dependencies/quill/ index 3d0ae9f26..67f26cb89 100644 --- a/dependencies/quill/include/quill/core/Rdtsc.h +++ b/dependencies/quill/include/quill/core/Rdtsc.h -@@ -100,7 +100,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept +@@ -95,7 +95,7 @@ QUILL_NODISCARD QUILL_ATTRIBUTE_HOT inline uint64_t rdtsc() noexcept __asm__ volatile("stck %0" : "=Q"(tsc) : : "cc"); return tsc; } diff --git a/meta-oe/recipes-support/poco/poco_1.15.1.bb b/meta-oe/recipes-support/poco/poco_1.15.2.bb similarity index 92% rename from meta-oe/recipes-support/poco/poco_1.15.1.bb rename to meta-oe/recipes-support/poco/poco_1.15.2.bb index b50d1ee4ec..5a873a1d85 100644 --- a/meta-oe/recipes-support/poco/poco_1.15.1.bb +++ b/meta-oe/recipes-support/poco/poco_1.15.2.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-${PV};protocol=http file://0003-quill-rdtsc-fallback-for-32-bit-powerpc.patch \ file://run-ptest \ " -SRCREV = "a1aacbba1bda4301db01bb1a2c2ab80677756b90" +SRCREV = "afbb1ab68f29eec7079e2fdfa04b3efdbec6529d" UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P\d+(\.\d+)+)" @@ -76,11 +76,6 @@ EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF" # do not use rpath EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON" -LDFLAGS:append:riscv32 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" -LDFLAGS:append:mips = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" -LDFLAGS:append:powerpc = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" -LDFLAGS:append:x86 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}" - python populate_packages:prepend () { poco_libdir = d.expand('${libdir}') pn = d.getVar("PN")