coin: Explicitly specify Python 3.10 for SBOM processing on Windows

The 'reuse' tool installed into the Python 3.8 environment on Windows
has a broken 'jinja2' package, due to conan being installed
after the sbom tool, which replaces the jinja package. pip reports the
issue but does not actually exit with a non-zero status for some
reason, thus not blocking the initial provisioning.

The jinja2 version installed in the Python 3.10 environment on Windows
is compatible with both conan and reuse.

To work around the issue, explicitly install the sbom tools only for
Python 3.10 on Windows platforms, and specify the path to the Python
interpreter in an environment variable for the build system to use.

Amends 1f2fb6312c

Pick-to: 6.8
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I386da17a1902dd26af332cef3482dbcb2221a1b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
This commit is contained in:
Alexandru Croitor
2024-10-07 16:35:42 +02:00
parent 0face33946
commit e874a76a48

View File

@@ -78,10 +78,17 @@ Run-Executable "$install_path\python.exe" "-m pip config --user set global.index
Run-Executable "$install_path\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/"
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel html5lib"
# Check if python version is higher than 3.8.
# Check if python version is higher than 3.10.
# ntia-conformance-checker requires at least 3.8
if ([version]::Parse($version) -gt [version]::Parse("3.8")) {
# reuse requires at least 3.9, to avoid conflict with installed conan jinja package,
# at least until we use virtual envs.
# The lowest version available on all windows platforms that we currently run on that satisfies
# these requirements is 3.10.
if ([version]::Parse($version) -gt [version]::Parse("3.10")) {
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install -r $PSScriptRoot\..\shared\sbom_requirements.txt"
# Set the environment variable for the build system to know which python path to use for SBOM
# processing.
Set-EnvironmentVariable "SBOM_PYTHON_APPS_PATH" "$install_path\Scripts"
}
# Install PyPDF2 for QSR documentation