Re: [meta-oe][PATCH] poco: upgrade 1.11.3 -> 1.12.0


Andrej Valek
 

Thanks,

To be honest, I didn't test it on this architecture. It's fine, that
you've fixed it already
https://github.com/openembedded/meta-openembedded/commit/c7415233074c467f12d7100635499a3e1c50fb7c
.

Btw, new Ppoco version (1.12.1) have been released, but it has only 2
fixes, which we have patched already.

Regards,
Andrej

On Fri, 2022-07-15 at 12:53 -0400, Khem Raj wrote:
it needs to link to libatomic on rv32 see

https://errors.yoctoproject.org/Errors/Details/660351/

On Wed, Jul 13, 2022 at 8:30 AM Andrej Valek <andrej.valek@...>
wrote:

 - switch from PCRE -> PCRE2
 - add Prometheus library
 - add option to enable/disable ActiveRecord (disabled by default)

Signed-off-by: Andrej Valek <andrej.valek@...>
---
 .../0001-fix-unbundled-PCRE2-dependency.patch | 25 +++++++++++++
 ...0002-remove-providers-unitialization.patch | 35
+++++++++++++++++++
 .../poco/{poco_1.11.3.bb => poco_1.12.0.bb}   | 11 ++++--
 3 files changed, 68 insertions(+), 3 deletions(-)
 create mode 100644 meta-oe/recipes-support/poco/poco/0001-fix-
unbundled-PCRE2-dependency.patch
 create mode 100644 meta-oe/recipes-support/poco/poco/0002-remove-
providers-unitialization.patch
 rename meta-oe/recipes-support/poco/{poco_1.11.3.bb =>
poco_1.12.0.bb} (89%)

diff --git a/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-
PCRE2-dependency.patch b/meta-oe/recipes-support/poco/poco/0001-fix-
unbundled-PCRE2-dependency.patch
new file mode 100644
index 000000000..1a9d23cee
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0001-fix-unbundled-PCRE2-
dependency.patch
@@ -0,0 +1,25 @@
+From f049898c8bf058ed187de8e5fab20abeaab1f3b6 Mon Sep 17 00:00:00
2001
+From: Alex Fabijanic <alex@...>
+Date: Sat, 9 Jul 2022 19:13:04 +0200
+Subject: [PATCH] fix(cmake): PocoFoundationConfig.cmake should now
check for
+ PCRE2 #3677
+
+Upstream-Status: Backport
[https://github.com/pocoproject/poco/issues/3677]
+
+---
+ Foundation/cmake/PocoFoundationConfig.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Foundation/cmake/PocoFoundationConfig.cmake
b/Foundation/cmake/PocoFoundationConfig.cmake
+index 46c2d3fc00..82c5788940 100644
+--- a/Foundation/cmake/PocoFoundationConfig.cmake
++++ b/Foundation/cmake/PocoFoundationConfig.cmake
+@@ -2,7 +2,7 @@ if(@POCO_UNBUNDLED@)
+       include(CMakeFindDependencyMacro)
+       list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
+       find_dependency(ZLIB REQUIRED)
+-      find_dependency(PCRE REQUIRED)
++      find_dependency(PCRE2 REQUIRED)
+ endif()
+
+ include("${CMAKE_CURRENT_LIST_DIR}/PocoFoundationTargets.cmake")
diff --git a/meta-oe/recipes-support/poco/poco/0002-remove-providers-
unitialization.patch b/meta-oe/recipes-support/poco/poco/0002-remove-
providers-unitialization.patch
new file mode 100644
index 000000000..7d24b79f1
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0002-remove-providers-
unitialization.patch
@@ -0,0 +1,35 @@
+From c976c32e5249cb8a2433e7abfa095c1fe8dc4f8e Mon Sep 17 00:00:00
2001
+From: Alex Fabijanic <alex@...>
+Date: Wed, 13 Jul 2022 12:53:52 +0200
+Subject: [PATCH] fix(OpenSSLInitializer): remove providers
unitialization
+ #3562 #3567
+
+Upstream-Status: Backport
[https://github.com/pocoproject/poco/issues/3562]
+
+---
+ Crypto/src/OpenSSLInitializer.cpp | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/Crypto/src/OpenSSLInitializer.cpp
b/Crypto/src/OpenSSLInitializer.cpp
+index 4678d22299..c537c3f9c2 100644
+--- a/Crypto/src/OpenSSLInitializer.cpp
++++ b/Crypto/src/OpenSSLInitializer.cpp
+@@ -157,18 +157,6 @@ void OpenSSLInitializer::uninitialize()
+ #endif
+               delete [] _mutexes;
+ #endif
+-
+-#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+-              OSSL_PROVIDER* provider = nullptr;
+-              if ((provider = _defaultProvider.exchange(nullptr)))
+-              {
+-                      OSSL_PROVIDER_unload(provider);
+-              }
+-              if ((provider = _legacyProvider.exchange(nullptr)))
+-              {
+-                      OSSL_PROVIDER_unload(provider);
+-              }
+-#endif
+       }
+ }
+
diff --git a/meta-oe/recipes-support/poco/poco_1.11.3.bb b/meta-
oe/recipes-support/poco/poco_1.12.0.bb
similarity index 89%
rename from meta-oe/recipes-support/poco/poco_1.11.3.bb
rename to meta-oe/recipes-support/poco/poco_1.12.0.bb
index 757fa8983..6fff0707d 100644
--- a/meta-oe/recipes-support/poco/poco_1.11.3.bb
+++ b/meta-oe/recipes-support/poco/poco_1.12.0.bb
@@ -6,13 +6,15 @@ LICENSE = "BSL-1.0"
 LIC_FILES_CHKSUM =
"file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"

 # These dependencies are required by Foundation
-DEPENDS = "libpcre zlib"
+DEPENDS = "libpcre2 zlib"

 SRC_URI = " \
    
git://github.com/pocoproject/poco.git;branch=master;protocol=https \
+    file://0001-fix-unbundled-PCRE2-dependency.patch \
+    file://0002-remove-providers-unitialization.patch \
     file://run-ptest \
    "
-SRCREV = "191cbdc97e1d9de023b8a65e0dc844911c06f6a8"
+SRCREV = "4ba8595ed83841d1fa240716b5652adc3772c36b"

 UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"

@@ -23,7 +25,7 @@ inherit cmake ptest
 # By default the most commonly used poco components are built
 # Foundation is built anyway and doesn't need to be listed
explicitly
 # these don't have dependencies outside oe-core
-PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto JWT
Data DataSQLite Zip Encodings Redis"
+PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto JWT
Data DataSQLite Zip Encodings Redis Prometheus"

 PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
 PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
@@ -39,6 +41,7 @@ PACKAGECONFIG[DataSQLite] = "-
DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sq
 PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
 PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-
DENABLE_ENCODINGS=OFF"
 PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF"
+PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-
DENABLE_PROMETHEUS=OFF"

 # Additional components not build by default,
 # they might have dependencies not included in oe-core
@@ -47,6 +50,8 @@ PACKAGECONFIG[mod_poco] = "-
DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=
 PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-
DENABLE_CPPPARSER=OFF"
 PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -
DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
 PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-
DENABLE_DATA_ODBC=OFF,libiodbc"
+PACKAGECONFIG[ActiveRecord] = "-DENABLE_ACTIVERECORD=ON,-
DENABLE_ACTIVERECORD=OFF"
+PACKAGECONFIG[ActiveRecordCompiler] = "-
DENABLE_ACTIVERECORD_COMPILER=ON,-DENABLE_ACTIVERECORD_COMPILER=OFF"
 PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-
DENABLE_PAGECOMPILER=OFF"
 PACKAGECONFIG[PageCompilerFile2Page] = "-
DENABLE_PAGECOMPILER_FILE2PAGE=ON,-
DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
 PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-
DENABLE_SEVENZIP=OFF"
--
2.34.3



Join openembedded-devel@lists.openembedded.org to automatically receive all group messages.