The dynlist files passed to the linker have hardcoded function names
that do not take namespacing into account.
We therefore generate the dynlist files at configure time from the qt
namespace.
Task-number: QTBUG-138543
Pick-to: 6.10
Change-Id: Ib3521b83942548cb09c11687e1701c2308f9d148
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This patch adds a std::expected-like type in Qt for use in the Qt
implementation. It is using Sy Brand's tl::expected which is similar to
std::expected, and works with C++17. Although it closely resembles
std::expected, it is not identical and is therefor added as a private
header. The new type is intended to be accessible to all Qt modules and
is therefore made available through Qt Core. It is, however, not
intended for use in public APIs.
[ChangeLog][Third-Party Code] Added Sy Brand's tl::expected as a third
party dependency for use internally in Qt implementation.
Change-Id: I09930f31bf97498643d62814c688f288d5c33265
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
A QUIP 18[1] update sets git files, REUSE.toml and licenseRule.json
as infrastructure type files. They are licensed with:
LicenseRef-Qt-Commercial OR BSD-3-Clause
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.9 6.8
Change-Id: Ia7b9ae097ff80bd184256e0b7efa0dd7cfa63def
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This includes:
- turning VERIFY_SOURCE_SBOM ON
- adding exception to the licenseRule.json files
- correcting the licensing given via REUSE.toml files
- renaming license files not located in LICENSES folder.
They need to be named LICENSE. to be ignored by reuse and
excluded from the source SBOM. The name are updated in the
corresponding qt_attribution.json
A lot of files are skipped during the license test,
but all are present in the source SBOM.
This is why correction are needed before turning the
source SBOM check on.
[ChangeLog][Third-Party Code] Renaming the license files with prefix
LICENSE. to have them ignored by reuse tool.
Task-number: QTBUG-131434
Pick-to: 6.9
Change-Id: Iab517215bb10a17357d2d2436bba8d3af76e5cd1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The SBOM implementation got somewhat large. Split the code into
several new QtPublicSbomFooHelpers.cmake files, to make it more
manageable.
No code or behavior was changed.
Pick-to: 6.8 6.9
Task-number: QTBUG-122899
Change-Id: Ia0ca1792eec21d12c4bb4cabe63279e1f5c07e3d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This amends commit 880d1aef99 and
extends it to cover the testlocales program under util/.
Pick-to: 6.8 6.7 6.5
Task-number: QTBUG-121653
Change-Id: I3efadc69ce08810876f8e20aa4636c7624728153
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
The license and copyright information is documented in a qt_attribution.json
Those files do not follow the QUIP-18 [1] license rules.
An exception is added to licenseRules.json when needed.
The generated file src/gui/text/qfontsubset_agl.cpp is now skipped during license testing.
[1]: https://contribute.qt-project.org/quips/18
Task-number: QTBUG-125569
Change-Id: I937c95cfb097bb8f29ddacdf7c2217cb9d73f83e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The files are MIT and BSD-3-Clause instead of only BSD-3-Clause
because parts are copied from an upstream source that had them
MIT licensed
Pick-to: 6.8
Task-number: QTBUG-121787
Change-Id: I5598033e71e97e5da807ab14d63755c05f655980
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Also remove the now unused license and update the qt_attribution.json
[ChangeLog][Third-Party Code] UCD-generated data files now come under Unicode-3.0
Change-Id: I133b1f20643e29a412053eb08ae4c250d07c561e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This is a follow-up to commit d5e40b5e58
Task-number: QTBUG-121787
Change-Id: I45c8c4b4a0348f46fa546a1fee53ba5196bf7d8a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Location keys are meant to be used as regular expression.
The . need to be appear as `\.` in the regular expression.
The JSON parser interprets the `\`, hence the `\\.`.
Pick-to: 6.7
Task-number: QTBUG-121039
Change-Id: Ie3b8fb9686d59db13e5522309adbf3877bd2a3f7
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
The license test in qtqa reads this file
in order to check the validity of the license used.
This file reproduce the QUIP-18 [1] rules, with some exceptions.
Each entry in the file corresponds to a set of licensing rules.
A set of licensing rules can depend on the file ending,
registered in "file_pattern_ending". The last entry in the
file has no "file_pattern_ending", it sets the rules for the
files whose licensing does not depend on their ending.
The license to be used depends on the location
of the file within the Qt module repository.
Let's call this "<true_location>".
The "<true_location>" can also correspond to a file name,
offering flexibility for exceptions to the rule.
The "<true_location>" are registered in "location".
For each "<true_location>" there is a
"file type" entry and a "spdx" entry.
The "spdx" entry gives the rule:
the expected license tag(s) in SPDX format
for the file ending (if applicable) and "<true_location>".
The "file type" informs on the QUIP-18 type
the tested file corresponds to. It is purely informational
for the reader.
The set of rules are tested in order of appearance
in the json file. For this reason, a more constraining
ending (like "special.txt") needs to appear in
a "file_pattern_ending" located before
the "file_pattern_ending" of a less constraining ending (like ".txt").
Also, a file ending cannot be present in two "file_pattern_ending".
"file_pattern_ending" and "spdx" should list strings.
"<true_location>" can be regular expressions.
During the test the deeper "<true_location>" are
checked first. The order is which they appear in the json file
does not matter.
To test this file, run
QT_MODULE_TO_TEST=../qtbase perl tests/prebuild/license/tst_licenses.pl
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121039
Change-Id: I720800507622701b80c76e78e68817c6c39c2407
Reviewed-by: Kai Köhne <kai.koehne@qt.io>