aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/poco
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/poco')
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch31
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch60
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch66
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch28
-rw-r--r--meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch32
-rw-r--r--meta-oe/recipes-support/poco/poco/run-ptest20
-rw-r--r--meta-oe/recipes-support/poco/poco_1.12.5p2.bb (renamed from meta-oe/recipes-support/poco/poco_1.9.4.bb)70
7 files changed, 217 insertions, 90 deletions
diff --git a/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch b/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch
deleted file mode 100644
index f4a358f47f..0000000000
--- a/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From fa079dfc5e1d22ea35762bf4c5b09999bdc5e731 Mon Sep 17 00:00:00 2001
-From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
-Date: Wed, 22 Aug 2018 21:42:09 +0200
-Subject: [PATCH] Don't try to install non existing Encodings/testsuite/data
-
-Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/2437]
----
- Encodings/testsuite/CMakeLists.txt | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/Encodings/testsuite/CMakeLists.txt b/Encodings/testsuite/CMakeLists.txt
-index 7508e5522..79495ae02 100644
---- a/Encodings/testsuite/CMakeLists.txt
-+++ b/Encodings/testsuite/CMakeLists.txt
-@@ -19,12 +19,9 @@ POCO_SOURCES_AUTO_PLAT( TEST_SRCS WINCE
- add_executable( ${TESTUNIT} ${TEST_SRCS} )
- if(ANDROID)
- add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-- COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/data;" -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/${TESTUNIT} -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
-+ COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/Encodings-testrunner -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
- else()
- add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${TESTUNIT} -all)
-- # The test is run in the build directory. So the test data is copied there too
-- add_custom_command(TARGET ${TESTUNIT} POST_BUILD
-- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR}/data )
- endif()
- #set_target_properties( ${TESTUNIT} PROPERTIES COMPILE_FLAGS ${RELEASE_CXX_FLAGS} )
- target_link_libraries( ${TESTUNIT} PocoEncodings PocoFoundation CppUnit )
---
-2.18.0
-
diff --git a/meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch b/meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch
new file mode 100644
index 0000000000..b06135222a
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch
@@ -0,0 +1,60 @@
+From 4cbb225811205b51b65371d0d8abc2d2af8233b6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 14:56:36 -0800
+Subject: [PATCH] Use std::atomic<int> instead of std::atomic<bool>
+
+GCC on RISCV does not yet support inline subword atomics [1]
+Therefore avoid them until fixed
+
+Upstream-Status: Pending
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104338
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Foundation/include/Poco/AsyncChannel.h | 2 +-
+ Foundation/src/AsyncChannel.cpp | 5 ++---
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Foundation/include/Poco/AsyncChannel.h b/Foundation/include/Poco/AsyncChannel.h
+index 190bae7dd..d73ea6c72 100644
+--- a/Foundation/include/Poco/AsyncChannel.h
++++ b/Foundation/include/Poco/AsyncChannel.h
+@@ -111,7 +111,7 @@ private:
+ NotificationQueue _queue;
+ std::size_t _queueSize = 0;
+ std::size_t _dropCount = 0;
+- std::atomic<bool> _closed;
++ std::atomic<int> _closed;
+ };
+
+
+diff --git a/Foundation/src/AsyncChannel.cpp b/Foundation/src/AsyncChannel.cpp
+index 37cdec477..e829b180c 100644
+--- a/Foundation/src/AsyncChannel.cpp
++++ b/Foundation/src/AsyncChannel.cpp
+@@ -48,11 +48,10 @@ private:
+ Message _msg;
+ };
+
+-
+ AsyncChannel::AsyncChannel(Channel::Ptr pChannel, Thread::Priority prio):
+ _pChannel(pChannel),
+ _thread("AsyncChannel"),
+- _closed(false)
++ _closed(0)
+ {
+ _thread.setPriority(prio);
+ }
+@@ -95,7 +94,7 @@ void AsyncChannel::open()
+
+ void AsyncChannel::close()
+ {
+- if (!_closed.exchange(true))
++ if (!_closed.exchange(1))
+ {
+ if (_thread.isRunning())
+ {
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch b/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch
new file mode 100644
index 0000000000..f70e8bcc74
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch
@@ -0,0 +1,66 @@
+From 879ddb725823c78c9510cfd39786adb16f3726c8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Sep 2023 19:52:56 -0700
+Subject: [PATCH] cppignore.lnx: Ignore PKCS12 and testLaunch test
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These tests fail on Linux
+
+There were 4 failures:
+ 1: N7CppUnit10TestCallerI11ProcessTestEE.testLaunch
+ "rc == 3"
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 79
+ 2: N7CppUnit10TestCallerI11ProcessTestEE.testLaunchRedirectIn
+ "rc == 100"
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 106
+ 3: N7CppUnit10TestCallerI11ProcessTestEE.testLaunchRedirectOut
+ "s == "Hello, world!""
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 134
+ 4: N7CppUnit10TestCallerI11ProcessTestEE.testLaunchEnv
+ "s == "test""
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 166
+
+ There were 4 errors:-
+ 1: N7CppUnit10TestCallerI7EVPTestEE.testRSAEVPKeyFromPKCS12
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+ 2: N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testFullPKCS12
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+ 3: N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testCertsOnlyPKCS12
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+ 4: N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testPEMReadWrite
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
+---
+ cppignore.lnx | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/cppignore.lnx b/cppignore.lnx
+index 2c2376526..65df4af08 100644
+--- a/cppignore.lnx
++++ b/cppignore.lnx
+@@ -28,3 +28,12 @@ CppUnit::TestCaller<HTTPSClientSessionTest>.testProxy
+ CppUnit::TestCaller<HTTPSStreamFactoryTest>.testProxy
+ CppUnit::TestCaller<DNSTest>.testHostByAddress
+ CppUnit::TestCaller<DNSTest>.testHostByName
++CppUnit::TestCaller<ProcessTest>.testLaunch
++CppUnit::TestCaller<ProcessTest>.testLaunchRedirectIn
++CppUnit::TestCaller<ProcessTest>.testLaunchRedirectOut
++CppUnit::TestCaller<ProcessTest>.testLaunchEnv
++CppUnit::TestCaller<EVPTest>.testRSAEVPKeyFromPKCS12
++CppUnit::TestCaller<PKCS12ContainerTest>.testFullPKCS12
++CppUnit::TestCaller<PKCS12ContainerTest>.testCertsOnlyPKCS12
++CppUnit::TestCaller<PKCS12ContainerTest>.testPEMReadWrite
++CppUnit::TestCaller<MongoDBTest>.testArray
diff --git a/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch b/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch
deleted file mode 100644
index c0de32dafe..0000000000
--- a/meta-oe/recipes-support/poco/poco/0001-riscv-Enable-double-operations-when-using-double-flo.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 589a5442a841b156a1890bc2d26e7a5103e2f672 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 1 Nov 2019 17:53:50 -0700
-Subject: [PATCH] riscv: Enable double operations when using double float abi
-
-Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/2825]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Foundation/src/utils.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h
-index 69cea1aca..ff7a5c9ce 100644
---- a/Foundation/src/utils.h
-+++ b/Foundation/src/utils.h
-@@ -63,7 +63,8 @@
- defined(__SH4__) || defined(__alpha__) || \
- defined(_MIPS_ARCH_MIPS32R2) || \
- defined(__AARCH64EL__) || \
-- defined(nios2) || defined(__nios2) || defined(__nios2__)
-+ defined(nios2) || defined(__nios2) || defined(__nios2__) || \
-+ (defined(__riscv) && defined(__riscv_float_abi_double))
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
- #if defined(_WIN32)
---
-2.23.0
-
diff --git a/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch b/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch
new file mode 100644
index 0000000000..427cb9723a
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch
@@ -0,0 +1,32 @@
+From e54478c936493c0ed87e875f04127bd13642de44 Mon Sep 17 00:00:00 2001
+From: tyler92 <tyler92@inbox.ru>
+Date: Tue, 21 Nov 2023 05:07:24 +0300
+Subject: [PATCH] fix(build): Install cmake files with resolved ENABLE_JSON and
+ ENABLE_XML (#4227)
+
+Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/4227]
+Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
+
+---
+ Util/cmake/PocoUtilConfig.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Util/cmake/PocoUtilConfig.cmake b/Util/cmake/PocoUtilConfig.cmake
+index 90c1eab1c..8186435e1 100644
+--- a/Util/cmake/PocoUtilConfig.cmake
++++ b/Util/cmake/PocoUtilConfig.cmake
+@@ -1,9 +1,9 @@
+ include(CMakeFindDependencyMacro)
+ find_dependency(PocoFoundation)
+-if(ENABLE_XML)
++if(@ENABLE_XML@)
+ find_dependency(PocoXML)
+ endif()
+-if(ENABLE_JSON)
++if(@ENABLE_JSON@)
+ find_dependency(PocoJSON)
+ endif()
+ include("${CMAKE_CURRENT_LIST_DIR}/PocoUtilTargets.cmake")
+--
+2.43.0
+
diff --git a/meta-oe/recipes-support/poco/poco/run-ptest b/meta-oe/recipes-support/poco/poco/run-ptest
index c479f7ac10..c8e50fc967 100644
--- a/meta-oe/recipes-support/poco/poco/run-ptest
+++ b/meta-oe/recipes-support/poco/poco/run-ptest
@@ -1,9 +1,21 @@
#!/bin/sh
+export POCO_BASE=/usr/lib/poco/ptest
+export LD_LIBRARY_PATH=${POCO_BASE}/bin:${LD_LIBRARY_PATH}
+i=0
while read runner; do
- pushd . >/dev/null
+ oldpath=`pwd` >/dev/null
cd bin
echo Testing $runner
- ./$runner-testrunner -all
- popd >/dev/null
+ ./$runner -ignore $oldpath/cppignore.lnx -all
+ export res$((i++))=$?
+ cd $oldpath >/dev/null
+done < testrunners
+i=0
+while read runner; do
+ eval assign=\$res$((i++))
+ if [ $assign -ne 0 ]; then
+ echo "FAIL: $runner"
+ else
+ echo "PASS: $runner"
+ fi
done < testrunners
-
diff --git a/meta-oe/recipes-support/poco/poco_1.9.4.bb b/meta-oe/recipes-support/poco/poco_1.12.5p2.bb
index fcd5219759..a0bb0b5d96 100644
--- a/meta-oe/recipes-support/poco/poco_1.9.4.bb
+++ b/meta-oe/recipes-support/poco/poco_1.12.5p2.bb
@@ -6,15 +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=poco-${PV} \
- file://0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch \
- file://0001-riscv-Enable-double-operations-when-using-double-flo.patch \
- file://run-ptest \
- "
-SRCREV = "b95393dcc3640807838e8323b4e600e54d2e8116"
+SRC_URI = "git://github.com/pocoproject/poco.git;branch=master;protocol=https \
+ file://0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch \
+ file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \
+ file://run-ptest \
+ file://0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch \
+ "
+SRCREV = "1d6fb3e1383e559cacbada5e3f861c0dafaf5d30"
UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
@@ -25,21 +25,29 @@ 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 Data DataSQLite Zip Encodings Redis"
-
-PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat"
+PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataSQLite Zip Encodings Redis Prometheus"
+# MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe
+# and mongodb needs meta-python enabled as well
+PACKAGECONFIG:remove:riscv32 = "MongoDB"
+PACKAGECONFIG:remove:riscv64 = "MongoDB"
+PACKAGECONFIG:remove:mipsarch = "MongoDB"
+PACKAGECONFIG:remove:powerpc = "MongoDB"
+
+PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
-PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_NETSSL=OFF,openssl"
-PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DOPENSSL_CRYPTO_LIBRARY:STRING=crypto,-DENABLE_CRYPTO=OFF,openssl"
+PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl"
+PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
+PACKAGECONFIG[JWT] = "-DENABLE_JWT=ON,-DENABLE_JWT=OFF,openssl"
PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
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
@@ -48,36 +56,38 @@ 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"
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
- -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
# For the native build we want to use the bundled version
-EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
+EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF"
# do not use rpath
-EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
+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)}"
-python populate_packages_prepend () {
+python populate_packages:prepend () {
poco_libdir = d.expand('${libdir}')
pn = d.getVar("PN")
packages = []
- testrunners = []
def hook(f, pkg, file_regex, output_pattern, modulename):
packages.append(pkg)
- testrunners.append(modulename)
- do_split_packages(d, poco_libdir, '^libPoco(.*)\.so\..*$',
+ do_split_packages(d, poco_libdir, r'^libPoco(.*)\.so\..*$',
'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
- d.setVar("RRECOMMENDS_%s" % pn, " ".join(packages))
- d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
+ d.setVar("RRECOMMENDS:%s" % pn, " ".join(packages))
}
do_install_ptest () {
@@ -85,19 +95,25 @@ do_install_ptest () {
cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
- echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
+ rm -f ${D}${PTEST_PATH}/testrunners
+ for f in ${D}${PTEST_PATH}/bin/*-testrunner; do
+ echo `basename $f` >> ${D}${PTEST_PATH}/testrunners
+ done
+ install -Dm 0644 ${S}/cppignore.lnx ${D}${PTEST_PATH}/cppignore.lnx
}
PACKAGES_DYNAMIC = "poco-.*"
# "poco" is a metapackage which pulls in all Poco components
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
# cppunit is only built if tests are enabled
PACKAGES =+ "${PN}-cppunit"
-FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
-ALLOW_EMPTY_${PN}-cppunit = "1"
+FILES:${PN}-cppunit += "${libdir}/libCppUnit.so*"
+ALLOW_EMPTY:${PN}-cppunit = "1"
-RDEPENDS_${PN}-ptest += "${PN}-cppunit"
+RDEPENDS:${PN}-ptest += "${PN}-cppunit"
+RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'MongoDB', 'mongodb', '', d)}"
+RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'Redis', 'redis', '', d)}"
BBCLASSEXTEND = "native"