From patchwork Wed Jul 2 08:31:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66108 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB0B1C83038 for ; Wed, 2 Jul 2025 08:32:32 +0000 (UTC) Received: from esa13.hc324-48.eu.iphmx.com (esa13.hc324-48.eu.iphmx.com [207.54.72.35]) by mx.groups.io with SMTP id smtpd.web11.18702.1751445145959666161 for ; Wed, 02 Jul 2025 01:32:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=KTHyoyca; spf=pass (domain: bmw.de, ip: 207.54.72.35, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445146; x=1782981146; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Fjvkon2J0pjIf+iDQlLDMFUXcJGKyO8PNajOf3dfqI4=; b=KTHyoyca7fUNdHd8nwXw03mmRcYgjNINJisenc4bD9qPQf/9ag3xJj/O Gwib45O7037Lc2dxB89PVRcGPAAuriqX5h2kDzMB2DyXDzepuce6zj1mq /hJ0ZBmNVUsnnRPf/HcvnoKUE9tCFh1p3xxCJQUtEcgCrhCPBb6FqKuOu Y=; X-CSE-ConnectionGUID: YRe5VbO9QVCkymirH64WJA== X-CSE-MsgGUID: M0jxnz7ASB6Mt2lamMiGHw== Received: from 160.46.252.35.spf.bmwgroup.com (HELO esagw3.muc) ([160.46.252.35]) by esa13.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:23 +0200 Received: from esabb1.muc ([160.50.100.31]) by esagw3.muc with ESMTP/TLS; 02 Jul 2025 10:32:23 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb1.muc with ESMTP/TLS; 02 Jul 2025 10:32:15 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:15 +0200 X-CSE-ConnectionGUID: OFDZzr3IQwClrC6nazKpdA== X-CSE-MsgGUID: CXtyExQxR1yxGtYDPsifEw== X-CSE-ConnectionGUID: AlLbN8lSSv64RMXd0OgToQ== X-CSE-MsgGUID: W3Q2b3xbROmRYYW/TaSGMg== From: Moritz Haase To: CC: Moritz Haase Subject: [PATCH v3 1/7] libcomps: Backport patch to support builds with CMake 4+ Date: Wed, 2 Jul 2025 10:31:42 +0200 Message-ID: <20250702083148.3035805-2-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:32 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219803 PR [0] has been merged upstream, but there hasn't been a release containing it yet. [0]: https://github.com/rpm-software-management/libcomps/pull/119 Signed-off-by: Moritz Haase --- changes in v3: - None changes in v2: - Re-ordered commits to keep bisectability - Fixed patchtest findings --- ...libcomps-Support-builds-with-CMake-4.patch | 132 ++++++++++++++++++ .../libcomps/libcomps_0.1.21.bb | 1 + 2 files changed, 133 insertions(+) create mode 100644 meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch diff --git a/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch b/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch new file mode 100644 index 0000000000..9a90e05888 --- /dev/null +++ b/meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch @@ -0,0 +1,132 @@ +From 702ec1423fb9b53244b902923fd87ef19b63a7f5 Mon Sep 17 00:00:00 2001 +From: Moritz Haase +Date: Mon, 23 Jun 2025 08:32:18 +0200 +Subject: [PATCH] libcomps: Support builds with CMake 4+ + +- Bump minimum required version to 3.10, the lowest one CMake 4+ don't complain + about. It's also possible to use 3.5, but that results in a deprecation + warning. The 'cmake_minimum_required()' invocation has been moved before the + initial 'project()' call as CMake complained about the wrong order. + +- Set policy CMP0148 [0] to OLD to unblock build without additional changes. + Eventually, the usage of the 'PythonInterp' and 'PythonLibs' find modules will + be need to be updated to use 'Python3' instead. + +- Set policy CMP0175 [1] to NEW and fix warnings. + +- Fix the 'No TARGET ... has been created in this directory' error in + 'src/python'. + +- Fix 'Utility target must not be used as the target of a + target_link_libraries call' errors (see [2]). + +- Mark the 'check' library as required when tests are enabled to prevent test + targets from linking a non-existing library in case it's not installed. + +[0]: https://cmake.org/cmake/help/latest/policy/CMP0148.html +[1]: https://cmake.org/cmake/help/latest/policy/CMP0175.html +[2]: https://cmake.org/cmake/help/latest/policy/CMP0039.html + +Upstream-Status: Backport [702ec1423fb9b53244b902923fd87ef19b63a7f5] +Signed-off-by: Moritz Haase +--- + README.md | 3 +-- + libcomps/CMakeLists.txt | 7 +++++-- + libcomps/src/python/docs/CMakeLists.txt | 3 ++- + libcomps/src/python/pycopy.cmake | 7 ++++--- + libcomps/tests/CMakeLists.txt | 2 -- + 5 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/README.md b/README.md +index 7f8314dd3f70d131c4d399f069d3d7bb77dcff02..24bf8a226d50b7b9b5372f98b52650ff4467c3d6 100644 +--- a/README.md ++++ b/README.md +@@ -27,7 +27,7 @@ for python bindings: + + for C library tests: + +-* check http://check.sourceforge.net/ ++* check https://github.com/libcheck/check + + for documentation build: + +@@ -128,4 +128,3 @@ Here's the most direct way to get your work merged into the project. + + 1. Push the branch to your fork + 1. Send a pull request for your branch +- +diff --git a/libcomps/CMakeLists.txt b/libcomps/CMakeLists.txt +index d8d628af1a8b863b6173ff11615a59aa58d8235e..3957e63a311fc42c85516c0e66fc6f598194cb8f 100644 +--- a/libcomps/CMakeLists.txt ++++ b/libcomps/CMakeLists.txt +@@ -1,5 +1,8 @@ ++cmake_minimum_required (VERSION 3.10) + project(libcomps C) +-cmake_minimum_required (VERSION 2.8.10) ++ ++cmake_policy(SET CMP0148 OLD) ++cmake_policy(SET CMP0175 NEW) + + include (GNUInstallDirs) + include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) +@@ -32,7 +35,7 @@ include_directories("${PROJECT_SOURCE_DIR}/src") + #include_directories("${PROJECT_SOURCE_DIR}/src/libcomps") + + if (ENABLE_TESTS) +- find_library(CHECK_LIBRARY NAMES check) ++ find_library(CHECK_LIBRARY REQUIRED NAMES check) + endif() + find_library(EXPAT_LIBRARY NAMES expat) + +diff --git a/libcomps/src/python/docs/CMakeLists.txt b/libcomps/src/python/docs/CMakeLists.txt +index c4b388cb4a4bb2d962a625a448efcfee14ef71b3..9c92b2dacf4a2cb76f461b8038217cc8e895a369 100644 +--- a/libcomps/src/python/docs/CMakeLists.txt ++++ b/libcomps/src/python/docs/CMakeLists.txt +@@ -26,7 +26,8 @@ add_dependencies(pydocs pycomps) + include(../pycopy.cmake) + add_custom_command(TARGET pydocs PRE_BUILD COMMAND set -E $ENV{LD_LIBRARY_PATH} "${LIBCOMPS_OUT}:$ENV{LD_LIBRARY_PATH}") + +-add_custom_command(TARGET pydocs COMMAND ${PYTHON_EXECUTABLE} ${SPHINX_EXECUTABLE} -E -b html ++add_custom_command(TARGET pydocs POST_BUILD ++ COMMAND ${PYTHON_EXECUTABLE} ${SPHINX_EXECUTABLE} -E -b html + "${CMAKE_CURRENT_SOURCE_DIR}/doc-sources/" + "${CMAKE_CURRENT_BINARY_DIR}/html/" + COMMENT "LDLP $ENV{LD_LIBRARY_PATH}") +diff --git a/libcomps/src/python/pycopy.cmake b/libcomps/src/python/pycopy.cmake +index b22f83595c09b4af8f1c2e49ddbd7755f4c97f0b..0e99e38d791ffd13496bd8fbbf61cd7701e543b7 100644 +--- a/libcomps/src/python/pycopy.cmake ++++ b/libcomps/src/python/pycopy.cmake +@@ -6,9 +6,10 @@ math (EXPR len "${len} - 1") + + #set(pycopy "py${pversion}-copy") + +-#if (NOT TARGET ${pycopy}) ++if (NOT TARGET ${pycopy}) ++ add_custom_target(${pycopy} DEPENDS pycomps) ++endif() + +-#add_custom_target(${pycopy} DEPENDS pycomps) + set (pycomps_SRCDIR "${PROJECT_SOURCE_DIR}/src/python/src/") + set (pycomps_TESTDIR "${PROJECT_SOURCE_DIR}/src/python/tests/") + set (pycomps_LIBPATH ${PYCOMPS_LIB_PATH})#"${PROJECT_BINARY_DIR}/src/python/src/python${pversion}") +@@ -16,7 +17,7 @@ set (pycomps_LIBPATH ${PYCOMPS_LIB_PATH})#"${PROJECT_BINARY_DIR}/src/python/src/ + #add_custom_command(TARGET pycopy PRE_BUILD COMMAND ${CMAKE_COMMAND} -E + # make_directory "${CP_DST}") + +-add_custom_command(TARGET ${pycopy} COMMAND ${CMAKE_COMMAND} -E ++add_custom_command(TARGET ${pycopy} POST_BUILD COMMAND ${CMAKE_COMMAND} -E + make_directory ${pycomps_LIBPATH}/libcomps/comps/) + + foreach(x RANGE 0 ${len}) +diff --git a/libcomps/tests/CMakeLists.txt b/libcomps/tests/CMakeLists.txt +index 23ced7450afa02977c63f9374a4fee33ae596d98..9d6e428e18d5a234c7be74d957c25961dea30050 100644 +--- a/libcomps/tests/CMakeLists.txt ++++ b/libcomps/tests/CMakeLists.txt +@@ -87,7 +87,5 @@ add_custom_target(test_parse_run + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS test_parse + COMMENT "Running comps_parse test") +-target_link_libraries(test_parse_run libcomps) +-target_link_libraries(test_comps_run libcomps) + + add_dependencies(ctest test_comps_run test_parse_run) diff --git a/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb b/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb index 5709f3e69f..9429c703e1 100644 --- a/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb +++ b/meta/recipes-devtools/libcomps/libcomps_0.1.21.bb @@ -5,6 +5,7 @@ LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/rpm-software-management/libcomps.git;branch=master;protocol=https \ + file://0001-libcomps-Support-builds-with-CMake-4.patch \ file://0002-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " From patchwork Wed Jul 2 08:31:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66106 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05B50C83013 for ; Wed, 2 Jul 2025 08:32:23 +0000 (UTC) Received: from esa14.hc324-48.eu.iphmx.com (esa14.hc324-48.eu.iphmx.com [207.54.69.24]) by mx.groups.io with SMTP id smtpd.web10.18736.1751445139697515448 for ; Wed, 02 Jul 2025 01:32:22 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=HbMKxyim; spf=pass (domain: bmw.de, ip: 207.54.69.24, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445141; x=1782981141; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+8+dk/zD0hbFnVxJOXT5cFlcMPwzYG7jN4dEgLzV2Lc=; b=HbMKxyim+HkWWSNLXHE05Pa5xzbhACZ/xuVFWA7eAn1WT/t5BeFvIvby tJp/vsjxMpE+zlqocDDrEeSs+OgYTh1rivxfzL2xtk+CNUskDI+k+zcWj Sl3SAAusa6DSVJaR9yE3WGLEVsXzoqvDnYxIoxlfngPnjtYIMYjGnXlqi k=; X-CSE-ConnectionGUID: 4jTSYUWjRxuZ4upp8RUw/Q== X-CSE-MsgGUID: h7+FtkvITvib5aPeTJ+1Vg== Received: from esagw4.bmwgroup.com (HELO esagw4.muc) ([160.46.252.39]) by esa14.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:20 +0200 Received: from unknown (HELO esabb4.muc) ([10.31.187.135]) by esagw4.muc with ESMTP/TLS; 02 Jul 2025 10:32:21 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb4.muc with ESMTP/TLS; 02 Jul 2025 10:32:21 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:20 +0200 X-CSE-ConnectionGUID: GqaQIxtiRGCzZ95Gd6XgkA== X-CSE-MsgGUID: pxqCiVpbR1mqwxONFbIOjQ== X-CSE-ConnectionGUID: Z7OrnJ/4QaKsSzKoYv2PJQ== X-CSE-MsgGUID: OxoW2Ms+QEKL7auUP2fxEg== From: Moritz Haase To: CC: Moritz Haase Subject: [PATCH v3 2/7] createrepo-c: Backport patches to support builds with CMake 4+ Date: Wed, 2 Jul 2025 10:31:43 +0200 Message-ID: <20250702083148.3035805-3-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:23 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219802 There hasn't been a new upstream release yet that ships the required changes. Signed-off-by: Moritz Haase --- changes in v3: - None changes in v2: - Re-ordered commits to keep bisectability - Fixed patchtest findings --- .../0001-Fix-libname-of-Libs.private.patch | 22 ++ ...ED_TARGET-for-3rd-party-dependencies.patch | 226 ++++++++++++++++++ ...-imported-targets-of-turned-off-depe.patch | 53 ++++ ...ds-without-Doxygen-being-present-wit.patch | 50 ++++ .../createrepo-c/createrepo-c_1.2.1.bb | 4 + 5 files changed, 355 insertions(+) create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-libname-of-Libs.private.patch create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-libname-of-Libs.private.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-libname-of-Libs.private.patch new file mode 100644 index 0000000000..ceccbda9d6 --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-libname-of-Libs.private.patch @@ -0,0 +1,22 @@ +From 122963c764b06a4b487b32d4d1da330bd83da4d8 Mon Sep 17 00:00:00 2001 +From: fundawang +Date: Mon, 17 Mar 2025 19:05:08 +0800 +Subject: [PATCH] Fix libname of Libs.private + +Upstream-Status: Backport [1c712194e604f6dd4f8a881e09d8236d4f770b67] +Signed-off-by: Moritz Haase +--- + src/createrepo_c.pc.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/createrepo_c.pc.cmake b/src/createrepo_c.pc.cmake +index 466487e2f490db28576611924e3d9ac94a99cb51..b7eb66318781b01f2b1348ab2c9dbd24d9a5c32f 100644 +--- a/src/createrepo_c.pc.cmake ++++ b/src/createrepo_c.pc.cmake +@@ -8,5 +8,5 @@ Version: @VERSION@ + Requires: glib-2.0 rpm libcurl sqlite3 + Requires.private: zlib libxml-2.0 + Libs: -L${libdir} -lcreaterepo_c +-Libs.private: -lbz2 -lzma ++Libs.private: -lbz2 -llzma + Cflags: -I${includedir} diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch new file mode 100644 index 0000000000..da50d27a76 --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch @@ -0,0 +1,226 @@ +From 545532ec468d0dc768fee8a5e83153440509b273 Mon Sep 17 00:00:00 2001 +From: Pietro Cerutti +Date: Tue, 1 Oct 2024 12:10:40 +0000 +Subject: [PATCH] Use IMPORTED_TARGET for 3rd-party dependencies + +The current CMakeLists.txt fails to include the required link directories for 3rd-party packages. +As an example, on FreeBSD where packages are installed under /usr/local, the link lines include -lgio-2.0 but not -L/usr/local/lib. + +The suggested solution is to use the IMPORTED_TARGET mode of pkg_check_modules. This requires CMake 3.6, so I have bumped the minimum required version. + +Upstream-Status: Backport [89fa02828cdaf1c710c38bde5fcbcf59538a9cce] +Signed-off-by: Moritz Haase +--- + CMakeLists.txt | 22 +++++++++++----------- + src/CMakeLists.txt | 36 ++++++++++++++++++------------------ + tests/CMakeLists.txt | 30 +++++++++++++++--------------- + 3 files changed, 44 insertions(+), 44 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9a18393f526a4eb74a53d5bddc84f75afcf0499c..c4bf525200ba24eb69ad08feb68b30f065bdac22 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12) ++CMAKE_MINIMUM_REQUIRED (VERSION 3.7) + PROJECT (createrepo_c C) + + include(GNUInstallDirs) +@@ -39,13 +39,13 @@ find_package(LibXml2 REQUIRED) + find_package(OpenSSL REQUIRED) + find_package(ZLIB REQUIRED) + +-pkg_check_modules(GLIB2 REQUIRED glib-2.0) +-pkg_check_modules(GIO REQUIRED gio-2.0) +-pkg_check_modules(GTHREAD2 REQUIRED gthread-2.0) +-pkg_check_modules(LZMA REQUIRED liblzma) +-pkg_check_modules(SQLITE3 REQUIRED sqlite3>=3.6.18) +-pkg_check_modules(RPM REQUIRED rpm) +-pkg_check_modules(ZSTD REQUIRED libzstd) ++pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0) ++pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) ++pkg_check_modules(GTHREAD2 REQUIRED IMPORTED_TARGET gthread-2.0) ++pkg_check_modules(LZMA REQUIRED IMPORTED_TARGET liblzma) ++pkg_check_modules(SQLITE3 REQUIRED IMPORTED_TARGET sqlite3>=3.6.18) ++pkg_check_modules(RPM REQUIRED IMPORTED_TARGET rpm) ++pkg_check_modules(ZSTD REQUIRED IMPORTED_TARGET libzstd) + + # Add include dirs + +@@ -73,7 +73,7 @@ ENDIF (WITH_LEGACY_HASHES) + # drpm + OPTION (ENABLE_DRPM "Enable delta RPM support?" OFF) + IF (ENABLE_DRPM) +- pkg_check_modules(DRPM REQUIRED drpm>=0.4.0) ++ pkg_check_modules(DRPM REQUIRED IMPORTED_TARGET drpm>=0.4.0) + include_directories (${DRPM_INCLUDE_DIRS}) + ADD_DEFINITIONS("-DCR_DELTA_RPM_SUPPORT") + ENDIF (ENABLE_DRPM) +@@ -83,7 +83,7 @@ OPTION (ENABLE_PYTHON "Enable python support?" ON) + + OPTION (WITH_ZCHUNK "Build with zchunk support" ON) + IF (WITH_ZCHUNK) +- pkg_check_modules(ZCK REQUIRED zck) ++ pkg_check_modules(ZCK REQUIRED IMPORTED_TARGET zck) + include_directories(${ZCK_INCLUDE_DIRS}) + SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWITH_ZCHUNK") + SET (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DWITH_ZCHUNK") +@@ -91,7 +91,7 @@ ENDIF (WITH_ZCHUNK) + + OPTION (WITH_LIBMODULEMD "Build with libmodulemd support" ON) + IF (WITH_LIBMODULEMD) +- pkg_check_modules(LIBMODULEMD REQUIRED modulemd-2.0) ++ pkg_check_modules(LIBMODULEMD REQUIRED IMPORTED_TARGET modulemd-2.0) + include_directories(${LIBMODULEMD_INCLUDE_DIRS}) + SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWITH_LIBMODULEMD") + SET (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DWITH_LIBMODULEMD") +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 61b048044392b4204984af8969c3b1d74a9b8094..5309050bdadf6a14d9cddf4529d309ef97cc6d2c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -86,18 +86,18 @@ ENDIF () + ADD_LIBRARY(libcreaterepo_c ${createrepo_c_library_type} ${createrepo_c_SRCS}) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${BZIP2_LIBRARIES}) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${GLIB2_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${GIO_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBMODULEMD_LIBRARIES}) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GLIB2) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GIO) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LIBMODULEMD) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${LZMA_LIBRARIES}) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LZMA) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${OPENSSL_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${RPM_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${SQLITE3_LIBRARIES}) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::RPM) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::SQLITE3) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZLIB_LIBRARY}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZCK_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${DRPM_LIBRARIES}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZSTD_LIBRARIES}) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZCK) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::DRPM) ++TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZSTD) + + SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES + OUTPUT_NAME "createrepo_c" +@@ -108,27 +108,27 @@ SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES + ADD_EXECUTABLE(createrepo_c createrepo_c.c cmd_parser.c) + TARGET_LINK_LIBRARIES(createrepo_c + libcreaterepo_c +- ${GLIB2_LIBRARIES} +- ${GTHREAD2_LIBRARIES}) ++ PkgConfig::GLIB2 ++ PkgConfig::GTHREAD2) + + ADD_EXECUTABLE(mergerepo_c mergerepo_c.c) + TARGET_LINK_LIBRARIES(mergerepo_c + libcreaterepo_c +- ${GLIB2_LIBRARIES} +- ${GTHREAD2_LIBRARIES} +- ${LIBMODULEMD_LIBRARIES}) ++ PkgConfig::GLIB2 ++ PkgConfig::GTHREAD2 ++ PkgConfig::LIBMODULEMD) + + ADD_EXECUTABLE(modifyrepo_c modifyrepo_c.c) + TARGET_LINK_LIBRARIES(modifyrepo_c + libcreaterepo_c +- ${GLIB2_LIBRARIES} +- ${GTHREAD2_LIBRARIES}) ++ PkgConfig::GLIB2 ++ PkgConfig::GTHREAD2) + + ADD_EXECUTABLE(sqliterepo_c sqliterepo_c.c) + TARGET_LINK_LIBRARIES(sqliterepo_c + libcreaterepo_c +- ${GLIB2_LIBRARIES} +- ${GTHREAD2_LIBRARIES}) ++ PkgConfig::GLIB2 ++ PkgConfig::GTHREAD2) + + CONFIGURE_FILE("createrepo_c.pc.cmake" "${CMAKE_SOURCE_DIR}/src/createrepo_c.pc" @ONLY) + CONFIGURE_FILE("version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/version.h" @ONLY) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 4ffe837edb64153a7261d19dbaf67aceac4b5746..37339ad75190827a8e501de64dbf929f9aee4cd4 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,61 +1,61 @@ + ADD_EXECUTABLE(test_checksum test_checksum.c) +-TARGET_LINK_LIBRARIES(test_checksum libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_checksum libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_checksum) + + ADD_EXECUTABLE(test_compression_wrapper test_compression_wrapper.c) +-TARGET_LINK_LIBRARIES(test_compression_wrapper libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_compression_wrapper libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_compression_wrapper) + + ADD_EXECUTABLE(test_load_metadata test_load_metadata.c) +-TARGET_LINK_LIBRARIES(test_load_metadata libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_load_metadata libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_load_metadata) + + ADD_EXECUTABLE(test_locate_metadata test_locate_metadata.c) +-TARGET_LINK_LIBRARIES(test_locate_metadata libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_locate_metadata libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_locate_metadata) + + ADD_EXECUTABLE(test_misc test_misc.c) +-TARGET_LINK_LIBRARIES(test_misc libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_misc libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_misc) + + ADD_EXECUTABLE(test_sqlite test_sqlite.c) +-TARGET_LINK_LIBRARIES(test_sqlite libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_sqlite libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_sqlite) + + ADD_EXECUTABLE(test_xml_file test_xml_file.c) +-TARGET_LINK_LIBRARIES(test_xml_file libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_file libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_file) + + ADD_EXECUTABLE(test_xml_parser_filelists test_xml_parser_filelists.c) +-TARGET_LINK_LIBRARIES(test_xml_parser_filelists libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_parser_filelists libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_parser_filelists) + + ADD_EXECUTABLE(test_xml_parser_repomd test_xml_parser_repomd.c) +-TARGET_LINK_LIBRARIES(test_xml_parser_repomd libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_parser_repomd libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_parser_repomd) + + ADD_EXECUTABLE(test_xml_parser_updateinfo test_xml_parser_updateinfo.c) +-TARGET_LINK_LIBRARIES(test_xml_parser_updateinfo libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_parser_updateinfo libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_parser_updateinfo) + + ADD_EXECUTABLE(test_xml_parser_main_metadata_together test_xml_parser_main_metadata_together.c) +-TARGET_LINK_LIBRARIES(test_xml_parser_main_metadata_together libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_parser_main_metadata_together libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_parser_main_metadata_together) + + ADD_EXECUTABLE(test_xml_dump test_xml_dump.c) +-TARGET_LINK_LIBRARIES(test_xml_dump libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_dump libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_dump) + + ADD_EXECUTABLE(test_xml_dump_primary test_xml_dump_primary.c) +-TARGET_LINK_LIBRARIES(test_xml_dump_primary libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_xml_dump_primary libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_xml_dump_primary) + + ADD_EXECUTABLE(test_koji test_koji.c) +-TARGET_LINK_LIBRARIES(test_koji libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_koji libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_koji) + + ADD_EXECUTABLE(test_modifyrepo_shared test_modifyrepo_shared.c) +-TARGET_LINK_LIBRARIES(test_modifyrepo_shared libcreaterepo_c ${GLIB2_LIBRARIES}) ++TARGET_LINK_LIBRARIES(test_modifyrepo_shared libcreaterepo_c PkgConfig::GLIB2) + ADD_DEPENDENCIES(tests test_modifyrepo_shared) + + CONFIGURE_FILE("run_tests.sh.in" "${CMAKE_BINARY_DIR}/tests/run_tests.sh") diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch new file mode 100644 index 0000000000..769976694e --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch @@ -0,0 +1,53 @@ +From cfd899731f40695e9fd362dc64098e27636808fe Mon Sep 17 00:00:00 2001 +From: Pietro Cerutti +Date: Mon, 14 Oct 2024 11:49:42 +0000 +Subject: [PATCH] Don't try to use imported targets of turned-off dependencies + +Upstream-Status: Backport [0a2da7c87ae9b7e3e11e77416a8e75633d4608a0] +Signed-off-by: Moritz Haase +--- + src/CMakeLists.txt | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5309050bdadf6a14d9cddf4529d309ef97cc6d2c..9444875ff1a2fd2ce0ccc678e121ea54ce0d1b83 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -88,15 +88,21 @@ TARGET_LINK_LIBRARIES(libcreaterepo_c ${BZIP2_LIBRARIES}) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY}) + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GLIB2) + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GIO) +-TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LIBMODULEMD) ++IF (WITH_LIBMODULEMD) ++ TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LIBMODULEMD) ++ENDIF (WITH_LIBMODULEMD) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES}) + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LZMA) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${OPENSSL_LIBRARIES}) + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::RPM) + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::SQLITE3) + TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZLIB_LIBRARY}) +-TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZCK) +-TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::DRPM) ++IF (WITH_ZCHUNK) ++ TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZCK) ++ENDIF (WITH_ZCHUNK) ++IF (ENABLE_DRPM) ++ TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::DRPM) ++ENDIF (ENABLE_DRPM) + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZSTD) + + SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES +@@ -115,8 +121,10 @@ ADD_EXECUTABLE(mergerepo_c mergerepo_c.c) + TARGET_LINK_LIBRARIES(mergerepo_c + libcreaterepo_c + PkgConfig::GLIB2 +- PkgConfig::GTHREAD2 +- PkgConfig::LIBMODULEMD) ++ PkgConfig::GTHREAD2) ++IF (WITH_LIBMODULEMD) ++ TARGET_LINK_LIBRARIES(mergerepo_c PkgConfig::LIBMODULEMD) ++ENDIF (WITH_LIBMODULEMD) + + ADD_EXECUTABLE(modifyrepo_c modifyrepo_c.c) + TARGET_LINK_LIBRARIES(modifyrepo_c diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c/0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch b/meta/recipes-devtools/createrepo-c/createrepo-c/0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch new file mode 100644 index 0000000000..acf888e7ba --- /dev/null +++ b/meta/recipes-devtools/createrepo-c/createrepo-c/0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch @@ -0,0 +1,50 @@ +From 90f39874bd122ca9e966f32c01e43e922031018e Mon Sep 17 00:00:00 2001 +From: Moritz Haase +Date: Mon, 23 Jun 2025 09:21:07 +0200 +Subject: [PATCH] cmake: Allow builds without Doxygen being present with CMake + 4+ + +With CMake 4+, the initial CMake run fails with + + CMake Error at doc/CMakeLists.txt:18 (ADD_DEPENDENCIES): + The dependency target "doc-c" of target "doc" does not exist. + +in case Doxygen is not installed on the system, since non-existent dependencies +are not ignored anymore (see [0]). Rectify that by making sure that we only add +the dependency in case Doxygen has been found. + +[0]: https://cmake.org/cmake/help/latest/policy/CMP0046.html + +Upstream-Status: Backport [908e3a4a5909ab107da41c2631a06c6b23617f3c] +Signed-off-by: Moritz Haase +--- + doc/CMakeLists.txt | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt +index 6b2ef5e0593757c7b977cd5d228b7774b4f45641..6332b91260ff87f16e331071e652bfe0b167f518 100644 +--- a/doc/CMakeLists.txt ++++ b/doc/CMakeLists.txt +@@ -1,11 +1,15 @@ + ADD_SUBDIRECTORY (python) + ++ADD_CUSTOM_TARGET (doc) ++ADD_DEPENDENCIES (doc doc-python) ++ + find_package(Doxygen) + if(DOXYGEN_FOUND) + CONFIGURE_FILE("Doxyfile.in.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in" @ONLY) + add_custom_target(doc-c + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in + COMMENT "Building C API documentation with Doxygen" VERBATIM) ++ ADD_DEPENDENCIES (doc doc-c) + endif(DOXYGEN_FOUND) + + IF(CREATEREPO_C_INSTALL_MANPAGES) +@@ -13,6 +17,3 @@ IF(CREATEREPO_C_INSTALL_MANPAGES) + DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" + COMPONENT bin) + ENDIF(CREATEREPO_C_INSTALL_MANPAGES) +- +-ADD_CUSTOM_TARGET (doc) +-ADD_DEPENDENCIES (doc doc-python doc-c) diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb index 63a717726c..ecd43b0c0b 100644 --- a/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb +++ b/meta/recipes-devtools/createrepo-c/createrepo-c_1.2.1.bb @@ -7,6 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "git://github.com/rpm-software-management/createrepo_c;branch=master;protocol=https;tag=${PV} \ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ file://0001-include-rpm-rpmstring.h.patch \ + file://0001-Fix-libname-of-Libs.private.patch \ + file://0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch \ + file://0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch \ + file://0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch \ " SRCREV = "8c6e6f88df86d1e34ca26d3835d77a2816326414" From patchwork Wed Jul 2 08:31:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66110 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D6D41C83038 for ; Wed, 2 Jul 2025 08:32:42 +0000 (UTC) Received: from esa9.hc324-48.eu.iphmx.com (esa9.hc324-48.eu.iphmx.com [207.54.69.27]) by mx.groups.io with SMTP id smtpd.web10.18737.1751445152854157627 for ; Wed, 02 Jul 2025 01:32:33 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=An/3P8Lz; spf=pass (domain: bmw.de, ip: 207.54.69.27, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445152; x=1782981152; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Au3KgjqhuogtkEdaikbNJb/+kOY4jEaTi8XoFyZe1XY=; b=An/3P8Lz4lSRThtF1g+yplXNo8KYlVIwkxO+a8qnwBHtvKAUrp+A4B7f Vp2AwMk8PpisFbkLrIqsaUCFFhR44nY1FjOJTOu7hnBp9jHnZ2rYSmYNi 2BHhDyPinemOcqi4afuBCWKEoXhXJff2AuIiBRB77dM/QJtFfmPMp1ic0 U=; X-CSE-ConnectionGUID: cloe3WKiShelNDaPHN35sg== X-CSE-MsgGUID: dhkFvZ/sQZKBLGvgXBmAOw== Received: from 160.46.252.38.spf.bmwgroup.com (HELO esagw2.muc) ([160.46.252.38]) by esa9.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:30 +0200 Received: from esabb1.muc ([160.50.100.31]) by esagw2.muc with ESMTP/TLS; 02 Jul 2025 10:32:30 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb1.muc with ESMTP/TLS; 02 Jul 2025 10:32:24 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:24 +0200 X-CSE-ConnectionGUID: kQjhgjfJRI++Pgk08Eoi2A== X-CSE-MsgGUID: gy1TjhP5Q8KuWD617kSLyw== X-CSE-ConnectionGUID: WNxreukjQ4eUEEKgX07JTg== X-CSE-MsgGUID: eHE+6mOCSUCq+H++6fe0zw== From: Moritz Haase To: CC: Moritz Haase Subject: [PATCH v3 3/7] apt: Backport patch to support builds with CMake 4+ Date: Wed, 2 Jul 2025 10:31:44 +0200 Message-ID: <20250702083148.3035805-4-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219805 There have been a number of upstream releases that ship this patch already, but given that the most recent ones are considered experimental, I opted to backport instead. Signed-off-by: Moritz Haase --- changes in v3: - Commit added to series --- ...mum_required-to-3.13-to-avoid-warnin.patch | 47 +++++++++++++++++++ meta/recipes-devtools/apt/apt_2.6.1.bb | 1 + 2 files changed, 48 insertions(+) create mode 100644 meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch diff --git a/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch new file mode 100644 index 0000000000..c3a5ded494 --- /dev/null +++ b/meta/recipes-devtools/apt/apt/0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch @@ -0,0 +1,47 @@ +From dc7a8b3050a2a43f49515a03ae19713dfced75dc Mon Sep 17 00:00:00 2001 +From: David Kalnischkies +Date: Sat, 18 Nov 2023 13:10:05 +0000 +Subject: [PATCH] Raise cmake_minimum_required to 3.13 to avoid warnings + +CMake Deprecation Warning at CMakeLists.txt:6 (cmake_minimum_required): + Compatibility with CMake < 3.5 will be removed from a future version of + CMake. + + Update the VERSION argument value or use a ... suffix to tell + CMake that the project does not need compatibility with older versions. + +Picking 3.13 here is a semi-random choice to avoid raising the requirement +too much needlessly while also hopefully avoiding needing to raise it +soon again based on the referenced mail. + +While we are at it, lets also fix the other spewed warning: + +CMake Warning (dev) at CMakeLists.txt:5 (project): + cmake_minimum_required() should be called prior to this top-level project() + call. Please see the cmake-commands(7) manual for usage documentation of + both commands. + +References: https://lists.debian.org/msgid-search/20230617162957.6pklb6632zf4nijc@mail.gaussglocke.de + +Upstream-Status: Backport [https://salsa.debian.org/apt-team/apt/-/commit/dc7a8b3050a2a43f49515a03ae19713dfced75dc] +Signed-off-by: Moritz Haase +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 62182cddf..dae12e7c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,8 +2,8 @@ + # Licensed under the same terms as APT; i.e. GPL 2 or later. + + # set minimum version ++cmake_minimum_required(VERSION 3.13) + project(apt) +-cmake_minimum_required(VERSION 3.4.0) + # Generic header locations + include_directories(${PROJECT_BINARY_DIR}/include) + +-- +GitLab diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_2.6.1.bb index d605d950dd..50ac2ea812 100644 --- a/meta/recipes-devtools/apt/apt_2.6.1.bb +++ b/meta/recipes-devtools/apt/apt_2.6.1.bb @@ -14,6 +14,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ file://0001-aptwebserver.cc-Include-array.patch \ file://0001-Remove-using-std-binary_function.patch \ file://0001-strutl-Add-missing-include-cstdint-gcc-15.patch \ + file://0001-Raise-cmake_minimum_required-to-3.13-to-avoid-warnin.patch \ " SRC_URI:append:class-native = " \ From patchwork Wed Jul 2 08:31:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66109 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D91CEC7EE30 for ; Wed, 2 Jul 2025 08:32:42 +0000 (UTC) Received: from esa9.hc324-48.eu.iphmx.com (esa9.hc324-48.eu.iphmx.com [207.54.69.27]) by mx.groups.io with SMTP id smtpd.web10.18737.1751445152854157627 for ; Wed, 02 Jul 2025 01:32:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=aWwcErma; spf=pass (domain: bmw.de, ip: 207.54.69.27, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445153; x=1782981153; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nS6k5dVUt4ToGuMr5XjLLfq2JU7rEQQynwBvlk5cYgc=; b=aWwcErma1sifUWik7JYE8BjhzGtE5KTCeyJgDdhPfSjQOmODuMFaTTLT 5uanBq14Eh6N6E4BSLivpZ52NQzH46ZCw/IQ4tCtevYij4Sv0Oh3uSyk1 NqdNqk37Y6IXCFkhZQWNUNDkKVzf4/TdVHCwQj0ZhhTkra4IsqOavVs5Y U=; X-CSE-ConnectionGUID: cloe3WKiShelNDaPHN35sg== X-CSE-MsgGUID: x29WdvtASH6gXxl/z89ZUA== Received: from 160.46.252.38.spf.bmwgroup.com (HELO esagw2.muc) ([160.46.252.38]) by esa9.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:33 +0200 Received: from esabb1.muc ([160.50.100.31]) by esagw2.muc with ESMTP/TLS; 02 Jul 2025 10:32:33 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb1.muc with ESMTP/TLS; 02 Jul 2025 10:32:27 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:27 +0200 X-CSE-ConnectionGUID: 1636mHwHRx+v14U7RrRKRw== X-CSE-MsgGUID: jAqdhch1QM6jfY/C5fV1Yw== X-CSE-ConnectionGUID: sEnjXZMvQYGRfUIJewUUpg== X-CSE-MsgGUID: GYPjFPo0TOG7O5DZsIt+Dw== From: Moritz Haase To: CC: Moritz Haase Subject: [PATCH v3 4/7] libubootenv: Backport patch to support builds with CMake 4+ Date: Wed, 2 Jul 2025 10:31:45 +0200 Message-ID: <20250702083148.3035805-5-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219806 Commit [0] has been merged upstream, but there hasn't been a release containing it yet. [0]: https://github.com/sbabic/libubootenv/commit/cd12d9dd2bea8e4580f458df77229477fc55ba70 Signed-off-by: Moritz Haase --- changes in v3: - Commit added to series --- ...Update-cmake_minimum_required-to-3.5.patch | 50 +++++++++++++++++++ meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb | 4 +- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch diff --git a/meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch b/meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch new file mode 100644 index 0000000000..ee174ca59e --- /dev/null +++ b/meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch @@ -0,0 +1,50 @@ +From cd12d9dd2bea8e4580f458df77229477fc55ba70 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Wed, 14 May 2025 14:17:40 -0600 +Subject: [PATCH] Update cmake_minimum_required to 3.5 + +This supports compilation with cmake-4.0.0. + +Fixes: +CMake Error at CMakeLists.txt:5 (cmake_minimum_required): + Compatibility with CMake < 3.5 has been removed from CMake. + + Update the VERSION argument value. Or, use the ... syntax + to tell CMake that the project requires at least but has been updated + to work with policies introduced by or earlier. + + Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. + +Signed-off-by: James Hilliard +Upstream-Status: Backport [cd12d9dd2bea8e4580f458df77229477fc55ba70] +--- + CMakeLists.txt | 2 +- + src/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 796d7bc..0a11730 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,7 +2,7 @@ + # + # SPDX-License-Identifier: LGPL-2.1-or-later + +-cmake_minimum_required (VERSION 2.6) ++cmake_minimum_required (VERSION 3.5) + project (libubootenv C) + + # The version number. +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c56d0c7..3370232 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,7 +1,7 @@ + # SPDX-FileCopyrightText: 2019-2021 Stefano Babic + # + # SPDX-License-Identifier: LGPL-2.1-or-later +-cmake_minimum_required (VERSION 2.6) ++cmake_minimum_required (VERSION 3.5) + # Sources and private headers + SET(libubootenv_SOURCES + uboot_env.c diff --git a/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb b/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb index 35678e2361..b63b8ff87d 100644 --- a/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb +++ b/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb @@ -10,7 +10,9 @@ LICENSE = "LGPL-2.1-or-later" LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c" SECTION = "libs" -SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master" +SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master \ + file://0001-Update-cmake_minimum_required-to-3.5.patch \ + " SRCREV = "5507339628b5caf244e1ff9d58cb3fa534b16beb" inherit cmake lib_package From patchwork Wed Jul 2 08:31:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66107 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9BDCC83013 for ; Wed, 2 Jul 2025 08:32:32 +0000 (UTC) Received: from esa4.hc324-48.eu.iphmx.com (esa4.hc324-48.eu.iphmx.com [207.54.71.48]) by mx.groups.io with SMTP id smtpd.web11.18707.1751445151382184809 for ; Wed, 02 Jul 2025 01:32:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=ML3zNAbh; spf=pass (domain: bmw.de, ip: 207.54.71.48, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445151; x=1782981151; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=dQFSPSZdCSQUCYA/HoubvQzeSi9d6vOo+ZZj/pe4l54=; b=ML3zNAbh9vbR1pSyofU/qAU3QrqPeagyGAI3SAvoN70Z9/xj55ftAOfo L4/QYLJjmAWqoX98xOuDQDWstKvWPz++sTmueNN3h3AWPPxLXud3qTOEZ WnaicNX5Wp5uVsgo4An8Cu1dg0dK/f72fGBd/mxVezgQuCTxRWPHvByU5 E=; X-CSE-ConnectionGUID: 8qgN/SzOSoSm4ajniKr7Hg== X-CSE-MsgGUID: 3mx2WsMVSBqX7NJTjbL1Yg== Received: from 160.46.252.35.spf.bmwgroup.com.bmwgroup.com (HELO esagw3.muc) ([160.46.252.35]) by esa4.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:29 +0200 Received: from unknown (HELO esabb4.muc) ([10.31.187.135]) by esagw3.muc with ESMTP/TLS; 02 Jul 2025 10:32:29 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb4.muc with ESMTP/TLS; 02 Jul 2025 10:32:30 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:29 +0200 X-CSE-ConnectionGUID: u3Ob+HauStC6w6YWLvY+uw== X-CSE-MsgGUID: tXX/IE+qRoSlEQ5nqNH3sw== X-CSE-ConnectionGUID: Z4O5eIS5RhmwjWgJyjzedg== X-CSE-MsgGUID: EQ/RD7AcRCGIZjJPvDCZAQ== From: Moritz Haase To: CC: Moritz Haase Subject: [PATCH v3 5/7] musl-locales: Add patch to support builds with CMake 4+ Date: Wed, 2 Jul 2025 10:31:46 +0200 Message-ID: <20250702083148.3035805-6-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:32 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219804 PR [0] has been filed upstream, but isn't merged yet. [0]: https://git.adelielinux.org/adelie/musl-locales/-/merge_requests/10 Signed-off-by: Moritz Haase --- changes in v3: - Commit added to series --- ...red-CMake-version-to-3.5-to-allow-bu.patch | 41 +++++++++++++++++++ meta/recipes-core/musl/musl-locales_git.bb | 4 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-core/musl/musl-locales/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch diff --git a/meta/recipes-core/musl/musl-locales/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch b/meta/recipes-core/musl/musl-locales/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch new file mode 100644 index 0000000000..0c085d6f1d --- /dev/null +++ b/meta/recipes-core/musl/musl-locales/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch @@ -0,0 +1,41 @@ +From bb2f4b18dcf3330340853ee60813ca42e857c814 Mon Sep 17 00:00:00 2001 +From: Moritz Haase +Date: Wed, 2 Jul 2025 08:37:21 +0200 +Subject: [PATCH] cmake: Bump required CMake version to 3.5 to allow builds + with CMake 4+ + +This enables builds with CMake 4+, fixing: + + CMake Error at CMakeLists.txt:2 (cmake_minimum_required): + Compatibility with CMake < 3.5 has been removed from CMake. + + Update the VERSION argument value. Or, use the ... syntax + to tell CMake that the project requires at least but has been + updated to work with policies introduced by or earlier. + + Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. + +While at it, move the 'cmake_minimum_required()' call before 'project()' to fix: + + CMake Warning (dev) at CMakeLists.txt:2 (project): + + cmake_minimum_required() should be called prior to this top-level + project() call. Please see the cmake-commands(7) manual for usage + documentation of both commands. + +Signed-off-by: Moritz Haase +Upstream-Status: Submitted [https://git.adelielinux.org/adelie/musl-locales/-/merge_requests/10] +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c8ac5c4..5cca9b5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,5 @@ ++cmake_minimum_required(VERSION 3.5) + project(locales C) +-cmake_minimum_required(VERSION 2.8) + + option(LOCALE_PROFILE "Install profile file setting the MUSL_LOCPATH environment variable" ON) diff --git a/meta/recipes-core/musl/musl-locales_git.bb b/meta/recipes-core/musl/musl-locales_git.bb index c8510596cf..6086d80fbd 100644 --- a/meta/recipes-core/musl/musl-locales_git.bb +++ b/meta/recipes-core/musl/musl-locales_git.bb @@ -7,7 +7,9 @@ LICENSE = "MIT & LGPL-3.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=cf5713fba707073020b1db2acaa73e78 \ file://LICENSE.MIT;md5=a4f1c6864a83ddf4b754cdab7d593523" -SRC_URI = "git://git.adelielinux.org/adelie/musl-locales;protocol=https;branch=main" +SRC_URI = "git://git.adelielinux.org/adelie/musl-locales;protocol=https;branch=main \ + file://0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch \ + " PV = "1.0+git" SRCREV = "5663f5bfd30bf9e1e0ba3fc5fe2da6725969f30e" From patchwork Wed Jul 2 08:31:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66111 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id EB27CC83F07 for ; Wed, 2 Jul 2025 08:32:42 +0000 (UTC) Received: from esa9.hc324-48.eu.iphmx.com (esa9.hc324-48.eu.iphmx.com [207.54.69.27]) by mx.groups.io with SMTP id smtpd.web11.18710.1751445160256371253 for ; Wed, 02 Jul 2025 01:32:40 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=o9EDzx6F; spf=pass (domain: bmw.de, ip: 207.54.69.27, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445160; x=1782981160; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OWVnvodB05K3r/sgmLk8kGaMUwUHCZsmwAjb6tIAIns=; b=o9EDzx6F9L83Zi/RFF8F3OtGO1ZG/GMPHrgCqtg/qmW82+DP0RcyDuwz 5pwLDsxS8xGEpi1WPnalCCB+yi35+ZZKDpsGcyTvwMQsmZ2NiOtnZrgbe /GzZTTBq1jvCMIUvyNrcMdt9T7aWg3dbpDgw3SwziPl89hJqrOgT7sBxx o=; X-CSE-ConnectionGUID: cloe3WKiShelNDaPHN35sg== X-CSE-MsgGUID: C91sXaSEST2YnpaotmiVRw== Received: from 160.46.252.38.spf.bmwgroup.com (HELO esagw2.muc) ([160.46.252.38]) by esa9.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:38 +0200 Received: from esabb1.muc ([160.50.100.31]) by esagw2.muc with ESMTP/TLS; 02 Jul 2025 10:32:38 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb1.muc with ESMTP/TLS; 02 Jul 2025 10:32:31 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:31 +0200 X-CSE-ConnectionGUID: FHNbLmmaTHKljdEcfnslDg== X-CSE-MsgGUID: i1gXeYixSfyBDjdP1eBFKg== X-CSE-ConnectionGUID: BiynFOqYRnu9JqHy1H3EOA== X-CSE-MsgGUID: WZjIt93jTV6aNzYWAqcRHA== From: Moritz Haase To: CC: Moritz Haase Subject: [PATCH v3 6/7] libwpe: Add patch to support builds with CMake 4+ Date: Wed, 2 Jul 2025 10:31:47 +0200 Message-ID: <20250702083148.3035805-7-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219808 PR [0] has been filed upstream, but isn't merged yet. [0]: https://github.com/WebPlatformForEmbedded/libwpe/pull/136 Signed-off-by: Moritz Haase --- changes in v3: - Commit added to series --- ...red-CMake-version-to-3.5-to-allow-bu.patch | 38 +++++++++++++++++++ meta/recipes-sato/webkit/libwpe_1.16.2.bb | 6 ++- 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-sato/webkit/libwpe/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch diff --git a/meta/recipes-sato/webkit/libwpe/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch b/meta/recipes-sato/webkit/libwpe/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch new file mode 100644 index 0000000000..05688ee463 --- /dev/null +++ b/meta/recipes-sato/webkit/libwpe/0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch @@ -0,0 +1,38 @@ +From 7b227c7c1ac226498b1ea3987f87350d0f14f49f Mon Sep 17 00:00:00 2001 +From: Moritz Haase +Date: Wed, 2 Jul 2025 09:19:44 +0200 +Subject: [PATCH] cmake: Bump required CMake version to 3.5 to allow builds + with CMake 4+ + +This enables builds with CMake 4+, fixing: + + CMake Error at CMakeLists.txt:1 (cmake_minimum_required): + Compatibility with CMake < 3.5 has been removed from CMake. + + Update the VERSION argument value. Or, use the ... syntax + to tell CMake that the project requires at least but has been + updated to work with policies introduced by or earlier. + + Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. + +While at it, remove the extra call to 'cmake_policy()'. When passing the same +version as to 'cmake_minimum_required()' it's not needed, as the latter calls +the former automatically. + +Signed-off-by: Moritz Haase +Upstream-Status: Submitted [https://github.com/WebPlatformForEmbedded/libwpe/pull/136] +--- + CMakeLists.txt | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index db9ae50..2a01daf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) +-cmake_policy(VERSION 3.0) ++cmake_minimum_required(VERSION 3.5) + + set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + include(VersioningUtils) diff --git a/meta/recipes-sato/webkit/libwpe_1.16.2.bb b/meta/recipes-sato/webkit/libwpe_1.16.2.bb index 324e2f213c..6cb6818acc 100644 --- a/meta/recipes-sato/webkit/libwpe_1.16.2.bb +++ b/meta/recipes-sato/webkit/libwpe_1.16.2.bb @@ -10,9 +10,11 @@ inherit cmake features_check pkgconfig REQUIRED_DISTRO_FEATURES = "opengl" -SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz" +SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz \ + file://0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch \ + " SRC_URI[sha256sum] = "960bdd11c3f2cf5bd91569603ed6d2aa42fd4000ed7cac930a804eac367888d7" # This is a tweak of upstream-version-is-even needed because -# ipstream directory contains tarballs for other components as well. +# upstream directory contains tarballs for other components as well. UPSTREAM_CHECK_REGEX = "libwpe-(?P\d+\.(\d*[02468])+(\.\d+)+)\.tar" From patchwork Wed Jul 2 08:31:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Haase Moritz, JD-62" X-Patchwork-Id: 66112 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4CBEC8303F for ; Wed, 2 Jul 2025 08:32:42 +0000 (UTC) Received: from esa4.hc324-48.eu.iphmx.com (esa4.hc324-48.eu.iphmx.com [207.54.71.48]) by mx.groups.io with SMTP id smtpd.web11.18707.1751445151382184809 for ; Wed, 02 Jul 2025 01:32:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@bmw.de header.s=mailing1 header.b=ihB5GJ8C; spf=pass (domain: bmw.de, ip: 207.54.71.48, mailfrom: prvs=27128fcf3=moritz.haase@bmw.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bmw.de; i=@bmw.de; q=dns/txt; s=mailing1; t=1751445154; x=1782981154; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=2FQHYPj0YFLW+ATGChvzrqXAauY3/GRKKCS3NIfD9pc=; b=ihB5GJ8C0k6Ee8RL4C5177bTPj8iCmdzJ04YtabwxSDX7sCaR3uT4gV7 nzIV5WcjicdUor0EjuhRRTo0hR1+qnA8jDEznG7PVnXK9QgUdFFNGZLL7 aH5W9M7/8BwVcthlXjCdsQzzE5TFKPppbAdi/kWNCgcvQ0fap+Y0s3+2K A=; X-CSE-ConnectionGUID: 8qgN/SzOSoSm4ajniKr7Hg== X-CSE-MsgGUID: AgPT4dHzQZmOgGuCW07bdA== Received: from 160.46.252.35.spf.bmwgroup.com.bmwgroup.com (HELO esagw3.muc) ([160.46.252.35]) by esa4.hc324-48.eu.iphmx.com with ESMTP/TLS; 02 Jul 2025 10:32:33 +0200 Received: from unknown (HELO esabb4.muc) ([10.31.187.135]) by esagw3.muc with ESMTP/TLS; 02 Jul 2025 10:32:33 +0200 Received: from smucmp12a.bmwgroup.net (HELO smucmp12a.europe.bmw.corp) ([10.30.13.95]) by esabb4.muc with ESMTP/TLS; 02 Jul 2025 10:32:34 +0200 Received: from q1054628.de-cci.bmwgroup.net (10.30.85.204) by smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) with Microsoft SMTP Server (version=TLS; Wed, 2 Jul 2025 10:32:33 +0200 X-CSE-ConnectionGUID: 1JV6h9IgSPCYE7oPcMB7lA== X-CSE-MsgGUID: zBHQ+J7hTI6OiGPtCH2CwA== X-CSE-ConnectionGUID: 8WTce6xwQg+huwYePpFRrA== X-CSE-MsgGUID: erfL57XHS0OGYTpAWwGLDQ== From: Moritz Haase To: CC: Moritz Haase , Subject: [PATCH v3 7/7] cmake: upgrade 3.31.6 -> 4.0.3 Date: Wed, 2 Jul 2025 10:31:48 +0200 Message-ID: <20250702083148.3035805-8-Moritz.Haase@bmw.de> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250702083148.3035805-1-Moritz.Haase@bmw.de> References: <20250702083148.3035805-1-Moritz.Haase@bmw.de> MIME-Version: 1.0 X-ClientProxiedBy: smucmp18e.europe.bmw.corp (2a03:1e80:a15:58f::1:75) To smucmp12a.europe.bmw.corp (2a03:1e80:a15:58f::1:9) List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 02 Jul 2025 08:32:42 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/219807 This is the first major release bump for CMake since 3.0 was released in 2014. Compatibility with versions of CMake older than 3.5 has been removed. Full release notes are available at [0]. Obsolete patches have been removed and the few remaining ones have been refreshed. We can now build cmake without patches, only cmake-native requires two that are not suitable for upstreaming. The main license file has been renamed from Copyright.txt to LICENSE.rst in [1]. References to the file have been updated, causing changes to the licensing header in 'cmake.h' (see [2]). Additionally, the '1996 - 2024' copyright statement in (cm)curl's COPYING was updated to '1996 - 2025' in [3]. [0]: https://cmake.org/cmake/help/v4.0/release/4.0.html [1]: https://gitlab.kitware.com/cmake/cmake/-/commit/2d42a5444f859891b6598c76ea5d51510013565e [2]: https://gitlab.kitware.com/cmake/cmake/-/commit/de273b2e115974a012a6204ffee046dc9ce77586 [3]: https://gitlab.kitware.com/cmake/cmake/-/commit/48b13baebc7f99442c3b872f202efd2fb92d6d7f License-Update: License file renamed; copyright years updated Signed-off-by: Moritz Haase CC: alex.kanavin@gmail.com --- changes in v3: - Fix for test failure seen in SDK tests changes in v2: - Squashed license update into this commit to keep bisectability - Fixed patchtest findings --- .../sdkext/files/myapp_cmake/CMakeLists.txt | 2 +- ...native_3.31.6.bb => cmake-native_4.0.3.bb} | 6 +- meta/recipes-devtools/cmake/cmake.inc | 8 +- ...mpilerABI-Strip-pipe-from-compile-fl.patch | 63 ------ ...xt2fs-ext2_fs.h-by-cmake-s-internal.patch} | 4 +- ...ng-undocumented-type-for-CURLOPT_NET.patch | 30 --- ...trary-characters-in-test-names-of-CT.patch | 202 ------------------ ...-CMakeLists.txt-disable-USE_NGHTTP2.patch} | 6 +- .../cmake/{cmake_3.31.6.bb => cmake_4.0.3.bb} | 1 - 9 files changed, 12 insertions(+), 310 deletions(-) rename meta/recipes-devtools/cmake/{cmake-native_3.31.6.bb => cmake-native_4.0.3.bb} (90%) delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch rename meta/recipes-devtools/cmake/cmake/{0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch => 0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch} (90%) delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch rename meta/recipes-devtools/cmake/cmake/{0001-CMakeLists.txt-disable-USE_NGHTTP2.patch => 0002-CMakeLists.txt-disable-USE_NGHTTP2.patch} (83%) rename meta/recipes-devtools/cmake/{cmake_3.31.6.bb => cmake_4.0.3.bb} (96%) diff --git a/meta/lib/oeqa/sdkext/files/myapp_cmake/CMakeLists.txt b/meta/lib/oeqa/sdkext/files/myapp_cmake/CMakeLists.txt index 19d773dd63..b31f1622e2 100644 --- a/meta/lib/oeqa/sdkext/files/myapp_cmake/CMakeLists.txt +++ b/meta/lib/oeqa/sdkext/files/myapp_cmake/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.6) +cmake_minimum_required (VERSION 3.10) project (myapp) # The version number. set (myapp_VERSION_MAJOR 1) diff --git a/meta/recipes-devtools/cmake/cmake-native_3.31.6.bb b/meta/recipes-devtools/cmake/cmake-native_4.0.3.bb similarity index 90% rename from meta/recipes-devtools/cmake/cmake-native_3.31.6.bb rename to meta/recipes-devtools/cmake/cmake-native_4.0.3.bb index b940abb3fd..7b90bff52f 100644 --- a/meta/recipes-devtools/cmake/cmake-native_3.31.6.bb +++ b/meta/recipes-devtools/cmake/cmake-native_4.0.3.bb @@ -5,8 +5,8 @@ DEPENDS += "bzip2-replacement-native xz-native zlib-native ncurses-native zstd-n SRC_URI += "file://OEToolchainConfig.cmake \ file://environment.d-cmake.sh \ - file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \ - file://0001-CMakeLists.txt-disable-USE_NGHTTP2.patch \ + file://0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch \ + file://0002-CMakeLists.txt-disable-USE_NGHTTP2.patch \ " LICENSE:append = " & BSD-1-Clause & MIT & BSD-2-Clause & curl" @@ -16,7 +16,7 @@ LIC_FILES_CHKSUM:append = " \ file://Utilities/cmexpat/COPYING;md5=7b3b078238d0901d3b339289117cb7fb \ file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \ file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \ - file://Utilities/cmcurl/COPYING;md5=eed2e5088e1ac619c9a1c747da291d75 \ + file://Utilities/cmcurl/COPYING;md5=72f4e9890e99e68d77b7e40703d789b8 \ " B = "${WORKDIR}/build" diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc index 9b1898f22f..a15dfd3bb4 100644 --- a/meta/recipes-devtools/cmake/cmake.inc +++ b/meta/recipes-devtools/cmake/cmake.inc @@ -10,18 +10,16 @@ HOMEPAGE = "http://www.cmake.org/" BUGTRACKER = "http://public.kitware.com/Bug/my_view_page.php" SECTION = "console/utils" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://Copyright.txt;md5=718f05155941b33862726348d3cd46ce \ - file://Source/cmake.h;beginline=1;endline=2;md5=a5f70e1fef8614734eae0d62b4f5891b \ +LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0cafc0f3b6b28f3d5ecb5d1a68c36471 \ + file://Source/cmake.h;beginline=1;endline=2;md5=4ba59ac0e953e1a713eea8c55b1d531b \ " CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \ - file://0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch \ - file://0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch \ " -SRC_URI[sha256sum] = "653427f0f5014750aafff22727fb2aa60c6c732ca91808cfb78ce22ddd9e55f0" +SRC_URI[sha256sum] = "8d3537b7b7732660ea247398f166be892fe6131d63cc291944b45b91279f3ffb" UPSTREAM_CHECK_REGEX = "cmake-(?P\d+(\.\d+)+)\.tar" diff --git a/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch b/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch deleted file mode 100644 index 3895c7e03b..0000000000 --- a/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e4061151ac13bc727512d961a80faca3ceb22b5a Mon Sep 17 00:00:00 2001 -From: Philip Lorenz -Date: Mon, 3 Jun 2024 13:19:24 +0200 -Subject: [PATCH] CMakeDetermineCompilerABI: Strip -pipe from compile flags - -When `-pipe` is enabled, GCC passes data between its different -executables using pipes instead of temporary files. This leads to issues -when cmake attempts to infer compiler internals via the `-v` parameter -as each executable will print to `stderr` in parallel. - -For example we have observed the following outputs in our builds which -sporadically lead to build failures as system include directories were -not detected reliably: - -Parsed CXX implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [.../usr/bin/x86_64-poky-linux/../../lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.4.0/include] - add: [.../usr/bin/x86_64-poky-linux/../../lib/x86_64-poky-linux/gcc/x86_64-poky-linux/11.4.0/include-fixed] - add: [.../usr/include/c++/11.4.0] - add: [.../usr/include/c++/11.4.0/x86_64-poky-linux] - add: [.../usr/include/c++/11.4.0/backward] - add: [.../usr/lib/x86_64-poky-linux/11.4.0/include] - add: [...GNU assembler version 2.38 (x86_64-poky-linux) using BFD version (GNU Binutils) 2.38.20220708] - add: [/usr/include] - end of search list found - -Fix this issue by stripping the `-pipe` parameter from the compilation -flag when determining the toolchain configuration. - -Upstream-Status: Backport [3.32.0, 71be059f3f32b6791427893a48ba4815a19e2e78] -Signed-off-by: Philip Lorenz ---- - Modules/CMakeDetermineCompilerABI.cmake | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake -index 4a75e25a..806f0b71 100644 ---- a/Modules/CMakeDetermineCompilerABI.cmake -+++ b/Modules/CMakeDetermineCompilerABI.cmake -@@ -52,14 +52,21 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src) - - __TestCompiler_setTryCompileTargetType() - -- # Avoid failing ABI detection on warnings. -+ # Avoid failing ABI detection caused by non-functionally relevant -+ # compiler arguments - if(CMAKE_TRY_COMPILE_CONFIGURATION) - string(TOUPPER "${CMAKE_TRY_COMPILE_CONFIGURATION}" _tc_config) - else() - set(_tc_config "DEBUG") - endif() - foreach(v CMAKE_${lang}_FLAGS CMAKE_${lang}_FLAGS_${_tc_config}) -+ # Avoid failing ABI detection on warnings. - string(REGEX REPLACE "(^| )-Werror([= ][^-][^ ]*)?( |$)" " " ${v} "${${v}}") -+ # Avoid passing of "-pipe" when determining the compiler internals. With -+ # "-pipe" GCC will use pipes to pass data between the involved -+ # executables. This may lead to issues when their stderr output (which -+ # contains the relevant compiler internals) becomes interweaved. -+ string(REGEX REPLACE "(^| )-pipe( |$)" " " ${v} "${${v}}") - endforeach() - - # Save the current LC_ALL, LC_MESSAGES, and LANG environment variables diff --git a/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch b/meta/recipes-devtools/cmake/cmake/0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch similarity index 90% rename from meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch rename to meta/recipes-devtools/cmake/cmake/0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch index 7559c52932..f31dce5644 100644 --- a/meta/recipes-devtools/cmake/cmake/0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch +++ b/meta/recipes-devtools/cmake/cmake/0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch @@ -1,4 +1,4 @@ -From 8effa783e47e2b574be90733c38b27701e06e929 Mon Sep 17 00:00:00 2001 +From cf8210696ebbaff14612d845bc98fac447c0e6f5 Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Thu, 5 Jul 2018 10:28:04 -0300 Subject: [PATCH] Disable use of ext2fs/ext2_fs.h by cmake's internal @@ -18,7 +18,7 @@ Signed-off-by: Otavio Salvador 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt -index 4e4b49c1..50e9a733 100644 +index 04d986b6ea7d8dc0bd7e909d4e7b4e73c9e35437..014fe78063f7d30c9a4970b7cf3aeeaeb36bcdbc 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt @@ -745,12 +745,8 @@ LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H) diff --git a/meta/recipes-devtools/cmake/cmake/0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch b/meta/recipes-devtools/cmake/cmake/0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch deleted file mode 100644 index c719c1fdfb..0000000000 --- a/meta/recipes-devtools/cmake/cmake/0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c608975f4490f67872926f2601e5c37f2e570307 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Wed, 9 Apr 2025 01:40:46 +0000 -Subject: [PATCH] cmCurl: Avoid using undocumented type for CURLOPT_NETRC - values - -Fix: nativesdk-cmake/3.31.6/cmake-3.31.6/Source/cmCurl.cxx:178:26: error: invalid conversion from 'long int' to 'CURL_NETRC_OPTION' [-fpermissive] -Upstream-Status: Backport [https://gitlab.kitware.com/cmake/cmake/-/merge_requests/10449/diffs?commit_id=1b0c92a3a1b782ff3e1c4499b6ab8db614d45bcd] - -Signed-off-by: Wang Mingyu ---- - Source/cmCurl.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/cmCurl.cxx b/Source/cmCurl.cxx -index b9133ed7..0cf8a71a 100644 ---- a/Source/cmCurl.cxx -+++ b/Source/cmCurl.cxx -@@ -170,7 +170,7 @@ std::string cmCurlSetNETRCOption(::CURL* curl, const std::string& netrc_level, - const std::string& netrc_file) - { - std::string e; -- CURL_NETRC_OPTION curl_netrc_level = CURL_NETRC_LAST; -+ long curl_netrc_level = CURL_NETRC_LAST; - ::CURLcode res; - - if (!netrc_level.empty()) { --- -2.43.0 - diff --git a/meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch b/meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch deleted file mode 100644 index 31f6148cac..0000000000 --- a/meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch +++ /dev/null @@ -1,202 +0,0 @@ -From c7e8b03324883760a2d6fab86ae034beb82af651 Mon Sep 17 00:00:00 2001 -From: John Drouhard -Date: Thu, 9 Jan 2025 20:34:42 -0600 -Subject: [PATCH] ctest: Allow arbitrary characters in test names of - CTestCostData.txt - -This changes the way lines in CTestCostData.txt are parsed to allow for -spaces in the test name. - -It does so by looking for space characters from the end; and once two -have been found, assumes everything from the beginning up to that -second-to-last-space is the test name. - -Additionally, parsing the file should be much more efficient since there -is no string or vector heap allocation per line. The std::string used by -the parse function to convert the int and float should be within most -standard libraries' small string optimization. - -Fixes: #26594 - -Upstream-Status: Backport [4.0.0, 040da7d83216ace59710407e8ce35d5fd38e1340] -Signed-off-by: Moritz Haase ---- - Source/CTest/cmCTestMultiProcessHandler.cxx | 77 +++++++++++++++------ - Source/CTest/cmCTestMultiProcessHandler.h | 3 +- - Tests/CTestTestScheduler/CMakeLists.txt | 4 +- - 3 files changed, 61 insertions(+), 23 deletions(-) - -diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx -index 84ea32b84d40025ec333a90d30c42eeaf7adc9ef..231e7b5f39b1d8aa75f4e59a890a099b53fcdaac 100644 ---- a/Source/CTest/cmCTestMultiProcessHandler.cxx -+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx -@@ -20,6 +20,7 @@ - - #include - #include -+#include - #include - - #include -@@ -52,6 +53,48 @@ constexpr unsigned long kParallelLevelMinimum = 2u; - // Under a job server, parallelism is effectively limited - // only by available job server tokens. - constexpr unsigned long kParallelLevelUnbounded = 0x10000u; -+ -+struct CostEntry -+{ -+ cm::string_view name; -+ int prevRuns; -+ float cost; -+}; -+ -+cm::optional splitCostLine(cm::string_view line) -+{ -+ std::string part; -+ cm::string_view::size_type pos1 = line.size(); -+ cm::string_view::size_type pos2 = line.find_last_of(' ', pos1); -+ auto findNext = [line, &part, &pos1, &pos2]() -> bool { -+ if (pos2 != cm::string_view::npos) { -+ cm::string_view sub = line.substr(pos2 + 1, pos1 - pos2 - 1); -+ part.assign(sub.begin(), sub.end()); -+ pos1 = pos2; -+ if (pos1 > 0) { -+ pos2 = line.find_last_of(' ', pos1 - 1); -+ } -+ return true; -+ } -+ return false; -+ }; -+ -+ // parse the cost -+ if (!findNext()) { -+ return cm::nullopt; -+ } -+ float cost = static_cast(atof(part.c_str())); -+ -+ // parse the previous runs -+ if (!findNext()) { -+ return cm::nullopt; -+ } -+ int prev = atoi(part.c_str()); -+ -+ // from start to the last found space is the name -+ return CostEntry{ line.substr(0, pos1), prev, cost }; -+} -+ - } - - namespace cmsys { -@@ -797,24 +840,21 @@ void cmCTestMultiProcessHandler::UpdateCostData() - if (line == "---") { - break; - } -- std::vector parts = cmSystemTools::SplitString(line, ' '); - // Format: -- if (parts.size() < 3) { -+ cm::optional entry = splitCostLine(line); -+ if (!entry) { - break; - } - -- std::string name = parts[0]; -- int prev = atoi(parts[1].c_str()); -- float cost = static_cast(atof(parts[2].c_str())); -- -- int index = this->SearchByName(name); -+ int index = this->SearchByName(entry->name); - if (index == -1) { - // This test is not in memory. We just rewrite the entry -- fout << name << " " << prev << " " << cost << "\n"; -+ fout << entry->name << " " << entry->prevRuns << " " << entry->cost -+ << "\n"; - } else { - // Update with our new average cost -- fout << name << " " << this->Properties[index]->PreviousRuns << " " -- << this->Properties[index]->Cost << "\n"; -+ fout << entry->name << " " << this->Properties[index]->PreviousRuns -+ << " " << this->Properties[index]->Cost << "\n"; - temp.erase(index); - } - } -@@ -850,28 +890,25 @@ void cmCTestMultiProcessHandler::ReadCostData() - break; - } - -- std::vector parts = cmSystemTools::SplitString(line, ' '); -+ // Format: -+ cm::optional entry = splitCostLine(line); - - // Probably an older version of the file, will be fixed next run -- if (parts.size() < 3) { -+ if (!entry) { - fin.close(); - return; - } - -- std::string name = parts[0]; -- int prev = atoi(parts[1].c_str()); -- float cost = static_cast(atof(parts[2].c_str())); -- -- int index = this->SearchByName(name); -+ int index = this->SearchByName(entry->name); - if (index == -1) { - continue; - } - -- this->Properties[index]->PreviousRuns = prev; -+ this->Properties[index]->PreviousRuns = entry->prevRuns; - // When not running in parallel mode, don't use cost data - if (this->GetParallelLevel() > 1 && this->Properties[index] && - this->Properties[index]->Cost == 0) { -- this->Properties[index]->Cost = cost; -+ this->Properties[index]->Cost = entry->cost; - } - } - // Next part of the file is the failed tests -@@ -884,7 +921,7 @@ void cmCTestMultiProcessHandler::ReadCostData() - } - } - --int cmCTestMultiProcessHandler::SearchByName(std::string const& name) -+int cmCTestMultiProcessHandler::SearchByName(cm::string_view name) - { - int index = -1; - -diff --git a/Source/CTest/cmCTestMultiProcessHandler.h b/Source/CTest/cmCTestMultiProcessHandler.h -index fd6c17f2fac06949c20f3792dd3eae442b15850b..811be613c3387240c0181f8372b24cf09219621f 100644 ---- a/Source/CTest/cmCTestMultiProcessHandler.h -+++ b/Source/CTest/cmCTestMultiProcessHandler.h -@@ -13,6 +13,7 @@ - #include - - #include -+#include - - #include "cmCTest.h" - #include "cmCTestResourceAllocator.h" -@@ -110,7 +111,7 @@ protected: - void UpdateCostData(); - void ReadCostData(); - // Return index of a test based on its name -- int SearchByName(std::string const& name); -+ int SearchByName(cm::string_view name); - - void CreateTestCostList(); - -diff --git a/Tests/CTestTestScheduler/CMakeLists.txt b/Tests/CTestTestScheduler/CMakeLists.txt -index 6f8cb4dbc0de35984540e1868788e0a02124e819..daf6ce2b23d8c048334ae1047759130b246dccef 100644 ---- a/Tests/CTestTestScheduler/CMakeLists.txt -+++ b/Tests/CTestTestScheduler/CMakeLists.txt -@@ -1,9 +1,9 @@ --cmake_minimum_required(VERSION 3.10) -+cmake_minimum_required(VERSION 3.19) - project (CTestTestScheduler) - include (CTest) - - add_executable (Sleep sleep.c) - - foreach (time RANGE 1 4) -- add_test (TestSleep${time} Sleep ${time}) -+ add_test ("TestSleep ${time}" Sleep ${time}) - endforeach () diff --git a/meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch b/meta/recipes-devtools/cmake/cmake/0002-CMakeLists.txt-disable-USE_NGHTTP2.patch similarity index 83% rename from meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch rename to meta/recipes-devtools/cmake/cmake/0002-CMakeLists.txt-disable-USE_NGHTTP2.patch index ab78fa26ba..158eea2c3e 100644 --- a/meta/recipes-devtools/cmake/cmake/0001-CMakeLists.txt-disable-USE_NGHTTP2.patch +++ b/meta/recipes-devtools/cmake/cmake/0002-CMakeLists.txt-disable-USE_NGHTTP2.patch @@ -1,4 +1,4 @@ -From 061253f390ada0661b30cf8856fa8d8d40a7355d Mon Sep 17 00:00:00 2001 +From e0a1996a85dcb43d69d3c7daecab4da74599e5ba Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Wed, 28 Dec 2022 17:51:27 +0800 Subject: [PATCH] CMakeLists.txt: disable USE_NGHTTP2 @@ -22,10 +22,10 @@ Signed-off-by: Trevor Gamblin 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt -index ef6c269e..ecaac497 100644 +index 75b510205984894ffa11461e7aa04d3c479709b4..83463042d82d9c7f17932753f47c47b12aeec85b 100644 --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt -@@ -99,7 +99,7 @@ set(USE_ECH OFF) +@@ -105,7 +105,7 @@ set(USE_ECH OFF) set(USE_HTTPSRR OFF) set(USE_LIBIDN2 ON) set(USE_LIBRTMP OFF) diff --git a/meta/recipes-devtools/cmake/cmake_3.31.6.bb b/meta/recipes-devtools/cmake/cmake_4.0.3.bb similarity index 96% rename from meta/recipes-devtools/cmake/cmake_3.31.6.bb rename to meta/recipes-devtools/cmake/cmake_4.0.3.bb index 2d343d6f52..7d8b8cac65 100644 --- a/meta/recipes-devtools/cmake/cmake_3.31.6.bb +++ b/meta/recipes-devtools/cmake/cmake_4.0.3.bb @@ -5,7 +5,6 @@ inherit cmake bash-completion DEPENDS += "curl expat zlib libarchive xz ncurses bzip2" SRC_URI:append:class-nativesdk = " \ - file://0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch \ file://OEToolchainConfig.cmake \ file://SDKToolchainConfig.cmake.template \ file://cmake-setup.py \