diff options
| author | Moritz Haase <Moritz.Haase@bmw.de> | 2025-07-03 15:27:15 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-07-07 22:12:50 +0100 |
| commit | b64a3a3d60fbf07a812f06bb05efab89153af0ad (patch) | |
| tree | ae66df46654c494faed44c34d336a9091450de5c | |
| parent | 6e416d9247cc5cd6c21b769d66bd362f1d01a407 (diff) | |
| download | poky-b64a3a3d60fbf07a812f06bb05efab89153af0ad.tar.gz | |
createrepo-c: Backport patches to support builds with CMake 4+
There hasn't been a new upstream release yet that ships the required changes.
(From OE-Core rev: 79b17a3ef8756373c1500f20ab69b228b2bf0902)
Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
5 files changed, 355 insertions, 0 deletions
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 @@ | |||
| 1 | From 122963c764b06a4b487b32d4d1da330bd83da4d8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: fundawang <fundawang@yeah.net> | ||
| 3 | Date: Mon, 17 Mar 2025 19:05:08 +0800 | ||
| 4 | Subject: [PATCH] Fix libname of Libs.private | ||
| 5 | |||
| 6 | Upstream-Status: Backport [1c712194e604f6dd4f8a881e09d8236d4f770b67] | ||
| 7 | Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de> | ||
| 8 | --- | ||
| 9 | src/createrepo_c.pc.cmake | 2 +- | ||
| 10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 11 | |||
| 12 | diff --git a/src/createrepo_c.pc.cmake b/src/createrepo_c.pc.cmake | ||
| 13 | index 466487e2f490db28576611924e3d9ac94a99cb51..b7eb66318781b01f2b1348ab2c9dbd24d9a5c32f 100644 | ||
| 14 | --- a/src/createrepo_c.pc.cmake | ||
| 15 | +++ b/src/createrepo_c.pc.cmake | ||
| 16 | @@ -8,5 +8,5 @@ Version: @VERSION@ | ||
| 17 | Requires: glib-2.0 rpm libcurl sqlite3 | ||
| 18 | Requires.private: zlib libxml-2.0 | ||
| 19 | Libs: -L${libdir} -lcreaterepo_c | ||
| 20 | -Libs.private: -lbz2 -lzma | ||
| 21 | +Libs.private: -lbz2 -llzma | ||
| 22 | 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 @@ | |||
| 1 | From 545532ec468d0dc768fee8a5e83153440509b273 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Pietro Cerutti <gahr@gahr.ch> | ||
| 3 | Date: Tue, 1 Oct 2024 12:10:40 +0000 | ||
| 4 | Subject: [PATCH] Use IMPORTED_TARGET for 3rd-party dependencies | ||
| 5 | |||
| 6 | The current CMakeLists.txt fails to include the required link directories for 3rd-party packages. | ||
| 7 | 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. | ||
| 8 | |||
| 9 | 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. | ||
| 10 | |||
| 11 | Upstream-Status: Backport [89fa02828cdaf1c710c38bde5fcbcf59538a9cce] | ||
| 12 | Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de> | ||
| 13 | --- | ||
| 14 | CMakeLists.txt | 22 +++++++++++----------- | ||
| 15 | src/CMakeLists.txt | 36 ++++++++++++++++++------------------ | ||
| 16 | tests/CMakeLists.txt | 30 +++++++++++++++--------------- | ||
| 17 | 3 files changed, 44 insertions(+), 44 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 20 | index 9a18393f526a4eb74a53d5bddc84f75afcf0499c..c4bf525200ba24eb69ad08feb68b30f065bdac22 100644 | ||
| 21 | --- a/CMakeLists.txt | ||
| 22 | +++ b/CMakeLists.txt | ||
| 23 | @@ -1,4 +1,4 @@ | ||
| 24 | -CMAKE_MINIMUM_REQUIRED (VERSION 2.8.12) | ||
| 25 | +CMAKE_MINIMUM_REQUIRED (VERSION 3.7) | ||
| 26 | PROJECT (createrepo_c C) | ||
| 27 | |||
| 28 | include(GNUInstallDirs) | ||
| 29 | @@ -39,13 +39,13 @@ find_package(LibXml2 REQUIRED) | ||
| 30 | find_package(OpenSSL REQUIRED) | ||
| 31 | find_package(ZLIB REQUIRED) | ||
| 32 | |||
| 33 | -pkg_check_modules(GLIB2 REQUIRED glib-2.0) | ||
| 34 | -pkg_check_modules(GIO REQUIRED gio-2.0) | ||
| 35 | -pkg_check_modules(GTHREAD2 REQUIRED gthread-2.0) | ||
| 36 | -pkg_check_modules(LZMA REQUIRED liblzma) | ||
| 37 | -pkg_check_modules(SQLITE3 REQUIRED sqlite3>=3.6.18) | ||
| 38 | -pkg_check_modules(RPM REQUIRED rpm) | ||
| 39 | -pkg_check_modules(ZSTD REQUIRED libzstd) | ||
| 40 | +pkg_check_modules(GLIB2 REQUIRED IMPORTED_TARGET glib-2.0) | ||
| 41 | +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) | ||
| 42 | +pkg_check_modules(GTHREAD2 REQUIRED IMPORTED_TARGET gthread-2.0) | ||
| 43 | +pkg_check_modules(LZMA REQUIRED IMPORTED_TARGET liblzma) | ||
| 44 | +pkg_check_modules(SQLITE3 REQUIRED IMPORTED_TARGET sqlite3>=3.6.18) | ||
| 45 | +pkg_check_modules(RPM REQUIRED IMPORTED_TARGET rpm) | ||
| 46 | +pkg_check_modules(ZSTD REQUIRED IMPORTED_TARGET libzstd) | ||
| 47 | |||
| 48 | # Add include dirs | ||
| 49 | |||
| 50 | @@ -73,7 +73,7 @@ ENDIF (WITH_LEGACY_HASHES) | ||
| 51 | # drpm | ||
| 52 | OPTION (ENABLE_DRPM "Enable delta RPM support?" OFF) | ||
| 53 | IF (ENABLE_DRPM) | ||
| 54 | - pkg_check_modules(DRPM REQUIRED drpm>=0.4.0) | ||
| 55 | + pkg_check_modules(DRPM REQUIRED IMPORTED_TARGET drpm>=0.4.0) | ||
| 56 | include_directories (${DRPM_INCLUDE_DIRS}) | ||
| 57 | ADD_DEFINITIONS("-DCR_DELTA_RPM_SUPPORT") | ||
| 58 | ENDIF (ENABLE_DRPM) | ||
| 59 | @@ -83,7 +83,7 @@ OPTION (ENABLE_PYTHON "Enable python support?" ON) | ||
| 60 | |||
| 61 | OPTION (WITH_ZCHUNK "Build with zchunk support" ON) | ||
| 62 | IF (WITH_ZCHUNK) | ||
| 63 | - pkg_check_modules(ZCK REQUIRED zck) | ||
| 64 | + pkg_check_modules(ZCK REQUIRED IMPORTED_TARGET zck) | ||
| 65 | include_directories(${ZCK_INCLUDE_DIRS}) | ||
| 66 | SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWITH_ZCHUNK") | ||
| 67 | SET (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DWITH_ZCHUNK") | ||
| 68 | @@ -91,7 +91,7 @@ ENDIF (WITH_ZCHUNK) | ||
| 69 | |||
| 70 | OPTION (WITH_LIBMODULEMD "Build with libmodulemd support" ON) | ||
| 71 | IF (WITH_LIBMODULEMD) | ||
| 72 | - pkg_check_modules(LIBMODULEMD REQUIRED modulemd-2.0) | ||
| 73 | + pkg_check_modules(LIBMODULEMD REQUIRED IMPORTED_TARGET modulemd-2.0) | ||
| 74 | include_directories(${LIBMODULEMD_INCLUDE_DIRS}) | ||
| 75 | SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DWITH_LIBMODULEMD") | ||
| 76 | SET (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DWITH_LIBMODULEMD") | ||
| 77 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
| 78 | index 61b048044392b4204984af8969c3b1d74a9b8094..5309050bdadf6a14d9cddf4529d309ef97cc6d2c 100644 | ||
| 79 | --- a/src/CMakeLists.txt | ||
| 80 | +++ b/src/CMakeLists.txt | ||
| 81 | @@ -86,18 +86,18 @@ ENDIF () | ||
| 82 | ADD_LIBRARY(libcreaterepo_c ${createrepo_c_library_type} ${createrepo_c_SRCS}) | ||
| 83 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${BZIP2_LIBRARIES}) | ||
| 84 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY}) | ||
| 85 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 86 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${GIO_LIBRARIES}) | ||
| 87 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBMODULEMD_LIBRARIES}) | ||
| 88 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GLIB2) | ||
| 89 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GIO) | ||
| 90 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LIBMODULEMD) | ||
| 91 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES}) | ||
| 92 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${LZMA_LIBRARIES}) | ||
| 93 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LZMA) | ||
| 94 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${OPENSSL_LIBRARIES}) | ||
| 95 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${RPM_LIBRARIES}) | ||
| 96 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${SQLITE3_LIBRARIES}) | ||
| 97 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::RPM) | ||
| 98 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::SQLITE3) | ||
| 99 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZLIB_LIBRARY}) | ||
| 100 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZCK_LIBRARIES}) | ||
| 101 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${DRPM_LIBRARIES}) | ||
| 102 | -TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZSTD_LIBRARIES}) | ||
| 103 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZCK) | ||
| 104 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::DRPM) | ||
| 105 | +TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZSTD) | ||
| 106 | |||
| 107 | SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES | ||
| 108 | OUTPUT_NAME "createrepo_c" | ||
| 109 | @@ -108,27 +108,27 @@ SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES | ||
| 110 | ADD_EXECUTABLE(createrepo_c createrepo_c.c cmd_parser.c) | ||
| 111 | TARGET_LINK_LIBRARIES(createrepo_c | ||
| 112 | libcreaterepo_c | ||
| 113 | - ${GLIB2_LIBRARIES} | ||
| 114 | - ${GTHREAD2_LIBRARIES}) | ||
| 115 | + PkgConfig::GLIB2 | ||
| 116 | + PkgConfig::GTHREAD2) | ||
| 117 | |||
| 118 | ADD_EXECUTABLE(mergerepo_c mergerepo_c.c) | ||
| 119 | TARGET_LINK_LIBRARIES(mergerepo_c | ||
| 120 | libcreaterepo_c | ||
| 121 | - ${GLIB2_LIBRARIES} | ||
| 122 | - ${GTHREAD2_LIBRARIES} | ||
| 123 | - ${LIBMODULEMD_LIBRARIES}) | ||
| 124 | + PkgConfig::GLIB2 | ||
| 125 | + PkgConfig::GTHREAD2 | ||
| 126 | + PkgConfig::LIBMODULEMD) | ||
| 127 | |||
| 128 | ADD_EXECUTABLE(modifyrepo_c modifyrepo_c.c) | ||
| 129 | TARGET_LINK_LIBRARIES(modifyrepo_c | ||
| 130 | libcreaterepo_c | ||
| 131 | - ${GLIB2_LIBRARIES} | ||
| 132 | - ${GTHREAD2_LIBRARIES}) | ||
| 133 | + PkgConfig::GLIB2 | ||
| 134 | + PkgConfig::GTHREAD2) | ||
| 135 | |||
| 136 | ADD_EXECUTABLE(sqliterepo_c sqliterepo_c.c) | ||
| 137 | TARGET_LINK_LIBRARIES(sqliterepo_c | ||
| 138 | libcreaterepo_c | ||
| 139 | - ${GLIB2_LIBRARIES} | ||
| 140 | - ${GTHREAD2_LIBRARIES}) | ||
| 141 | + PkgConfig::GLIB2 | ||
| 142 | + PkgConfig::GTHREAD2) | ||
| 143 | |||
| 144 | CONFIGURE_FILE("createrepo_c.pc.cmake" "${CMAKE_SOURCE_DIR}/src/createrepo_c.pc" @ONLY) | ||
| 145 | CONFIGURE_FILE("version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/version.h" @ONLY) | ||
| 146 | diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt | ||
| 147 | index 4ffe837edb64153a7261d19dbaf67aceac4b5746..37339ad75190827a8e501de64dbf929f9aee4cd4 100644 | ||
| 148 | --- a/tests/CMakeLists.txt | ||
| 149 | +++ b/tests/CMakeLists.txt | ||
| 150 | @@ -1,61 +1,61 @@ | ||
| 151 | ADD_EXECUTABLE(test_checksum test_checksum.c) | ||
| 152 | -TARGET_LINK_LIBRARIES(test_checksum libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 153 | +TARGET_LINK_LIBRARIES(test_checksum libcreaterepo_c PkgConfig::GLIB2) | ||
| 154 | ADD_DEPENDENCIES(tests test_checksum) | ||
| 155 | |||
| 156 | ADD_EXECUTABLE(test_compression_wrapper test_compression_wrapper.c) | ||
| 157 | -TARGET_LINK_LIBRARIES(test_compression_wrapper libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 158 | +TARGET_LINK_LIBRARIES(test_compression_wrapper libcreaterepo_c PkgConfig::GLIB2) | ||
| 159 | ADD_DEPENDENCIES(tests test_compression_wrapper) | ||
| 160 | |||
| 161 | ADD_EXECUTABLE(test_load_metadata test_load_metadata.c) | ||
| 162 | -TARGET_LINK_LIBRARIES(test_load_metadata libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 163 | +TARGET_LINK_LIBRARIES(test_load_metadata libcreaterepo_c PkgConfig::GLIB2) | ||
| 164 | ADD_DEPENDENCIES(tests test_load_metadata) | ||
| 165 | |||
| 166 | ADD_EXECUTABLE(test_locate_metadata test_locate_metadata.c) | ||
| 167 | -TARGET_LINK_LIBRARIES(test_locate_metadata libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 168 | +TARGET_LINK_LIBRARIES(test_locate_metadata libcreaterepo_c PkgConfig::GLIB2) | ||
| 169 | ADD_DEPENDENCIES(tests test_locate_metadata) | ||
| 170 | |||
| 171 | ADD_EXECUTABLE(test_misc test_misc.c) | ||
| 172 | -TARGET_LINK_LIBRARIES(test_misc libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 173 | +TARGET_LINK_LIBRARIES(test_misc libcreaterepo_c PkgConfig::GLIB2) | ||
| 174 | ADD_DEPENDENCIES(tests test_misc) | ||
| 175 | |||
| 176 | ADD_EXECUTABLE(test_sqlite test_sqlite.c) | ||
| 177 | -TARGET_LINK_LIBRARIES(test_sqlite libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 178 | +TARGET_LINK_LIBRARIES(test_sqlite libcreaterepo_c PkgConfig::GLIB2) | ||
| 179 | ADD_DEPENDENCIES(tests test_sqlite) | ||
| 180 | |||
| 181 | ADD_EXECUTABLE(test_xml_file test_xml_file.c) | ||
| 182 | -TARGET_LINK_LIBRARIES(test_xml_file libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 183 | +TARGET_LINK_LIBRARIES(test_xml_file libcreaterepo_c PkgConfig::GLIB2) | ||
| 184 | ADD_DEPENDENCIES(tests test_xml_file) | ||
| 185 | |||
| 186 | ADD_EXECUTABLE(test_xml_parser_filelists test_xml_parser_filelists.c) | ||
| 187 | -TARGET_LINK_LIBRARIES(test_xml_parser_filelists libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 188 | +TARGET_LINK_LIBRARIES(test_xml_parser_filelists libcreaterepo_c PkgConfig::GLIB2) | ||
| 189 | ADD_DEPENDENCIES(tests test_xml_parser_filelists) | ||
| 190 | |||
| 191 | ADD_EXECUTABLE(test_xml_parser_repomd test_xml_parser_repomd.c) | ||
| 192 | -TARGET_LINK_LIBRARIES(test_xml_parser_repomd libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 193 | +TARGET_LINK_LIBRARIES(test_xml_parser_repomd libcreaterepo_c PkgConfig::GLIB2) | ||
| 194 | ADD_DEPENDENCIES(tests test_xml_parser_repomd) | ||
| 195 | |||
| 196 | ADD_EXECUTABLE(test_xml_parser_updateinfo test_xml_parser_updateinfo.c) | ||
| 197 | -TARGET_LINK_LIBRARIES(test_xml_parser_updateinfo libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 198 | +TARGET_LINK_LIBRARIES(test_xml_parser_updateinfo libcreaterepo_c PkgConfig::GLIB2) | ||
| 199 | ADD_DEPENDENCIES(tests test_xml_parser_updateinfo) | ||
| 200 | |||
| 201 | ADD_EXECUTABLE(test_xml_parser_main_metadata_together test_xml_parser_main_metadata_together.c) | ||
| 202 | -TARGET_LINK_LIBRARIES(test_xml_parser_main_metadata_together libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 203 | +TARGET_LINK_LIBRARIES(test_xml_parser_main_metadata_together libcreaterepo_c PkgConfig::GLIB2) | ||
| 204 | ADD_DEPENDENCIES(tests test_xml_parser_main_metadata_together) | ||
| 205 | |||
| 206 | ADD_EXECUTABLE(test_xml_dump test_xml_dump.c) | ||
| 207 | -TARGET_LINK_LIBRARIES(test_xml_dump libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 208 | +TARGET_LINK_LIBRARIES(test_xml_dump libcreaterepo_c PkgConfig::GLIB2) | ||
| 209 | ADD_DEPENDENCIES(tests test_xml_dump) | ||
| 210 | |||
| 211 | ADD_EXECUTABLE(test_xml_dump_primary test_xml_dump_primary.c) | ||
| 212 | -TARGET_LINK_LIBRARIES(test_xml_dump_primary libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 213 | +TARGET_LINK_LIBRARIES(test_xml_dump_primary libcreaterepo_c PkgConfig::GLIB2) | ||
| 214 | ADD_DEPENDENCIES(tests test_xml_dump_primary) | ||
| 215 | |||
| 216 | ADD_EXECUTABLE(test_koji test_koji.c) | ||
| 217 | -TARGET_LINK_LIBRARIES(test_koji libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 218 | +TARGET_LINK_LIBRARIES(test_koji libcreaterepo_c PkgConfig::GLIB2) | ||
| 219 | ADD_DEPENDENCIES(tests test_koji) | ||
| 220 | |||
| 221 | ADD_EXECUTABLE(test_modifyrepo_shared test_modifyrepo_shared.c) | ||
| 222 | -TARGET_LINK_LIBRARIES(test_modifyrepo_shared libcreaterepo_c ${GLIB2_LIBRARIES}) | ||
| 223 | +TARGET_LINK_LIBRARIES(test_modifyrepo_shared libcreaterepo_c PkgConfig::GLIB2) | ||
| 224 | ADD_DEPENDENCIES(tests test_modifyrepo_shared) | ||
| 225 | |||
| 226 | 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 @@ | |||
| 1 | From cfd899731f40695e9fd362dc64098e27636808fe Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Pietro Cerutti <gahr@gahr.ch> | ||
| 3 | Date: Mon, 14 Oct 2024 11:49:42 +0000 | ||
| 4 | Subject: [PATCH] Don't try to use imported targets of turned-off dependencies | ||
| 5 | |||
| 6 | Upstream-Status: Backport [0a2da7c87ae9b7e3e11e77416a8e75633d4608a0] | ||
| 7 | Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de> | ||
| 8 | --- | ||
| 9 | src/CMakeLists.txt | 18 +++++++++++++----- | ||
| 10 | 1 file changed, 13 insertions(+), 5 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
| 13 | index 5309050bdadf6a14d9cddf4529d309ef97cc6d2c..9444875ff1a2fd2ce0ccc678e121ea54ce0d1b83 100644 | ||
| 14 | --- a/src/CMakeLists.txt | ||
| 15 | +++ b/src/CMakeLists.txt | ||
| 16 | @@ -88,15 +88,21 @@ TARGET_LINK_LIBRARIES(libcreaterepo_c ${BZIP2_LIBRARIES}) | ||
| 17 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${CURL_LIBRARY}) | ||
| 18 | TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GLIB2) | ||
| 19 | TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::GIO) | ||
| 20 | -TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LIBMODULEMD) | ||
| 21 | +IF (WITH_LIBMODULEMD) | ||
| 22 | + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LIBMODULEMD) | ||
| 23 | +ENDIF (WITH_LIBMODULEMD) | ||
| 24 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${LIBXML2_LIBRARIES}) | ||
| 25 | TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::LZMA) | ||
| 26 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${OPENSSL_LIBRARIES}) | ||
| 27 | TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::RPM) | ||
| 28 | TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::SQLITE3) | ||
| 29 | TARGET_LINK_LIBRARIES(libcreaterepo_c ${ZLIB_LIBRARY}) | ||
| 30 | -TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZCK) | ||
| 31 | -TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::DRPM) | ||
| 32 | +IF (WITH_ZCHUNK) | ||
| 33 | + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZCK) | ||
| 34 | +ENDIF (WITH_ZCHUNK) | ||
| 35 | +IF (ENABLE_DRPM) | ||
| 36 | + TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::DRPM) | ||
| 37 | +ENDIF (ENABLE_DRPM) | ||
| 38 | TARGET_LINK_LIBRARIES(libcreaterepo_c PkgConfig::ZSTD) | ||
| 39 | |||
| 40 | SET_TARGET_PROPERTIES(libcreaterepo_c PROPERTIES | ||
| 41 | @@ -115,8 +121,10 @@ ADD_EXECUTABLE(mergerepo_c mergerepo_c.c) | ||
| 42 | TARGET_LINK_LIBRARIES(mergerepo_c | ||
| 43 | libcreaterepo_c | ||
| 44 | PkgConfig::GLIB2 | ||
| 45 | - PkgConfig::GTHREAD2 | ||
| 46 | - PkgConfig::LIBMODULEMD) | ||
| 47 | + PkgConfig::GTHREAD2) | ||
| 48 | +IF (WITH_LIBMODULEMD) | ||
| 49 | + TARGET_LINK_LIBRARIES(mergerepo_c PkgConfig::LIBMODULEMD) | ||
| 50 | +ENDIF (WITH_LIBMODULEMD) | ||
| 51 | |||
| 52 | ADD_EXECUTABLE(modifyrepo_c modifyrepo_c.c) | ||
| 53 | 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 @@ | |||
| 1 | From 90f39874bd122ca9e966f32c01e43e922031018e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Moritz Haase <Moritz.Haase@bmw.de> | ||
| 3 | Date: Mon, 23 Jun 2025 09:21:07 +0200 | ||
| 4 | Subject: [PATCH] cmake: Allow builds without Doxygen being present with CMake | ||
| 5 | 4+ | ||
| 6 | |||
| 7 | With CMake 4+, the initial CMake run fails with | ||
| 8 | |||
| 9 | CMake Error at doc/CMakeLists.txt:18 (ADD_DEPENDENCIES): | ||
| 10 | The dependency target "doc-c" of target "doc" does not exist. | ||
| 11 | |||
| 12 | in case Doxygen is not installed on the system, since non-existent dependencies | ||
| 13 | are not ignored anymore (see [0]). Rectify that by making sure that we only add | ||
| 14 | the dependency in case Doxygen has been found. | ||
| 15 | |||
| 16 | [0]: https://cmake.org/cmake/help/latest/policy/CMP0046.html | ||
| 17 | |||
| 18 | Upstream-Status: Backport [908e3a4a5909ab107da41c2631a06c6b23617f3c] | ||
| 19 | Signed-off-by: Moritz Haase <Moritz.Haase@bmw.de> | ||
| 20 | --- | ||
| 21 | doc/CMakeLists.txt | 7 ++++--- | ||
| 22 | 1 file changed, 4 insertions(+), 3 deletions(-) | ||
| 23 | |||
| 24 | diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt | ||
| 25 | index 6b2ef5e0593757c7b977cd5d228b7774b4f45641..6332b91260ff87f16e331071e652bfe0b167f518 100644 | ||
| 26 | --- a/doc/CMakeLists.txt | ||
| 27 | +++ b/doc/CMakeLists.txt | ||
| 28 | @@ -1,11 +1,15 @@ | ||
| 29 | ADD_SUBDIRECTORY (python) | ||
| 30 | |||
| 31 | +ADD_CUSTOM_TARGET (doc) | ||
| 32 | +ADD_DEPENDENCIES (doc doc-python) | ||
| 33 | + | ||
| 34 | find_package(Doxygen) | ||
| 35 | if(DOXYGEN_FOUND) | ||
| 36 | CONFIGURE_FILE("Doxyfile.in.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in" @ONLY) | ||
| 37 | add_custom_target(doc-c | ||
| 38 | ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in | ||
| 39 | COMMENT "Building C API documentation with Doxygen" VERBATIM) | ||
| 40 | + ADD_DEPENDENCIES (doc doc-c) | ||
| 41 | endif(DOXYGEN_FOUND) | ||
| 42 | |||
| 43 | IF(CREATEREPO_C_INSTALL_MANPAGES) | ||
| 44 | @@ -13,6 +17,3 @@ IF(CREATEREPO_C_INSTALL_MANPAGES) | ||
| 45 | DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" | ||
| 46 | COMPONENT bin) | ||
| 47 | ENDIF(CREATEREPO_C_INSTALL_MANPAGES) | ||
| 48 | - | ||
| 49 | -ADD_CUSTOM_TARGET (doc) | ||
| 50 | -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" | |||
| 7 | SRC_URI = "git://github.com/rpm-software-management/createrepo_c;branch=master;protocol=https;tag=${PV} \ | 7 | SRC_URI = "git://github.com/rpm-software-management/createrepo_c;branch=master;protocol=https;tag=${PV} \ |
| 8 | file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ | 8 | file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ |
| 9 | file://0001-include-rpm-rpmstring.h.patch \ | 9 | file://0001-include-rpm-rpmstring.h.patch \ |
| 10 | file://0001-Fix-libname-of-Libs.private.patch \ | ||
| 11 | file://0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch \ | ||
| 12 | file://0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch \ | ||
| 13 | file://0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch \ | ||
| 10 | " | 14 | " |
| 11 | 15 | ||
| 12 | SRCREV = "8c6e6f88df86d1e34ca26d3835d77a2816326414" | 16 | SRCREV = "8c6e6f88df86d1e34ca26d3835d77a2816326414" |
