[qt/qt/qtbase]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtbase Pushed by mirror-service into branch '6.11'. Changed from c22005267f8079d482c4bf9e69a6636607ceb262 to 309a4ba1f7efbd7148f87bc989efaf3cb820c7f5 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 0a1623704500a7c2fd2502e4c76229a0710fbf27 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Set SBOM_INSTALL_DIR for multiple_project_calls_same_doc test The new test didn't set the SBOM_INSTALL_DIR dir for the child subprojects, which led to CMP0174 warnings. Amends cfd0a3f084486758ea7d42596e45d77cb30ba753 Pick-to: 6.8 Change-Id: I147c235515367951b21afc3f1e3d4c8a95832214 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 773d65fe3f5c30a595ca2dff70c5b9fc8bcb6491) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 1277bce22ce8962efe45ebd9c7b5729b622fe12d) https://invent.kde.org/qt/qt/qtbase/-/commit/0a1623704500a7c2fd2502e4c76229a0710fbf27 Git commit 283143460bb34c76710f5aeea4199f519bd7319e by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Refactor sbom test infrastructure Merge CommonResultGen.cmake and CommonResultGenIntro.cmake into a new SbomTestGenHelpers.cmake file, with the code wrapped in new functions or macros. Move most of the code in check.cmake to a new SbomTestCheckHelpers.cmake file again wrapped in functions and macros. Include SbomTestGenHelpers.cmake in CMakeLists.txt so the helpers are available in each test case. Replace the manual inclusions of CommonResultGenIntro.cmake and CommonResultGen.cmake with calls to sbom_test_begin() and sbom_test_end(). Clean up some stale comments. There should be no behavior changes. The change paves way for improving the test infrastructure in a follow up change. Pick-to: 6.8 Change-Id: I802a82ab829302ef0d754f96f3c14b99fac07b4f Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 5ed5bcc9acf7a7ae40fa3a12f0f16d4dd50bc202) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 77e0fd627ba41f35799b4a4e25b9bf20b3fcaf34) https://invent.kde.org/qt/qt/qtbase/-/commit/283143460bb34c76710f5aeea4199f519bd7319e Git commit 4e3775d0a645fd57aa6b83fd2f337e3e67968d97 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Collect all built SBOM documents in a global property Collect all sbom document spdx ids in a _qt_internal_sbom_generated_projects global property. This will be used by tests to confirm presence or absence of documents. Pick-to: 6.8 Change-Id: Ia1b1f321d1e50e92a04a25703cf9ca8db3be4d75 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit c805e40952cecefdecaaad06cd8fc4f5c670dcb4) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 775f20aa19422878f2ae52bfa9cb73e90cda8825) https://invent.kde.org/qt/qt/qtbase/-/commit/4e3775d0a645fd57aa6b83fd2f337e3e67968d97 Git commit 0eeb8819c2a767b28090b454800d23d9d7906832 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Add current project SBOM document path getter This will be used by tests to confirm presence or absence of a document. Pick-to: 6.8 Change-Id: I14a1c3964a838a79033aed2293c28802e8d97c1c Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 35185945f2b9864effa81c2821878c09d612f358) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 67ad5df62d4e74d61422511c0812fac4fafb48ac) https://invent.kde.org/qt/qt/qtbase/-/commit/0eeb8819c2a767b28090b454800d23d9d7906832 Git commit 45c124a1422576abcf9dc892a1994c90efa25118 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Rework SBOM test helpers to handle multiple documents Previously, the SBOM test helpers created multiple result.cmake files that were all included and thus overwrote the same set of variables. The code also used parent scope variables to pass information which was error prone. Both of this made testing of multiple SBOM documents created by a single CMake run impossible. Rework the SBOM test helpers to use global properties to record information per document about known targets, document ids, etc. Then generate a single result.cmake file that includes all the information. Use that information to do the various checks like spdx document lookups, cyclonedx target and dependency lookups, as well as checking of presence of the various SBOM format documents on disk. Each sbom_begin_project call is now expected to be followed by a sbom_test_record_project call to record the document paths and spdx id of the project. This was not wrapped into a separate function like sbom_test_begin_project, to make the tests resemble actual example CMake projects more closely. All the install-check.cmake files were removed, and the checks are now always done in main check.cmake file. The bubble_up_extra_result_code calls were all removed because they are not needed anymore, state is passed through global properties. Pick-to: 6.8 Change-Id: I7ee5ea2fabe1a3ac4f7c8c949ff6ef9fca441881 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 9e92872f71a5a16d143d9df8a3927f6af21df985) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 6864ecbb7a8012f36bf7c59510a188d85027dbe2) https://invent.kde.org/qt/qt/qtbase/-/commit/45c124a1422576abcf9dc892a1994c90efa25118 Git commit a630b29e0d9c8e377737352df1f26a8f9bdc9d34 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Add support for MODULE_LIBRARY for SBOM generation Marking a MODULE_LIBRARY target with the LIBRARY SBOM entity type would cause an error like: CMake Error at QtPublicSbomFileHelpers.cmake:207 (message): Unsupported target type: MODULE_LIBRARY Call Stack (most recent call first): QtPublicSbomHelpers.cmake:1672 (_qt_internal_sbom_handle_target_binary_files) QtPublicSbomHelpers.cmake:2060 (_qt_internal_sbom_add_target) QtPublicSbomHelpers.cmake:825 (_qt_internal_finalize_sbom) Add support for MODULE_LIBRARY targets, by treating them like SHARED_LIBRARY targets, they install a single config-aware library binary file. Adjust the tests. Pick-to: 6.8 Change-Id: I81cc84e7aa6966b7c429e1fa9219d77a16033139 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 118f84b08c4cab7c2364b708b290ee95891cb620) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 6e1921d8dc16242bd88fedd26b67759651fc6812) https://invent.kde.org/qt/qt/qtbase/-/commit/a630b29e0d9c8e377737352df1f26a8f9bdc9d34 Git commit fb88da89837f5423276991005ba32dbb08387458 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Install another set of test sbom documents These documents that are part of new separate CMake packages, will be used in the target_relationships_external test to verify more kinds of sbom relationships. Pick-to: 6.8 Change-Id: I85ec274ef915712fe911640acad9fde6b64d3e1e Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit eeed9771d39998dc1f8aaf8d3f6e3130710ebb55) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit 93751b4a4ffb75d5ebdcc3b589891dca6edcb6e5) https://invent.kde.org/qt/qt/qtbase/-/commit/fb88da89837f5423276991005ba32dbb08387458 Git commit 7bd6530fdf698c98d7cc120b60e93a4c7f51a666 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Fix SBOM external reference handling to be per-format When creating an SBOM, targets can have relationships to other targets that are part of external SBOM documents. Previously the code didn't manage to handle per-format external references correctly: - if the _qt_sbom_spdx_relative_installed_repo_document_path exported property was unset, a CycloneDX-only dependency could be dropped entirely when only CycloneDX was enabled - if a dependency's external document didn't exist in a given format, the relationship was still added in that format's document and referred to an external reference that doesn't exist - External CycloneDX components were always recorded even when their external document had no CycloneDX serial number, creating an invalid bom link - two different targets could register the same SPDX document ref id or CycloneDX serial number without an error Make the following changes to fix these issues: - compute, per format, whether the info needed to add the external dependency is available - add the external reference document only for the formats that are both enabled and available - skip recording a CycloneDX external component when the external document has no bom serial number - as a safety net, skip serializing a relationship whose external document is not found - track CycloneDX external documents per serial number, mirroring the existing SPDX ref id tracking - error out when a different target reuses an already recorded SPDX ref id or CycloneDX serial number. Adapt the tests to cover the new behavior Pick-to: 6.8 Change-Id: I86f4d8bddb86ad3073f0c43c2aea29093647083b Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 69550506479620482d7b5526d56324af1e1bc856) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit f867896bf840a31bad6e273a44bbe1f48d9069bc) https://invent.kde.org/qt/qt/qtbase/-/commit/7bd6530fdf698c98d7cc120b60e93a4c7f51a666 Git commit 309a4ba1f7efbd7148f87bc989efaf3cb820c7f5 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 16/07/2026 at 11:19.. CMake: Add more SBOM entity types Add SBOM entity types for sources, object libraries, archives and installers, generic files, frameworks, to allow more specific choices, until generic support for sbom entity types is added. There is no big meaning for them, aside from the package purpose. Frameworks and object libraries currently don't get their files auto installed. Archives are meant as zip archives. Installers are meant as .msi-like files. Sources are a collection of sources like .cpp files. Files are just generic files. Pick-to: 6.8 Change-Id: I4b64546ad4021ca1e8c6fa58e6b98feb88207847 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 09203bdd18a7723f316058376ceff8a0a9995c08) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit f85524331e56f95bbf0939694288becbdbcad5b1) https://invent.kde.org/qt/qt/qtbase/-/commit/309a4ba1f7efbd7148f87bc989efaf3cb820c7f5