Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for commercial versions of Qt #878

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

Kidev
Copy link
Contributor

@Kidev Kidev commented Jan 6, 2025

Important

Need testers with a commercial license of Qt, click here to see how to try this PR and help us greatly

Adds install-qt-commercial enabling the installation of commercial versions of Qt. It also enables open-source users to download Qt through the official Qt online installer.

python -m aqt install-qt-commercial <target> <arch> <version> [--outputdir <path>] [--user <email> --password <pw>]

This command will download the official Qt installer, and translate aqtinstall commands you are used to into the arguments the official installer needs. It will automatically accept all licenses, the installation is unattended.

It requires authentication, or it will fail, even if you use it to download open-source versions.

To authenticate:

  • It first looks into the folder of your OS where the file qtaccount.ini can be:

    • Windows: C:\Users\<username>\AppData\Roaming\Qt\qtaccount.ini
    • Linux: /home/<username>/.local/share/Qt/qtaccount.ini
    • MacOS: /Users/<username>/Library/Application Support/Qt/qtaccount.ini

    This file is automatically created when you use the MaintenanceTool binary and log in using the GUI. You can simply copy the file that you have locally on your CI server, it will work accross platforms. Just treat it as a password. Refer to this page for more details.

  • It will also check the value of the environment variable QT_INSTALLER_JWT_TOKEN and use the token if provided.

  • If neither are present, you will need to provide --user <email> --password <password>.
    Note that if --user and --password are provided, they will supersede the qtaccount.ini and the JWT token account.

Advanced configuration details

This installer will only be able to install Qt for the OS running the command: so you can only install a Windows version of Qt if you run it on Windows. This seems to be a limitation of the official Qt online installer.

Note that the installer will fail if the target directory is not empty. You can change the target install directory by providing --outputdir <path>.

By default, the tool will auto answer various options. You can change those default values by passing parameters to install-qt-commercial. See this for more details.

--operation_does_not_exist_error # OperationDoesNotExistError: Abort, Ignore. Default: Ignore
--overwrite_target_dir           # OverwriteTargetDirectory: Yes, No. Default: No
--stop_processes_for_updates     # stopProcessesForUpdates: Retry, Ignore, Cancel. Default: Cancel
--installation_error_with_cancel # installationErrorWithCancel: Retry, Ignore, Cancel. Default: Cancel
--installation_error_with_ignore # installationErrorWithIgnore: Retry, Ignore. Default: Ignore
--associate_common_filetypes     # AssociateCommonFiletypes: Yes, No. Default: Yes
--telemetry                      # telemetry-question: Yes, No. Default: No

Work remaining

  • Handle addons, extensions, modules: thanks to the backend of aqt, this is a much easier job than it appears
  • Add more checks in the testsuite
  • Add a CI test
  • Find someone with a Qt commercial license to confirm it works on commercial versions
  • I am working in parallel on a PR that enables the use of commercial versions for the install-qt-action. It already works but is limited by my progress on this PR for now. You can check the fork here. You can also check a workflow run where Qt was successfully installed using the use-commercial feature. The build did not succeed because there are no support for modules yet. The job used in the workflow is:
- name: Install Qt
  uses: Kidev/[email protected]
  with:
    version: '6.8.1'
    target: 'desktop'
    arch: 'linux_gcc_64'
    aqtsource: 'git+https://github.com/Kidev/aqtinstall.git@install_qt_commercial'
    use-commercial: true
    user: ${{ secrets.QT_USERNAME }}
    password: ${{ secrets.QT_PASSWORD }}

For reference, this is equivalent to running the following command using Qt's online installer:

qt-unified-linux-x64-online.run --email ******** --pw ******** --root /home/runner/work/Qt --accept-licenses --accept-obligations --confirm-command --auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=No,stopProcessesForUpdates=Cancel,installationErrorWithCancel=Cancel,installationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No install qt.qt6.681.linux_gcc_64

CLI Usage example

kidev:~$ aqt install-qt-commercial desktop linux_gcc_64 6.8.1 --outputdir /tmp/qt
Click to see the full output
kidev:~$ python -m aqt install-qt-commercial desktop linux_gcc_64 6.8.1 --outputdir /tmp/qt
INFO    : aqtinstall(aqt) v0.1.dev1863 on Python 3.13.1 [CPython GCC 14.2.1 20240910]
INFO    : Downloading Qt online installer to /tmp/qt_install_azy54x57/qt-unified-linux-x64-online.run
INFO    : Starting Qt installation
INFO    : Running: /tmp/qt_install_azy54x57/qt-unified-linux-x64-online.run --root /tmp/qt --accept-licenses --accept-obligations --confirm-command --auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=No,stopProcessesForUpdates=Cancel,installationErrorWithCancel=Cancel,installationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No install qt.qt6.681.linux_gcc_64
[0] Arguments: /tmp/qt_install_azy54x57/qt-unified-linux-x64-online.run, --root, /tmp/qt, --accept-licenses, --accept-obligations, --confirm-command, --auto-answer, OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=No,stopProcessesForUpdates=Cancel,installationErrorWithCancel=Cancel,installationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No, install, qt.qt6.681.linux_gcc_64
[1] Operations sanity check succeeded.
[1] Using metadata cache from "/home/kidev/.cache/qt-unified-linux-online"
[1] Found 427 cached items.
[1] Reading Qt Account settings from disk: "/home/kidev/.local/share/Qt/qtaccount.ini"
[1] QtAccount information:
[1] Login completed: false
[1] Email: "*******@gmail.com"
[1] Total number of licenses: 0
[1] Account type: 3
[502] Login completed to Qt Account: "*******@gmail.com"
[743] Warning: No licenses found. Continuing open source installation.
[743] Saving licenses to file: "/home/kidev/.local/share/Qt/qtlicenses.ini"
[743] Saving Qt Account settings to file: "/home/kidev/.local/share/Qt/qtaccount.ini"
[821] "Installation preconditions ok, installation can proceed!" [ "success" ]
[2949] Open Source obligations accepted by user.
[2950] Fetching latest update information...
[3008] Loaded from cache 151/152. Downloading remaining 1/152.
[3008] Retrieving information from remote repositories...
[3373] Loading component scripts...
[3388] telemetry-question : Contribute to Qt Development : Help us improve Qt and Qt Creator by allowing tracking of pseudonymous usage data in Qt Creator. The tracking can be disabled at any time. Read the Qt Company data collection privacy statement https://www.qt.io/terms-conditions/#privacy. Yes|No
[3388] Automatic answer for "telemetry-question": "No"
[3477] License "CMake license agreement" accepted by user.
[3477] License "GPLv3 with Qt Company GPL Exception License Agreement" accepted by user.
[3477] License "Ninja license agreement" accepted by user.
[3477] License "Qt Installer LGPL License Agreement" accepted by user.
[3477] Loading component scripts...
[3477] Warning: QFont::setPixelSize: Pixel size <= 0 (-1)
[3477] Selected components without dependencies:
qtdesignstudio 
qt 
qtcreator 
qt.tools.maintenance 
qt.tools.qtcreator 
Components added as dependency for "qt.license.gplv3except":
qt.license.acceptance 
Components added as dependency for "qt.tools.qtdesignstudio":
qt.license.gplv3except 
Components that have resolved dependencies:
qt.tools.qtdesignstudio 
Components added as dependency for "qt.tools":
qt.license.thirdparty 
qt.license.lgpl 
Components added as dependency for "qt.qt6.681.doc":
qt.tools 
Components added as dependency for "qt.qt6.681":
qt.qt6.681.doc 
qt.qt6.681.examples 
Components that have resolved dependencies:
qt.qt6.681 
qt.qt6.681.linux_gcc_64 
qt.tools.cmake 
qt.tools.ninja 
qt.tools.qtcreator_gui
[3477] Installation space required: "4.11 GB" Temporary space required: "1.19 GB" Local repository size: "0.00 bytes"
[3477] Cache is on a different volume than the installation directory. Cache volume mount point: "/" Free space available: "359.75 GB" Install volume mount point: "/tmp" Free space available: "46.57 GB"
[3477] Installation will use 3.86 GB of disk space.
[3477] Saving uuid for: "*******@gmail.com"
[3477] Updating resource file: /tmp/qt/update.rcc
[3477] backup  operation: Mkdir
[3477] 	- arguments: /tmp/qt
[3477] Done
[3478] perform  operation: Mkdir
[3478] 	- arguments: /tmp/qt
[3478] Done
[3478] Preparing the installation...
[3478] Install size: 18 components
[3478] Downloading packages...
[3478] Downloading archive "4.8.1-202409230636tqtc-installer-framework-Linux-RHEL_8_6-GCC-Linux-RHEL_8_6-X86_64-QtInstaller.7z.sha1" for component Qt Maintenance Tool.
[3751] Downloading archive "4.8.1-202409230636tqtc-installer-framework-Linux-RHEL_8_6-GCC-Linux-RHEL_8_6-X86_64-QtInstaller.7z" for component Qt Maintenance Tool.
[4360] Downloading archive "4.8.1-202409230636QtIcon.7z.sha1" for component Qt Maintenance Tool.
[4641] Downloading archive "4.8.1-202409230636QtIcon.7z" for component Qt Maintenance Tool.
[4986] Downloading archive "4.8.1-202409230636installer-changelog.7z.sha1" for component Qt Maintenance Tool.
[5327] Downloading archive "4.8.1-202409230636installer-changelog.7z" for component Qt Maintenance Tool.
[5602] Downloading archive "4.8.1-202409230636installer-resource.7z.sha1" for component Qt Maintenance Tool.
[5879] Downloading archive "4.8.1-202409230636installer-resource.7z" for component Qt Maintenance Tool.
[6223] Downloading archive "15.0.0-0-202411270845qtcreator_sdktool.7z.sha1" for component SDKTool.
[6405] Downloading archive "15.0.0-0-202411270845qtcreator_sdktool.7z" for component SDKTool.
[6737] Downloading archive "4.6.2-0-202411010923designstudio_base.7z.sha1" for component Qt Design Studio 4.6.2.
[7017] Downloading archive "4.6.2-0-202411010923designstudio_base.7z" for component Qt Design Studio 4.6.2.
[7651] Downloading archive "4.6.2-0-202411010923docs.7z.sha1" for component Qt Design Studio 4.6.2.
[7924] Downloading archive "4.6.2-0-202411010923docs.7z" for component Qt Design Studio 4.6.2.
[8986] Downloading archive "4.6.2-0-202411010923effect_bundle.7z.sha1" for component Qt Design Studio 4.6.2.
[9268] Downloading archive "4.6.2-0-202411010923effect_bundle.7z" for component Qt Design Studio 4.6.2.
[9726] Downloading archive "4.6.2-0-202411010923qt6_design_studio_reduced_version.7z.sha1" for component Qt Design Studio 4.6.2.
[9998] Downloading archive "4.6.2-0-202411010923qt6_design_studio_reduced_version.7z" for component Qt Design Studio 4.6.2.
[12342] Downloading archive "4.6.2-0-202411010923qt6_qmlpuppet.7z.sha1" for component Qt Design Studio 4.6.2.
[12610] Downloading archive "4.6.2-0-202411010923qt6_qmlpuppet.7z" for component Qt Design Studio 4.6.2.
[13021] Downloading archive "4.6.2-0-202411010923qtcreator.7z.sha1" for component Qt Design Studio 4.6.2.
[13297] Downloading archive "4.6.2-0-202411010923qtcreator.7z" for component Qt Design Studio 4.6.2.
[14842] Downloading archive "4.6.2-0-202411010923qtcreator_sdktool.7z.sha1" for component Qt Design Studio 4.6.2.
[15122] Downloading archive "4.6.2-0-202411010923qtcreator_sdktool.7z" for component Qt Design Studio 4.6.2.
[15555] Downloading archive "4.6.2-0-202411010923content.7z.sha1" for component Qt Design Studio 4.6.2.
[15832] Downloading archive "4.6.2-0-202411010923content.7z" for component Qt Design Studio 4.6.2.
[16119] Downloading archive "1.0.0-1Licenses.7z.sha1" for component Qt 3rd Party Licenses.
[16415] Downloading archive "1.0.0-1Licenses.7z" for component Qt 3rd Party Licenses.
[16759] Downloading archive "6.8.1-0-202411221531qt5-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[17034] Downloading archive "6.8.1-0-202411221531qt5-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[17456] Downloading archive "6.8.1-0-202411221531qdoc-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[17726] Downloading archive "6.8.1-0-202411221531qdoc-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[18119] Downloading archive "6.8.1-0-202411221531qmake-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[18401] Downloading archive "6.8.1-0-202411221531qmake-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[18788] Downloading archive "6.8.1-0-202411221531qtassistant-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[19068] Downloading archive "6.8.1-0-202411221531qtassistant-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[19492] Downloading archive "6.8.1-0-202411221531qtconcurrent-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[19771] Downloading archive "6.8.1-0-202411221531qtconcurrent-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[20157] Downloading archive "6.8.1-0-202411221531qtcmake-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[20439] Downloading archive "6.8.1-0-202411221531qtcmake-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[20810] Downloading archive "6.8.1-0-202411221531qtcore-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[21086] Downloading archive "6.8.1-0-202411221531qtcore-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[21590] Downloading archive "6.8.1-0-202411221531qtdbus-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[21865] Downloading archive "6.8.1-0-202411221531qtdbus-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[22258] Downloading archive "6.8.1-0-202411221531qtdesigner-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[22528] Downloading archive "6.8.1-0-202411221531qtdesigner-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[22974] Downloading archive "6.8.1-0-202411221531qtdistancefieldgenerator-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[23248] Downloading archive "6.8.1-0-202411221531qtdistancefieldgenerator-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[23626] Downloading archive "6.8.1-0-202411221531qtdoc-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[23910] Downloading archive "6.8.1-0-202411221531qtdoc-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[24469] Downloading archive "6.8.1-0-202411221531qtgui-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[24743] Downloading archive "6.8.1-0-202411221531qtgui-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[25227] Downloading archive "6.8.1-0-202411221531qthelp-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[25512] Downloading archive "6.8.1-0-202411221531qthelp-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[25914] Downloading archive "6.8.1-0-202411221531qtlabsplatform-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[26199] Downloading archive "6.8.1-0-202411221531qtlabsplatform-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[26622] Downloading archive "6.8.1-0-202411221531qtlinguist-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[26891] Downloading archive "6.8.1-0-202411221531qtlinguist-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[27310] Downloading archive "6.8.1-0-202411221531qtnetwork-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[27590] Downloading archive "6.8.1-0-202411221531qtnetwork-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[28011] Downloading archive "6.8.1-0-202411221531qtopengl-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[28278] Downloading archive "6.8.1-0-202411221531qtopengl-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[28692] Downloading archive "6.8.1-0-202411221531qtplatformintegration-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[28966] Downloading archive "6.8.1-0-202411221531qtplatformintegration-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[29324] Downloading archive "6.8.1-0-202411221531qtprintsupport-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[29599] Downloading archive "6.8.1-0-202411221531qtprintsupport-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[29988] Downloading archive "6.8.1-0-202411221531qtqml-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[30258] Downloading archive "6.8.1-0-202411221531qtqml-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[30698] Downloading archive "6.8.1-0-202411221531qtqmlcore-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[30973] Downloading archive "6.8.1-0-202411221531qtqmlcore-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[31338] Downloading archive "6.8.1-0-202411221531qtqmlmodels-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[31628] Downloading archive "6.8.1-0-202411221531qtqmlmodels-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[32011] Downloading archive "6.8.1-0-202411221531qtqmltest-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[32279] Downloading archive "6.8.1-0-202411221531qtqmltest-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[32642] Downloading archive "6.8.1-0-202411221531qtqmlworkerscript-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[32912] Downloading archive "6.8.1-0-202411221531qtqmlworkerscript-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[33259] Downloading archive "6.8.1-0-202411221531qtqmlxmllistmodel-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[33547] Downloading archive "6.8.1-0-202411221531qtqmlxmllistmodel-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[33902] Downloading archive "6.8.1-0-202411221531qtquick-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[34180] Downloading archive "6.8.1-0-202411221531qtquick-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[34853] Downloading archive "6.8.1-0-202411221531qtquickcontrols-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[35128] Downloading archive "6.8.1-0-202411221531qtquickcontrols-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[35619] Downloading archive "6.8.1-0-202411221531qtquickdialogs-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[35890] Downloading archive "6.8.1-0-202411221531qtquickdialogs-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[36314] Downloading archive "6.8.1-0-202411221531qtsql-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[36591] Downloading archive "6.8.1-0-202411221531qtsql-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[37023] Downloading archive "6.8.1-0-202411221531qtsvg-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[37298] Downloading archive "6.8.1-0-202411221531qtsvg-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[37685] Downloading archive "6.8.1-0-202411221531qttestlib-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[37954] Downloading archive "6.8.1-0-202411221531qttestlib-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[38341] Downloading archive "6.8.1-0-202411221531qtuitools-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[38611] Downloading archive "6.8.1-0-202411221531qtuitools-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[39019] Downloading archive "6.8.1-0-202411221531qtwidgets-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[39302] Downloading archive "6.8.1-0-202411221531qtwidgets-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[39959] Downloading archive "6.8.1-0-202411221531qtxml-documentation.tar.xz.sha1" for component Qt 6.8.1 Documentation.
[40235] Downloading archive "6.8.1-0-202411221531qtxml-documentation.tar.xz" for component Qt 6.8.1 Documentation.
[40629] Downloading archive "6.8.1-0-202411221531qtbase-examples-6.8.1.7z.sha1" for component Qt 6.8.1 Examples.
[40907] Downloading archive "6.8.1-0-202411221531qtbase-examples-6.8.1.7z" for component Qt 6.8.1 Examples.
[41366] Downloading archive "6.8.1-0-202411221531qtdeclarative-examples-6.8.1.7z.sha1" for component Qt 6.8.1 Examples.
[41638] Downloading archive "6.8.1-0-202411221531qtdeclarative-examples-6.8.1.7z" for component Qt 6.8.1 Examples.
[42165] Downloading archive "6.8.1-0-202411221531qtdoc-examples-6.8.1.7z.sha1" for component Qt 6.8.1 Examples.
[42448] Downloading archive "6.8.1-0-202411221531qtdoc-examples-6.8.1.7z" for component Qt 6.8.1 Examples.
[43228] Downloading archive "6.8.1-0-202411221531qttools-examples-6.8.1.7z.sha1" for component Qt 6.8.1 Examples.
[43502] Downloading archive "6.8.1-0-202411221531qttools-examples-6.8.1.7z" for component Qt 6.8.1 Examples.
[43923] Downloading archive "6.8.1-0-202411221531sha1s.txt.7z.sha1" for component Qt 6.8.1.
[44198] Downloading archive "6.8.1-0-202411221531sha1s.txt.7z" for component Qt 6.8.1.
[44469] Downloading archive "6.8.1-0-202411221531qtbase-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z.sha1" for component Desktop.
[44749] Downloading archive "6.8.1-0-202411221531qtbase-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z" for component Desktop.
[45401] Downloading archive "6.8.1-0-202411221531qtsvg-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z.sha1" for component Desktop.
[45709] Downloading archive "6.8.1-0-202411221531qtsvg-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z" for component Desktop.
[46098] Downloading archive "6.8.1-0-202411221531qtdeclarative-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z.sha1" for component Desktop.
[46368] Downloading archive "6.8.1-0-202411221531qtdeclarative-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z" for component Desktop.
[47943] Downloading archive "6.8.1-0-202411221531qttools-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z.sha1" for component Desktop.
[48220] Downloading archive "6.8.1-0-202411221531qttools-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z" for component Desktop.
[48990] Downloading archive "6.8.1-0-202411221531qttranslations-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z.sha1" for component Desktop.
[49260] Downloading archive "6.8.1-0-202411221531qttranslations-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z" for component Desktop.
[49692] Downloading archive "6.8.1-0-202411221531qtwayland-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z.sha1" for component Desktop.
[49965] Downloading archive "6.8.1-0-202411221531qtwayland-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z" for component Desktop.
[50381] Downloading archive "6.8.1-0-202411221531icu-linux-Rhel8.6-x86_64.7z.sha1" for component Desktop.
[50661] Downloading archive "6.8.1-0-202411221531icu-linux-Rhel8.6-x86_64.7z" for component Desktop.
[51174] Downloading archive "3.29.3-202405151154linux64_x86_cmake_tools.7z.sha1" for component CMake 3.29.3.
[51441] Downloading archive "3.29.3-202405151154linux64_x86_cmake_tools.7z" for component CMake 3.29.3.
[52223] Downloading archive "1.12.0-202405151040linux64_ninja.7z.sha1" for component Ninja 1.12.0.
[52499] Downloading archive "1.12.0-202405151040linux64_ninja.7z" for component Ninja 1.12.0.
[52883] Downloading archive "15.0.0-0-202411271056qtcreator.7z.sha1" for component Qt Creator 15.0.0.
[53150] Downloading archive "15.0.0-0-202411271056qtcreator.7z" for component Qt Creator 15.0.0.
[55064] Qt Creator settings do not exist at old location, not moving.
[55084] Creating qt.conf files for: /tmp/qt/6.8.1/gcc_64
[55084] Writing qt.conf file to: /tmp/qt/6.8.1/gcc_64/bin/qt.conf
[55084] Writing qt.conf file to: /tmp/qt/6.8.1/gcc_64/libexec/qt.conf
[55085] Preparing to unpack components...
[55087] backup qt.tools.maintenance concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636tqtc-installer-framework-Linux-RHEL_8_6-GCC-Linux-RHEL_8_6-X86_64-QtInstaller.7z, /tmp/qt
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qdoc-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qt5-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtplatformintegration-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtassistant-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qt6_design_studio_reduced_version.7z, /tmp/qt/Tools/QtDesignStudio
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923content.7z, /tmp/qt
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtcmake-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qt6_qmlpuppet.7z, /tmp/qt/Tools/QtDesignStudio/qt6_design_studio_reduced_version
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtconcurrent-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.maintenance concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636installer-resource.7z, /tmp/qt
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtcore-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qtcreator.7z, /tmp/qt/Tools/QtDesignStudio
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdbus-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923designstudio_base.7z, /tmp/qt/Tools/QtDesignStudio
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdesigner-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qtcreator_sdktool.7z, /tmp/qt/Tools/QtDesignStudio/bin
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdistancefieldgenerator-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923docs.7z, /tmp/qt/Tools/QtDesignStudio/share/doc/qtcreator
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdoc-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.license.thirdparty concurrent operation: Extract
[55087] 	- arguments: installer://qt.license.thirdparty/1.0.0-1Licenses.7z, /tmp/qt
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtgui-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.maintenance concurrent operation: Extract
[55087] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636installer-changelog.7z, /tmp/qt
[55087] Started
[55087] backup qt.qt6.681.doc concurrent operation: Extract
[55087] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qthelp-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55087] Started
[55087] backup qt.tools.qtdesignstudio concurrent operation: Extract
[55088] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923effect_bundle.7z, /tmp/qt/Tools/QtDesignStudio
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtlabsplatform-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55088] backup qt.tools.qtcreator concurrent operation: Extract
[55088] 	- arguments: installer://qt.tools.qtcreator/15.0.0-0-202411270845qtcreator_sdktool.7z, /tmp/qt/Tools/sdktool/libexec/qtcreator
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtlinguist-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qmake-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtnetwork-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55088] backup qt.tools.maintenance concurrent operation: Extract
[55088] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636QtIcon.7z, /tmp/qt
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtopengl-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtprintsupport-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55088] backup qt.qt6.681.doc concurrent operation: Extract
[55088] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqml-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55088] Started
[55089] backup qt.qt6.681.doc concurrent operation: Extract
[55089] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlcore-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55089] Started
[55089] backup qt.qt6.681.doc concurrent operation: Extract
[55089] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlmodels-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55089] Started
[55089] backup qt.qt6.681.doc concurrent operation: Extract
[55089] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmltest-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55089] Started
[55090] backup qt.qt6.681.doc concurrent operation: Extract
[55090] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlworkerscript-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55090] Started
[55090] backup qt.qt6.681.doc concurrent operation: Extract
[55090] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlxmllistmodel-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55090] Started
[55091] backup qt.qt6.681.doc concurrent operation: Extract
[55091] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtquick-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55091] Started
[55091] backup qt.qt6.681.doc concurrent operation: Extract
[55091] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtquickcontrols-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55091] Started
[55092] backup qt.qt6.681.doc concurrent operation: Extract
[55092] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtquickdialogs-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55092] Started
[55092] backup qt.qt6.681.doc concurrent operation: Extract
[55092] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtsql-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55092] Started
[55092] backup qt.qt6.681.doc concurrent operation: Extract
[55092] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtsvg-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55092] Started
[55092] backup qt.qt6.681.doc concurrent operation: Extract
[55092] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qttestlib-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55092] Started
[55093] backup qt.qt6.681.doc concurrent operation: Extract
[55093] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtuitools-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55093] Started
[55093] backup qt.qt6.681.doc concurrent operation: Extract
[55093] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtwidgets-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55093] Started
[55093] backup qt.qt6.681.doc concurrent operation: Extract
[55093] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtxml-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[55093] Started
[55094] backup qt.qt6.681.examples concurrent operation: Extract
[55094] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qtbase-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[55094] Started
[55094] backup qt.qt6.681.examples concurrent operation: Extract
[55094] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qtdeclarative-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[55094] Started
[55096] backup qt.qt6.681.examples concurrent operation: Extract
[55096] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qtdoc-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[55096] Started
[55096] backup qt.qt6.681.examples concurrent operation: Extract
[55096] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qttools-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[55096] Started
[55096] backup qt.qt6.681 concurrent operation: Extract
[55096] 	- arguments: installer://qt.qt6.681/6.8.1-0-202411221531sha1s.txt.7z, /tmp/qt/6.8.1
[55096] Started
[55096] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55096] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531icu-linux-Rhel8.6-x86_64.7z, /tmp/qt/6.8.1/gcc_64/lib
[55096] Started
[55097] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55097] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtbase-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[55097] Started
[55097] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55097] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtdeclarative-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[55097] Started
[55097] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55097] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtsvg-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[55097] Started
[55097] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55097] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qttools-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[55097] Started
[55098] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55098] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qttranslations-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[55098] Started
[55098] backup qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[55098] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtwayland-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[55098] Started
[55098] backup qt.tools.cmake concurrent operation: Extract
[55098] 	- arguments: installer://qt.tools.cmake/3.29.3-202405151154linux64_x86_cmake_tools.7z, /tmp/qt
[55098] Started
[55098] backup qt.tools.ninja concurrent operation: Extract
[55098] 	- arguments: installer://qt.tools.ninja/1.12.0-202405151040linux64_ninja.7z, /tmp/qt
[55098] Started
[55099] backup qt.tools.qtcreator_gui concurrent operation: Extract
[55099] 	- arguments: installer://qt.tools.qtcreator_gui/15.0.0-0-202411271056qtcreator.7z, /tmp/qt/Tools/QtCreator
[55099] Started
[59381] Unpacking components...
[59381] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qt6_design_studio_reduced_version.7z, /tmp/qt/Tools/QtDesignStudio
[59381] Started
[59381] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtdeclarative-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[59381] Started
[59381] perform qt.tools.qtcreator_gui concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.qtcreator_gui/15.0.0-0-202411271056qtcreator.7z, /tmp/qt/Tools/QtCreator
[59381] Started
[59381] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qtcreator.7z, /tmp/qt/Tools/QtDesignStudio
[59381] Started
[59381] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923docs.7z, /tmp/qt/Tools/QtDesignStudio/share/doc/qtcreator
[59381] Started
[59381] perform qt.qt6.681.examples concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qtdoc-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[59381] Started
[59381] perform qt.tools.cmake concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.cmake/3.29.3-202405151154linux64_x86_cmake_tools.7z, /tmp/qt
[59381] Started
[59381] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qttools-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[59381] Started
[59381] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtbase-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtquick-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923designstudio_base.7z, /tmp/qt/Tools/QtDesignStudio
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtwidgets-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.tools.maintenance concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636tqtc-installer-framework-Linux-RHEL_8_6-GCC-Linux-RHEL_8_6-X86_64-QtInstaller.7z, /tmp/qt
[59381] Started
[59381] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531icu-linux-Rhel8.6-x86_64.7z, /tmp/qt/6.8.1/gcc_64/lib
[59381] Started
[59381] perform qt.qt6.681.examples concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qtbase-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdesigner-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqml-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtlinguist-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdoc-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtnetwork-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtquickcontrols-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qttranslations-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[59381] Started
[59381] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59381] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qt6_qmlpuppet.7z, /tmp/qt/Tools/QtDesignStudio/qt6_design_studio_reduced_version
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59381] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtcore-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59381] Started
[59381] perform qt.qt6.681.doc concurrent operation: Extract
[59382] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtgui-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59382] Started
[59382] perform qt.qt6.681.doc concurrent operation: Extract
[59382] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtsql-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59382] Started
[59382] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59382] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923qtcreator_sdktool.7z, /tmp/qt/Tools/QtDesignStudio/bin
[59382] Started
[59382] perform qt.qt6.681.doc concurrent operation: Extract
[59382] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtopengl-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59382] Started
[59382] perform qt.qt6.681.doc concurrent operation: Extract
[59382] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtassistant-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59382] Started
[59382] perform qt.qt6.681.examples concurrent operation: Extract
[59382] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qtdeclarative-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[59382] Started
[59382] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59382] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923effect_bundle.7z, /tmp/qt/Tools/QtDesignStudio
[59382] Started
[59382] perform qt.tools.qtcreator concurrent operation: Extract
[59382] 	- arguments: installer://qt.tools.qtcreator/15.0.0-0-202411270845qtcreator_sdktool.7z, /tmp/qt/Tools/sdktool/libexec/qtcreator
[59382] Started
[59456] perform qt.qt6.681.examples concurrent operation: Extract
[59456] 	- arguments: installer://qt.qt6.681.examples/6.8.1-0-202411221531qttools-examples-6.8.1.7z, /tmp/qt/Examples/Qt-6.8.1
[59456] Started
[59458] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59458] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtwayland-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[59458] Started
[59462] perform qt.qt6.681.doc concurrent operation: Extract
[59462] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtlabsplatform-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59462] Started
[59463] perform qt.qt6.681.doc concurrent operation: Extract
[59463] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtprintsupport-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59463] Started
[59463] perform qt.qt6.681.doc concurrent operation: Extract
[59463] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qmake-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59463] Started
[59472] perform qt.qt6.681.doc concurrent operation: Extract
[59472] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtxml-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59472] Started
[59473] perform qt.qt6.681.doc concurrent operation: Extract
[59473] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdbus-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59473] Started
[59478] perform qt.qt6.681.doc concurrent operation: Extract
[59478] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtquickdialogs-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59478] Started
[59480] perform qt.qt6.681.doc concurrent operation: Extract
[59480] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qthelp-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59480] Started
[59484] perform qt.qt6.681.doc concurrent operation: Extract
[59484] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qdoc-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59484] Started
[59484] perform qt.qt6.681.doc concurrent operation: Extract
[59484] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qttestlib-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59484] Started
[59485] perform qt.qt6.681.linux_gcc_64 concurrent operation: Extract
[59485] 	- arguments: installer://qt.qt6.681.linux_gcc_64/6.8.1-0-202411221531qtsvg-Linux-RHEL_8_10-GCC-Linux-RHEL_8_10-X86_64.7z, /tmp/qt/6.8.1/gcc_64
[59485] Started
[59485] perform qt.qt6.681.doc concurrent operation: Extract
[59485] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtuitools-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59485] Started
[59486] perform qt.qt6.681.doc concurrent operation: Extract
[59486] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtconcurrent-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59486] Started
[59489] perform qt.qt6.681.doc concurrent operation: Extract
[59489] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qt5-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59489] Started
[59491] perform qt.qt6.681.doc concurrent operation: Extract
[59491] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtdistancefieldgenerator-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59491] Started
[59492] perform qt.qt6.681.doc concurrent operation: Extract
[59492] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlmodels-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59492] Started
[59492] perform qt.tools.ninja concurrent operation: Extract
[59492] 	- arguments: installer://qt.tools.ninja/1.12.0-202405151040linux64_ninja.7z, /tmp/qt
[59492] Started
[59492] perform qt.qt6.681.doc concurrent operation: Extract
[59492] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtsvg-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59492] Started
[59494] perform qt.qt6.681.doc concurrent operation: Extract
[59494] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtcmake-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59494] Started
[59495] perform qt.qt6.681.doc concurrent operation: Extract
[59495] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmltest-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59495] Started
[59496] perform qt.qt6.681.doc concurrent operation: Extract
[59496] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlcore-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59496] Started
[59496] perform qt.qt6.681.doc concurrent operation: Extract
[59496] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtplatformintegration-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59496] Started
[59496] perform qt.qt6.681.doc concurrent operation: Extract
[59496] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlxmllistmodel-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59496] Started
[59497] perform qt.qt6.681.doc concurrent operation: Extract
[59497] 	- arguments: installer://qt.qt6.681.doc/6.8.1-0-202411221531qtqmlworkerscript-documentation.tar.xz, /tmp/qt/Docs/Qt-6.8.1
[59497] Started
[59498] perform qt.tools.maintenance concurrent operation: Extract
[59498] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636installer-resource.7z, /tmp/qt
[59498] Started
[59498] perform qt.license.thirdparty concurrent operation: Extract
[59498] 	- arguments: installer://qt.license.thirdparty/1.0.0-1Licenses.7z, /tmp/qt
[59498] Started
[59498] perform qt.tools.maintenance concurrent operation: Extract
[59498] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636QtIcon.7z, /tmp/qt
[59498] Started
[59498] perform qt.tools.maintenance concurrent operation: Extract
[59498] 	- arguments: installer://qt.tools.maintenance/4.8.1-202409230636installer-changelog.7z, /tmp/qt
[59498] Started
[59499] perform qt.qt6.681 concurrent operation: Extract
[59499] 	- arguments: installer://qt.qt6.681/6.8.1-0-202411221531sha1s.txt.7z, /tmp/qt/6.8.1
[59499] Started
[59499] perform qt.tools.qtdesignstudio concurrent operation: Extract
[59499] 	- arguments: installer://qt.tools.qtdesignstudio/4.6.2-0-202411010923content.7z, /tmp/qt
[59499] Started
[64460] Installing component Qt Maintenance Tool
[64460] backup qt.tools.maintenance operation: InstallIcons
[64460] 	- arguments: /tmp/qt/icons
[64460] Done
[64460] perform qt.tools.maintenance operation: InstallIcons
[64460] 	- arguments: /tmp/qt/icons
[64462] Done
[64462] backup qt.tools.maintenance operation: CreateDesktopEntry
[64462] 	- arguments: Qt-MaintenanceTool.desktop, Type=Application
Exec=/tmp/qt/MaintenanceTool
Path=/tmp/qt
Name=Qt Maintenance Tool
GenericName=Install or uninstall Qt components.
Icon=QtIcon
Terminal=false
Categories=Development;Qt;
[64462] Done
[64462] perform qt.tools.maintenance operation: CreateDesktopEntry
[64462] 	- arguments: Qt-MaintenanceTool.desktop, Type=Application
Exec=/tmp/qt/MaintenanceTool
Path=/tmp/qt
Name=Qt Maintenance Tool
GenericName=Install or uninstall Qt components.
Icon=QtIcon
Terminal=false
Categories=Development;Qt;
[64462] Done
[64462] Installing component SDKTool
[64462] backup qt.tools.qtcreator operation: Settings
[64462] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=set, key=Updater/MaintenanceTool, value=/tmp/qt/MaintenanceTool
[64462] Done
[64462] perform qt.tools.qtcreator operation: Settings
[64462] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=set, key=Updater/MaintenanceTool, value=/tmp/qt/MaintenanceTool
[64462] Done
[64462] backup qt.tools.qtcreator operation: Settings
[64462] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Plugins/ForceEnabled, value=UpdateInfo
[64462] Done
[64462] perform qt.tools.qtcreator operation: Settings
[64462] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Plugins/ForceEnabled, value=UpdateInfo
[64462] Done
[64463] Installing component License GPL3-EXCEPT
[64463] backup qt.license.gplv3except operation: License
[64463] 	- arguments:
[64463] Done
[64463] perform qt.license.gplv3except operation: License
[64463] 	- arguments:
[64463] Done
[64463] Installing component Qt Design Studio 4.6.2
[64463] backup qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledDocumentation, value=/tmp/qt//Tools/QtDesignStudio/share/doc/qtcreator
[64463] Done
[64463] perform qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledDocumentation, value=/tmp/qt//Tools/QtDesignStudio/share/doc/qtcreator
[64463] Done
[64463] backup qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledExamples, value=Qt Design Studio|/tmp/qt//Tools/QtDesignStudio/share/doc/qtcreator|/tmp/qt//Tools/QtDesignStudio/share/qtcreator//examples
[64463] Done
[64463] perform qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledExamples, value=Qt Design Studio|/tmp/qt//Tools/QtDesignStudio/share/doc/qtcreator|/tmp/qt//Tools/QtDesignStudio/share/qtcreator//examples
[64463] Done
[64463] backup qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=set, key=QML/Designer/DesignStudioInstallation, value=/tmp/qt/Tools/QtDesignStudio/bin/qtdesignstudio
[64463] Done
[64463] perform qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=set, key=QML/Designer/DesignStudioInstallation, value=/tmp/qt/Tools/QtDesignStudio/bin/qtdesignstudio
[64463] Done
[64463] backup qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/QtDesignStudio/share/qtcreator/QtProject/QtDesignStudio.ini, method=set, key=Updater/MaintenanceTool, value=/tmp/qt/MaintenanceTool
[64463] Done
[64463] perform qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/QtDesignStudio/share/qtcreator/QtProject/QtDesignStudio.ini, method=set, key=Updater/MaintenanceTool, value=/tmp/qt/MaintenanceTool
[64463] Done
[64463] backup qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/QtDesignStudio/share/qtcreator/QtProject/QtDesignStudio.ini, method=add_array_value, key=Plugins/ForceEnabled, value=UpdateInfo
[64463] Done
[64463] perform qt.tools.qtdesignstudio operation: Settings
[64463] 	- arguments: path=/tmp/qt//Tools/QtDesignStudio/share/qtcreator/QtProject/QtDesignStudio.ini, method=add_array_value, key=Plugins/ForceEnabled, value=UpdateInfo
[64464] Done
[64464] backup qt.tools.qtdesignstudio operation: Execute
[64464] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addTC, --id, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}, --language, C, --name, mock C compiler, --abi, x86-linux-generic-elf-64bit, --path, not_existing, ProjectExplorer.CustomToolChain.TargetAbi, QString:x86-linux-generic-elf-64bit, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmTC, --id, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}
[64464] Done
[64464] perform qt.tools.qtdesignstudio operation: Execute
[64464] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addTC, --id, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}, --language, C, --name, mock C compiler, --abi, x86-linux-generic-elf-64bit, --path, not_existing, ProjectExplorer.CustomToolChain.TargetAbi, QString:x86-linux-generic-elf-64bit, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmTC, --id, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}
[64464] /tmp/qt//Tools/QtDesignStudio/bin/sdktool" started, arguments: "-s /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio addTC --id ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23} --language C --name mock C compiler --abi x86-linux-generic-elf-64bit --path not_existing ProjectExplorer.CustomToolChain.TargetAbi QString:x86-linux-generic-elf-64bit
[64466] Done
[64466] backup qt.tools.qtdesignstudio operation: Execute
[64466] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addTC, --id, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}, --language, Cxx, --name, mock C++ compiler, --abi, x86-linux-generic-elf-64bit, --path, not_existing, ProjectExplorer.CustomToolChain.TargetAbi, QString:x86-linux-generic-elf-64bit, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmTC, --id, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}
[64466] Done
[64466] perform qt.tools.qtdesignstudio operation: Execute
[64466] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addTC, --id, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}, --language, Cxx, --name, mock C++ compiler, --abi, x86-linux-generic-elf-64bit, --path, not_existing, ProjectExplorer.CustomToolChain.TargetAbi, QString:x86-linux-generic-elf-64bit, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmTC, --id, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}
[64466] /tmp/qt//Tools/QtDesignStudio/bin/sdktool" started, arguments: "-s /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio addTC --id ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28} --language Cxx --name mock C++ compiler --abi x86-linux-generic-elf-64bit --path not_existing ProjectExplorer.CustomToolChain.TargetAbi QString:x86-linux-generic-elf-64bit
[64467] Done
[64467] backup qt.tools.qtdesignstudio operation: Execute
[64467] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addQt, --id, qt.tools.qtdesignstudio_qt6, --name, Designer specialized Qt %{Qt:Version}, --type, Qt4ProjectManager.QtVersion.Desktop, --qmake, /tmp/qt/Tools/QtDesignStudio/qt6_design_studio_reduced_version/bin/qmake, overrideFeatures, QString:QtStudio, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmQt, --id, qt.tools.qtdesignstudio_qt6
[64467] Done
[64467] perform qt.tools.qtdesignstudio operation: Execute
[64467] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addQt, --id, qt.tools.qtdesignstudio_qt6, --name, Designer specialized Qt %{Qt:Version}, --type, Qt4ProjectManager.QtVersion.Desktop, --qmake, /tmp/qt/Tools/QtDesignStudio/qt6_design_studio_reduced_version/bin/qmake, overrideFeatures, QString:QtStudio, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmQt, --id, qt.tools.qtdesignstudio_qt6
[64467] /tmp/qt//Tools/QtDesignStudio/bin/sdktool" started, arguments: "-s /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio addQt --id qt.tools.qtdesignstudio_qt6 --name Designer specialized Qt %{Qt:Version} --type Qt4ProjectManager.QtVersion.Desktop --qmake /tmp/qt/Tools/QtDesignStudio/qt6_design_studio_reduced_version/bin/qmake overrideFeatures QString:QtStudio
[64468] Done
[64468] backup qt.tools.qtdesignstudio operation: Execute
[64469] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addKit, --id, {63f87550-2541-4163-9631-08b7fea781da}, --name, Desktop Qt %{Qt:Version}, --devicetype, Desktop, --qt, qt.tools.qtdesignstudio_qt6, --Ctoolchain, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}, --Cxxtoolchain, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmKit, --id, {63f87550-2541-4163-9631-08b7fea781da}
[64469] Done
[64469] perform qt.tools.qtdesignstudio operation: Execute
[64469] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addKit, --id, {63f87550-2541-4163-9631-08b7fea781da}, --name, Desktop Qt %{Qt:Version}, --devicetype, Desktop, --qt, qt.tools.qtdesignstudio_qt6, --Ctoolchain, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}, --Cxxtoolchain, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmKit, --id, {63f87550-2541-4163-9631-08b7fea781da}
[64469] /tmp/qt//Tools/QtDesignStudio/bin/sdktool" started, arguments: "-s /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio addKit --id {63f87550-2541-4163-9631-08b7fea781da} --name Desktop Qt %{Qt:Version} --devicetype Desktop --qt qt.tools.qtdesignstudio_qt6 --Ctoolchain ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23} --Cxxtoolchain ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}
[64470] Done
[64470] backup qt.tools.qtdesignstudio operation: Execute
[64470] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addKit, --id, {fcfcb7a6-2c80-4785-b1a9-02d08953be61}, --name, Android device, --devicetype, Android.Device.Type, --qt, qt.tools.qtdesignstudio_qt6, --Ctoolchain, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}, --Cxxtoolchain, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmKit, --id, {fcfcb7a6-2c80-4785-b1a9-02d08953be61}
[64470] Done
[64470] perform qt.tools.qtdesignstudio operation: Execute
[64470] 	- arguments: /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, addKit, --id, {fcfcb7a6-2c80-4785-b1a9-02d08953be61}, --name, Android device, --devicetype, Android.Device.Type, --qt, qt.tools.qtdesignstudio_qt6, --Ctoolchain, ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23}, --Cxxtoolchain, ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/QtDesignStudio/bin/sdktool, -s, /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio, rmKit, --id, {fcfcb7a6-2c80-4785-b1a9-02d08953be61}
[64470] /tmp/qt//Tools/QtDesignStudio/bin/sdktool" started, arguments: "-s /tmp/qt//Tools/QtDesignStudio/share/qtcreator//QtProject/qtdesignstudio addKit --id {fcfcb7a6-2c80-4785-b1a9-02d08953be61} --name Android device --devicetype Android.Device.Type --qt qt.tools.qtdesignstudio_qt6 --Ctoolchain ProjectExplorer.ToolChain.Custom:{9799e31f-e3d0-47cb-8bc1-1d0806d0ed23} --Cxxtoolchain ProjectExplorer.ToolChain.Custom:{c702c2f1-69f7-41b6-a4b1-77569d527e28}
[64472] Done
[64472] backup qt.tools.qtdesignstudio operation: SimpleMoveFile
[64472] 	- arguments: /tmp/qt/README.txt, /tmp/qt/Tools/QtDesignStudio/README.txt
[64472] Done
[64472] perform qt.tools.qtdesignstudio operation: SimpleMoveFile
[64472] 	- arguments: /tmp/qt/README.txt, /tmp/qt/Tools/QtDesignStudio/README.txt
[64472] Done
[64473] Installing component Qt License LGPL
[64473] backup qt.license.lgpl operation: License
[64473] 	- arguments:
[64473] Done
[64473] perform qt.license.lgpl operation: License
[64473] 	- arguments:
[64473] Done
[64473] Installing component Qt 6.8.1 Documentation
[64473] backup qt.qt6.681.doc operation: Settings
[64473] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledDocumentation, value=/tmp/qt/Docs/Qt-6.8.1/
[64473] Done
[64473] perform qt.qt6.681.doc operation: Settings
[64473] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledDocumentation, value=/tmp/qt/Docs/Qt-6.8.1/
[64473] Done
[64473] Installing component Qt 6.8.1 Examples
[64473] backup qt.qt6.681.examples operation: Settings
[64473] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledExamples, value=Qt6 6.8.1|/tmp/qt/Docs/Qt-6.8.1|/tmp/qt/Examples/Qt-6.8.1/
[64473] Done
[64473] perform qt.qt6.681.examples operation: Settings
[64473] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=Help/InstalledExamples, value=Qt6 6.8.1|/tmp/qt/Docs/Qt-6.8.1|/tmp/qt/Examples/Qt-6.8.1/
[64473] Done
[64474] Installing component Desktop
[64474] backup qt.qt6.681.linux_gcc_64 operation: ConsumeOutput
[64474] 	- arguments: qt.qt6.681.linux_gcc_64_qmakeoutput, /tmp/qt/6.8.1/gcc_64/bin/qmake, -query
[64474] Done
[64474] perform qt.qt6.681.linux_gcc_64 operation: ConsumeOutput
[64474] 	- arguments: qt.qt6.681.linux_gcc_64_qmakeoutput, /tmp/qt/6.8.1/gcc_64/bin/qmake, -query
[64477] Done
[64477] backup qt.qt6.681.linux_gcc_64 operation: QtPatch
[64477] 	- arguments: linux, /tmp/qt/6.8.1/gcc_64, qt5-no-bin-patch, QmakeOutputInstallerKey=qt.qt6.681.linux_gcc_64_qmakeoutput
[64477] Done
[64477] perform qt.qt6.681.linux_gcc_64 operation: QtPatch
[64477] 	- arguments: linux, /tmp/qt/6.8.1/gcc_64, qt5-no-bin-patch, QmakeOutputInstallerKey=qt.qt6.681.linux_gcc_64_qmakeoutput
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Xml.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Widgets.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Test.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Sql.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6PrintSupport.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Platform.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6OpenGLWidgets.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6OpenGL.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Network.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Gui.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6DBus.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Core.pc'
[64488] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Concurrent.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickWidgets.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickVectorImage.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickTest.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickTemplates2.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickLayouts.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickDialogs2Utils.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickDialogs2QuickImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickDialogs2.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2UniversalStyleImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Universal.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2MaterialStyleImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Material.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Impl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2ImagineStyleImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Imagine.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2FusionStyleImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Fusion.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2FluentWinUI3StyleImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2BasicStyleImpl.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Basic.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Quick.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlXmlListModel.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlWorkerScript.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlNetwork.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlModels.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlMeta.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlLocalStorage.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlIntegration.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlCore.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlCompiler.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlAssetDownloader.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Qml.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsWavefrontMesh.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsSharedImage.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsSettings.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsQmlModels.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsPlatform.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsFolderListModel.pc'
[64492] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsAnimation.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6SvgWidgets.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Svg.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6UiTools.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6UiPlugin.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Linguist.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Help.pc'
[64493] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Designer.pc'
[64494] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6WaylandClient.pc'
[64495] Done
[64495] backup qt.qt6.681.linux_gcc_64 operation: Execute
[64495] 	- arguments: /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, addQt, --id, qt.qt6.681.linux_gcc_64, --name, Qt %{Qt:Version}, --type, Qt4ProjectManager.QtVersion.Desktop, --qmake, /tmp/qt/6.8.1/gcc_64/bin/qmake, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, rmQt, --id, qt.qt6.681.linux_gcc_64
[64495] Done
[64495] perform qt.qt6.681.linux_gcc_64 operation: Execute
[64495] 	- arguments: /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, addQt, --id, qt.qt6.681.linux_gcc_64, --name, Qt %{Qt:Version}, --type, Qt4ProjectManager.QtVersion.Desktop, --qmake, /tmp/qt/6.8.1/gcc_64/bin/qmake, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, rmQt, --id, qt.qt6.681.linux_gcc_64
[64495] /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool" started, arguments: "addQt --id qt.qt6.681.linux_gcc_64 --name Qt %{Qt:Version} --type Qt4ProjectManager.QtVersion.Desktop --qmake /tmp/qt/6.8.1/gcc_64/bin/qmake
[64496] Done
[64497] backup qt.qt6.681.linux_gcc_64 operation: Execute
[64497] 	- arguments: /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, addKit, --id, qt.qt6.681.linux_gcc_64_kit, --name, Desktop Qt %{Qt:Version}, --Ctoolchain, x86-linux-generic-elf-64bit, --Cxxtoolchain, x86-linux-generic-elf-64bit, --qt, qt.qt6.681.linux_gcc_64, --debuggerengine, 1, --devicetype, Desktop, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, rmKit, --id, qt.qt6.681.linux_gcc_64_kit
[64497] Done
[64497] perform qt.qt6.681.linux_gcc_64 operation: Execute
[64497] 	- arguments: /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, addKit, --id, qt.qt6.681.linux_gcc_64_kit, --name, Desktop Qt %{Qt:Version}, --Ctoolchain, x86-linux-generic-elf-64bit, --Cxxtoolchain, x86-linux-generic-elf-64bit, --qt, qt.qt6.681.linux_gcc_64, --debuggerengine, 1, --devicetype, Desktop, UNDOEXECUTE, {0,2}, /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, rmKit, --id, qt.qt6.681.linux_gcc_64_kit
[64497] /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool" started, arguments: "addKit --id qt.qt6.681.linux_gcc_64_kit --name Desktop Qt %{Qt:Version} --Ctoolchain x86-linux-generic-elf-64bit --Cxxtoolchain x86-linux-generic-elf-64bit --qt qt.qt6.681.linux_gcc_64 --debuggerengine 1 --devicetype Desktop
[64498] Done
[64498] backup qt.qt6.681.linux_gcc_64 operation: QtPatch
[64498] 	- arguments: linux, /tmp/qt/6.8.1/gcc_64, QmakeOutputInstallerKey=qt.qt6.681.linux_gcc_64_qmakeoutput, oldQtPath=/home/qt/work/install, qt5-no-bin-patch
[64498] Done
[64498] perform qt.qt6.681.linux_gcc_64 operation: QtPatch
[64498] 	- arguments: linux, /tmp/qt/6.8.1/gcc_64, QmakeOutputInstallerKey=qt.qt6.681.linux_gcc_64_qmakeoutput, oldQtPath=/home/qt/work/install, qt5-no-bin-patch
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Xml.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Widgets.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Test.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Sql.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6PrintSupport.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Platform.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6OpenGLWidgets.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6OpenGL.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Network.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Gui.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6DBus.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Core.pc'
[64508] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Concurrent.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickWidgets.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickVectorImage.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickTest.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickTemplates2.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickLayouts.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickDialogs2Utils.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickDialogs2QuickImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickDialogs2.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2UniversalStyleImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Universal.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2MaterialStyleImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Material.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Impl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2ImagineStyleImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Imagine.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2FusionStyleImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Fusion.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2FluentWinUI3StyleImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2BasicStyleImpl.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2Basic.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QuickControls2.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Quick.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlXmlListModel.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlWorkerScript.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlNetwork.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlModels.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlMeta.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlLocalStorage.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlIntegration.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlCore.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlCompiler.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6QmlAssetDownloader.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Qml.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsWavefrontMesh.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsSharedImage.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsSettings.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsQmlModels.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsPlatform.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsFolderListModel.pc'
[64512] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6LabsAnimation.pc'
[64513] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6SvgWidgets.pc'
[64513] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Svg.pc'
[64514] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6UiTools.pc'
[64514] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6UiPlugin.pc'
[64514] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Linguist.pc'
[64514] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Help.pc'
[64514] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6Designer.pc'
[64514] QtPatchOperation::getFilteredContent match: '/tmp/qt/6.8.1/gcc_64/lib/pkgconfig/Qt6WaylandClient.pc'
[64515] Done
[64515] backup qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/bin/qt.conf, method=set, key=Paths/Prefix, value=..
[64515] Done
[64515] perform qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/bin/qt.conf, method=set, key=Paths/Prefix, value=..
[64515] Done
[64515] backup qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/bin/qt.conf, method=set, key=Paths/Examples, value=../../Examples/Qt-6.8.1
[64515] Done
[64515] perform qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/bin/qt.conf, method=set, key=Paths/Examples, value=../../Examples/Qt-6.8.1
[64515] Done
[64515] backup qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/bin/qt.conf, method=set, key=Paths/Documentation, value=../../Docs/Qt-6.8.1
[64515] Done
[64515] perform qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/bin/qt.conf, method=set, key=Paths/Documentation, value=../../Docs/Qt-6.8.1
[64515] Done
[64515] backup qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/libexec/qt.conf, method=set, key=Paths/Prefix, value=..
[64515] Done
[64515] perform qt.qt6.681.linux_gcc_64 operation: Settings
[64515] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/libexec/qt.conf, method=set, key=Paths/Prefix, value=..
[64515] Done
[64516] backup qt.qt6.681.linux_gcc_64 operation: Settings
[64516] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/libexec/qt.conf, method=set, key=Paths/Examples, value=../../Examples/Qt-6.8.1
[64516] Done
[64516] perform qt.qt6.681.linux_gcc_64 operation: Settings
[64516] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/libexec/qt.conf, method=set, key=Paths/Examples, value=../../Examples/Qt-6.8.1
[64516] Done
[64516] backup qt.qt6.681.linux_gcc_64 operation: Settings
[64516] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/libexec/qt.conf, method=set, key=Paths/Documentation, value=../../Docs/Qt-6.8.1
[64516] Done
[64516] perform qt.qt6.681.linux_gcc_64 operation: Settings
[64516] 	- arguments: path=/tmp/qt/6.8.1/gcc_64/libexec/qt.conf, method=set, key=Paths/Documentation, value=../../Docs/Qt-6.8.1
[64516] Done
[64516] backup qt.qt6.681.linux_gcc_64 operation: LineReplace
[64516] 	- arguments: /tmp/qt/6.8.1/gcc_64/mkspecs/qconfig.pri, QT_EDITION =, QT_EDITION = OpenSource
[64516] Done
[64516] perform qt.qt6.681.linux_gcc_64 operation: LineReplace
[64516] 	- arguments: /tmp/qt/6.8.1/gcc_64/mkspecs/qconfig.pri, QT_EDITION =, QT_EDITION = OpenSource
[64516] Done
[64516] backup qt.qt6.681.linux_gcc_64 operation: LineReplace
[64516] 	- arguments: /tmp/qt/6.8.1/gcc_64/mkspecs/qconfig.pri, QT_LICHECK = licheck64, QT_LICHECK =
[64516] Done
[64516] perform qt.qt6.681.linux_gcc_64 operation: LineReplace
[64516] 	- arguments: /tmp/qt/6.8.1/gcc_64/mkspecs/qconfig.pri, QT_LICHECK = licheck64, QT_LICHECK =
[64516] Done
[64516] Installing component CMake 3.29.3
[64516] backup qt.tools.cmake operation: Execute
[64516] 	- arguments: /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, addCMake, --id, qt.tools.cmake, --name, CMake 3.29.3 (Qt), --path, /tmp/qt/Tools/CMake//bin/cmake, UNDOEXECUTE, /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, rmCMake, --id, qt.tools.cmake
[64516] Done
[64516] perform qt.tools.cmake operation: Execute
[64516] 	- arguments: /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, addCMake, --id, qt.tools.cmake, --name, CMake 3.29.3 (Qt), --path, /tmp/qt/Tools/CMake//bin/cmake, UNDOEXECUTE, /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool, rmCMake, --id, qt.tools.cmake
[64516] /tmp/qt//Tools/sdktool/libexec/qtcreator/sdktool" started, arguments: "addCMake --id qt.tools.cmake --name CMake 3.29.3 (Qt) --path /tmp/qt/Tools/CMake//bin/cmake
[64517] Done
[64517] backup qt.tools.cmake operation: License
[64517] 	- arguments:
[64518] Done
[64518] perform qt.tools.cmake operation: License
[64518] 	- arguments:
[64518] Done
[64518] Installing component Ninja 1.12.0
[64518] backup qt.tools.ninja operation: Settings
[64518] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=CMakeSpecificSettings/NinjaPath, value=/tmp/qt/Tools/Ninja//ninja
[64518] Done
[64518] perform qt.tools.ninja operation: Settings
[64518] 	- arguments: path=/tmp/qt//Tools/sdktool/share/qtcreator/QtProject/QtCreator.ini, method=add_array_value, key=CMakeSpecificSettings/NinjaPath, value=/tmp/qt/Tools/Ninja//ninja
[64518] Done
[64518] backup qt.tools.ninja operation: License
[64518] 	- arguments:
[64518] Done
[64518] perform qt.tools.ninja operation: License
[64518] 	- arguments:
[64518] Done
[64518] Installing component Qt Creator 15.0.0
[64518] backup qt.tools.qtcreator_gui operation: InstallIcons
[64518] 	- arguments: /tmp/qt/Tools/QtCreator/share/icons
[64518] Done
[64518] perform qt.tools.qtcreator_gui operation: InstallIcons
[64518] 	- arguments: /tmp/qt/Tools/QtCreator/share/icons
[64521] Done
[64521] backup qt.tools.qtcreator_gui operation: CreateDesktopEntry
[64521] 	- arguments: org.qt-project.qtcreator.desktop, Type=Application
Exec="/tmp/qt/Tools/QtCreator/bin/qtcreator" %F
Name=Qt Creator
GenericName=The IDE of choice for Qt development.
Icon=QtProject-qtcreator
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;
[64521] Done
[64521] perform qt.tools.qtcreator_gui operation: CreateDesktopEntry
[64521] 	- arguments: org.qt-project.qtcreator.desktop, Type=Application
Exec="/tmp/qt/Tools/QtCreator/bin/qtcreator" %F
Name=Qt Creator
GenericName=The IDE of choice for Qt development.
Icon=QtProject-qtcreator
StartupWMClass=qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;
[64521] Done
[64521] Got a replacement installer base binary: "/tmp/qt/installerbase"
[64521] Writing maintenance tool: "/tmp/qt/MaintenanceTool.new"
[64521] Writing maintenance tool.
[64553] Wrote permissions for maintenance tool.
[64557] Wrote the binary with the new replacement.
[64561] Removed installer base binary "/tmp/qt/installerbase" after updating the maintenance tool.
[64567] Maintenance tool hard restart: false.
[64567] Installation finished!
[64569] Components installed successfully
INFO    : Qt installation completed successfully

If you own a Qt commercial license

Important

If you do have a commercial license, please help us testing! You can easily try this PR in 5mn. You just need to install Git and Python 3.11+. Then simply enter the following commands in your console, line by line, and it should download Qt 5.15.3 for your OS: if it does, please report it. And if it fails, please report the errors you get

  • Windows (Win+R, then type cmd and press Enter to open the console)
git clone git@github.com:Kidev/aqtinstall.git
cd aqtinstall
git checkout install_qt_commercial
python -m venv .venv
.\.venv\Scripts\activate.bat
.\.venv\Scripts\Activate.ps1 #use this line instead of the previous one if you use PowerShell
pip install .
python -m aqt install-qt-commercial desktop win64_msvc2019_64 5.15.3 --user <email> --password <pw> --outputdir 'c:\Qttest'
  • Linux
git clone [email protected]:Kidev/aqtinstall.git
cd aqtinstall
git checkout install_qt_commercial
python -m venv .venv
source .venv/bin/activate
pip install .
python -m aqt install-qt-commercial desktop gcc_64 5.15.3 --user <email> --password <pw> --outputdir /tmp/Qttest

The parameters user and password are not required if you already used Qt's MaintenanceTool GUI on your machine. If you did not, simply replace <email> by your email or Qt username, and <pw> by your Qt password.
outputdir is only needed if you have errors when trying to install in the default Qt path for your OS
I do not have a paid Qt license, so I can only test it on open-source versions, but it should work as well on paid version since I'm directly using the Qt installer as intended.

Copy link

gitguardian bot commented Jan 7, 2025

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@Kidev Kidev force-pushed the install_qt_commercial branch 5 times, most recently from 7807a12 to d5ab8a6 Compare January 7, 2025 23:05
@Kidev Kidev force-pushed the install_qt_commercial branch from d5ab8a6 to 1fe3990 Compare January 7, 2025 23:35
@Kidev
Copy link
Contributor Author

Kidev commented Jan 8, 2025

Important

Everything works well, and I added tests. It still lacks supports for specific addons right now, I'm working on it.

Note

With current settings, I cannot complete Codacy Static Code Analysis because I need to execute a process (the Qt installer) with dynamic parameters (the requested version...). I will stop trying to fix this for now as I'm stuck. I tried to use subprocess, to split the binary (that can be static) and the args (that cannot), it did not work.

subprocess.run(["qt-unified-linux-x64-online.run"].extend(arguments), shell=False, check=True, cwd=working_dir)

image

I even tried the old school fork/exec way using execv, with the binary explicitly static, but not even that is accepted by Codacy

os.execv("qt-unified-linux-x64-online.run", ["qt-unified-linux-x64-online.run"] + arguments)

image

@pzhlkj6612
Copy link
Contributor

👍 Nice job! With this feature, the functionality of aqtinstall will be more completed!

I think this can also help @ddalcino's aqt list-qt server: https://github.com/ddalcino/aqt-list-server/blob/3ae82fa442453563063a3ea95adc0e4c4261831b/src/App.tsx#L180-L195

@pzhlkj6612
Copy link
Contributor

I really thought that this would work, as the binary is static and cannot be tampered with in any way, but not even that is accepted by Codacy

aqtinstall/aqt/installer.py

Lines 213 to 217 in 7917b2d

subprocess.run(
[sevenzip, "--help"],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
)

result = subprocess.run([str(qmake_path), "-query"], stdout=subprocess.PIPE)

Hmm, how did those lines get accepted...? I don't think they are fully "static".

@Kidev
Copy link
Contributor Author

Kidev commented Jan 8, 2025

👍 Nice job! With this feature, the functionality of aqtinstall will be more completed!

I think this can also help @ddalcino's aqt list-qt server: https://github.com/ddalcino/aqt-list-server/blob/3ae82fa442453563063a3ea95adc0e4c4261831b/src/App.tsx#L180-L195

Thanks ! It may, the goal of this feature is to allow direct access to the Qt installer, breaking all the potential limitations the Qt team may bring to third parties, while still benefiting from the better aqtinstall's syntax and tools

Hmm, how did those lines get accepted...? I don't think they are fully "static".

And yes indeed, in fact you can check here all the issues reported for the project, there are other critical ones. I think it's due to the fact that Codacy was added recently. Coupled with the fact that it must be configured on their website and not using a config file on the repo, and that is why I cannot get passed this ONE fail for now. It really tickles my brain but my time is better spent working on more useful features like the addons support aha

@Kidev
Copy link
Contributor Author

Kidev commented Jan 9, 2025

Well I relapsed, and wasted some more time. Now I'm 100% certain there is no way around this. This code pattern, semgrep is just going to throw critical errors if we spawn a process that is not hard coded. I installed Codacy on my fork and honestly it felt like this was done to push their premium plan. But maybe I'm just tired.

The solution hinted at on the site is either mentioning a function that do not exist, or serving AI slop solutions, looping between two opposite solutions that just change what the other did in a very gas lighting way.

My solution: @miurahr please in your interface, go to https://app.codacy.com/gh/miurahr/aqtinstall/patterns and disable semgrep

Show screenshot

image

And this one click makes the CI pass on my fork

Show screenshot

image

Note there will still be a warning for this case, but it won't trigger a CI failure. Maybe I'm oversensitive to those, very likely even. But removing some of those overly pedantic/punitive code patterns would make Codacy much more useful in its reports.

Also note that this one change makes the critical issues on Codacy drop from 46 to 12. And the remaining ones can really be considered as such, and it feels much more managable to handle.

@ddalcino
Copy link
Contributor

ddalcino commented Jan 9, 2025

👍 Nice job! With this feature, the functionality of aqtinstall will be more completed!

I agree. I haven't tested this, but I imagine this will fix a lot of the issues we have with patching new releases, etc. This new command is a huge improvement.

I think this can also help @ddalcino's aqt list-qt server: https://github.com/ddalcino/aqt-list-server/blob/3ae82fa442453563063a3ea95adc0e4c4261831b/src/App.tsx#L180-L195

It is helpful. Not sure I have the bandwidth to fix it at the moment though.

My solution: @miurahr please in your interface, go to https://app.codacy.com/gh/miurahr/aqtinstall/patterns and disable semgrep

IMHO, I disagree. I think it's better to just accept that these issues are false positives, and merge the PR anyway. There's probably still some value to be had from keeping the semgrep tool enabled; it just shouldn't be a blocker to merging this.

Personally, I think the more worrying CI report is this one:

coverage/coveralls — Coverage decreased (-1.2%) to 89.619%

Large coverage decreases like this can make the project a lot harder to maintain successfully. I'm not in charge, but if I were, I would ask you to add tests to get the coverage decrease as close to 0% as possible. I'd also ask for one Azure Pipeline build job, just to prove that the new command can built a sample Qt project successfully. I think one is enough for now.

@pzhlkj6612
Copy link
Contributor

The solution hinted at on the site is either mentioning a function that do not exist, or serving AI slop solutions, looping between two opposite solutions that just change what the other did in a very gas lighting way.

The platform does provide solution, but useless? Well, AI-ish stuff again...

My solution: @miurahr please in your interface, go to https://app.codacy.com/gh/miurahr/aqtinstall/patterns and disable semgrep

IMHO, I disagree. I think it's better to just accept that these issues are false positives, and merge the PR anyway. There's probably still some value to be had from keeping the semgrep tool enabled; it just shouldn't be a blocker to merging this.

I agree. Humans are working with tools.

@ddalcino
Copy link
Contributor

ddalcino commented Jan 9, 2025

Note there will still be a warning for this case, but it won't trigger a CI failure. Maybe I'm oversensitive to those, very likely even. But removing some of those overly pedantic/punitive code patterns would make Codacy much more useful in its reports.

Also note that this one change makes the critical issues on Codacy drop from 46 to 12. And the remaining ones can really be considered as such, and it feels much more managable to handle.

Oh! I didn't see this part. If we still get the warnings after turning off semgrep, maybe it's ok to turn it off. I retract my objection.

@Kidev Kidev force-pushed the install_qt_commercial branch from 40ed004 to 0790ad3 Compare January 9, 2025 05:16
@Kidev
Copy link
Contributor Author

Kidev commented Jan 9, 2025

Large coverage decreases like this can make the project a lot harder to maintain successfully. I'm not in charge, but if I were, I would ask you to add tests to get the coverage decrease as close to 0% as possible. I'd also ask for one Azure Pipeline build job, just to prove that the new command can built a sample Qt project successfully. I think one is enough for now.

I agree @ddalcino, but guess why it decreased? Because I had to add so many branches just to prove to one CI tool that I was a good boy, and that my process spwan was safe. And testing all those cases is impossible unless you have an army with you. Right now it is Coverage decreased (-0.2%) to 90.551%, and I'm not done with the PR. In practice in projects like this one, a too strict policy on coverage incentivizes devs to use less descriptive errors messages, to create less branches, and improve the coverage without having to test for random stuff

I agree it's just a tool, but don't underestimate the effect of hundreds of red error lines on a tired dev morale. Codacy yields stupidities like These permissions '0o700' are widely permissive and grant access to more people than may be necessary. (sic). But it is a binary installer file. I must be able to write it somewhere from the download server, to read it, and execute it. I give those rights to the owner only. So I can't give it less rights. And it says those are are widely permissive... Such tools should have annotations to disable some of their checks from within the code, and afaik it is not the case here.

Take a look at the number of edits I made to the main post of the PR. I'm a hopeless stage 4 perfectionist. I'm not sharing random untested code trust me, and I religiously follow the code guide lines of the project I help. But sometimes some tools have the opposite effect of what they want to achieve, and when that happens, I feel it is a duty to share my concerns with the maintainer. And I believe it is the case here. It's not an order in anyway, just a live report from the trenches.

@miurahr
Copy link
Owner

miurahr commented Jan 9, 2025

The feature proposed has an independence with other aqt installer features.
It seems better to have its own python file such as commercial.py in my sense.

This command will download the official Qt installer, and translate aqtinstall commands you are used to into the arguments the official installer needs. It will automatically accept all licenses, the installation is unattended.

I agree the approach. It provides a consistency with install-qt command to help users, and support users to run unattended installation.

@Kidev
Copy link
Contributor Author

Kidev commented Jan 9, 2025

The feature proposed has an independence with other aqt installer features.

It seems better to have its own python file such as commercial.py in my sense.

This command will download the official Qt installer, and translate aqtinstall commands you are used to into the arguments the official installer needs. It will automatically accept all licenses, the installation is unattended.

I agree the approach. It provides a consistency with install-qt command to help users, and support users to run unattended installation.

It was my first way of doing it, in a new commercial.py file. However I had issues with the import of other aqt modules not being available yet or something like this. So I went for the easy way to do it and put it all in install.py. But yea at the very least the CommercialInstaller class should live in its own file

@miurahr
Copy link
Owner

miurahr commented Jan 11, 2025

The feature proposed has an independence with other aqt installer features.
It seems better to have its own python file such as commercial.py in my sense.
It was my first way of doing it, in a new commercial.py file. However I had issues with the import of other aqt modules not being available yet or something like this. So I went for the easy way to do it and put it all in install.py. But yea at the very least the CommercialInstaller class should live in its own file

OK, Lets merge here as is. When someone want to refactor classes, it will have a chance to get its own file.

@miurahr
Copy link
Owner

miurahr commented Jan 11, 2025

Important

Everything works well, and I added tests. It still lacks supports for specific addons right now, I'm working on it.

Note

With current settings, I cannot complete Codacy Static Code Analysis because I need to execute a process (the Qt installer) with dynamic parameters (the requested version...). I will stop trying to fix this for now as I'm stuck. I tried to use subprocess, to split the binary (that can be static) and the args (that cannot), it did not work.

subprocess.run(["qt-unified-linux-x64-online.run"].extend(arguments), shell=False, check=True, cwd=working_dir)

image

I even tried the old school fork/exec way using execv, with the binary explicitly static, but not even that is accepted by Codacy

os.execv("qt-unified-linux-x64-online.run", ["qt-unified-linux-x64-online.run"] + arguments)

image

I try to update a codacy check criteria and gate standard.
It should pass here in the new configuration.

@Kidev Kidev force-pushed the install_qt_commercial branch from c26c0e6 to 399acf0 Compare January 11, 2025 21:47
@Kidev
Copy link
Contributor Author

Kidev commented Jan 11, 2025

Ok I am adding the parameter --override for power users. This makes it possible to bypass all possible limitations of the current aqtinstall commercial installer, and just rawdog the CLI yourself. For now, it is the only way to add some modules.

kidev:~$ python -m aqt install-qt-commercial --override "--root /home/kidev/override_test --accept-licenses --accept-obligations --confirm-command --auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=No,stopProcessesForUpdates=Cancel,installationErrorWithCancel=Cancel,installationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No install qt.qt6.681.linux_gcc_64" 

When present, it will ignore all other parameters and simply give its value(s) to the installer. It also works without quotes:

kidev:~$ python -m aqt install-qt-commercial --override --root /home/kidev/override_test --accept-licenses --accept-obligations --confirm-command --auto-answer OperationDoesNotExistError=Ignore,OverwriteTargetDirectory=No,stopProcessesForUpdates=Cancel,installationErrorWithCancel=Cancel,installationErrorWithIgnore=Ignore,AssociateCommonFiletypes=Yes,telemetry-question=No install qt.qt6.681.linux_gcc_64

You have full control over the parameters of the binary with this, so you can launch the GUI if you want (python -m aqt install-qt-commercial --override). If you use --override at any point in your CI, you cannot report bugs that may appear to aqtinstall, as we have no control over this. With great power comes great responsibility

@Kidev
Copy link
Contributor Author

Kidev commented Jan 11, 2025

You could also do useful things like listing addons:

kidev:~$ python -m aqt install-qt-commercial --override --accept-licenses --accept-obligations --confirm-command --default-answer search qt.qt6.681
INFO    : aqtinstall(aqt) v0.1.dev1867 on Python 3.13.1 [CPython GCC 14.2.1 20240910]
INFO    : Downloading Qt installer to /tmp/qt_install_4kjtb709/qt-unified-linux-x64-online.run
INFO    : Running: /tmp/qt_install_4kjtb709/qt-unified-linux-x64-online.run --accept-licenses --accept-obligations --confirm-command --default-answer search qt.qt6.681
...
<availablepackages>
    <package name="qt.qt6.681.addons.qtquick3dphysics" displayname="Qt Quick 3D Physics" version="6.8.1-0-202411221531"/>
    <package name="qt.qt6.681.addons.qtpositioning" displayname="Qt Positioning" version="6.8.1-0-202411221531"/>
    <package name="qt.qt6.681.addons.qt3d" displayname="Qt 3D" version="6.8.1-0-202411221531"/>
    <package name="qt.qt6.681.addons.qtserialbus" displayname="Qt Serial Bus" version="6.8.1-0-202411221531"/>
    <package name="qt.qt6.681.addons.qtconnectivity" displayname="Qt Connectivity" version="6.8.1-0-202411221531"/>
....
    <package name="qt.qt6.681.addons.qtspeech" displayname="Qt Speech" version="6.8.1-0-202411221531"/>
    <package name="qt.qt6.681.addons.qtgraphs" displayname="Qt Graphs" version="6.8.1-0-202411221531"/>
    <package name="qt.qt6.681.addons.qtquickeffectmaker" displayname="Qt Quick Effect Maker" version="6.8.1-0-202411221531"/>
</availablepackages>
INFO    : Qt installation completed successfully

And finally, the temporary way to install modules (here QtQuick3D):

kidev:~$ python -m aqt install-qt-commercial --override --accept-licenses --accept-obligations --confirm-command --default-answer install qt.qt6.681.linux_gcc_64 qt.qt6.681.addons.qtquick3d

@Kidev
Copy link
Contributor Author

Kidev commented Jan 12, 2025

Major progress. Modules are available, but that required a few things. Note that --override remains, and its behavior almost did not change. Indeed, it is still entirely possible to use to call the installer binary directly. However now, if you do not add all the boilerplate flags to it, it will add it automatically. Those flags are also no longer parameters, but configs inside settings.ini:

[qtcommercial]
# If False, it will require user inputs
# If True, it will append --accept-licenses --accept-obligations --confirm-command to the command
# Even if `--override` is provided
unattended = True

# Timeout for Qt installer operations (in seconds)
installer_timeout = 30

# Auto-answer settings for Qt installer
# Those will be translated into flags and passed to the installer automatically
# Even if `--override` is provided
operation_does_not_exist_error = Ignore
overwrite_target_directory = No
stop_processes_for_updates = Cancel
installation_error_with_cancel = Cancel
installation_error_with_ignore = Ignore
associate_common_filetypes = Yes
telemetry = No

# Cache path for Qt installer files
# This entry is absent from shared settings.ini, and auto updates on init if absent to be the most relevant folder possible given the OS
cache_path = ~/.cache/aqt

To be entirely "free" while using override, you will have then to set unattended = False, set the auto answers to the values you want inside the settings.ini, and you are good to go.

Therefore, override commands can still achieve the same features, while being as simple as:

kidev:~$ python -m aqt install-qt-commercial --override install qt.qt6.681.linux_gcc_64
kidev:~$ python -m aqt install-qt-commercial --override search qt6.681

You may have noticed the cache path setting. It is where aqt will save its cached module list. Since they do not change, it's perfect for caching. To get their content, aqt will call the search option of the official Qt installer, parse and save the content of that call. The next times, it wont search again. It is maybe possible to pull all those .json files and to distribute it with aqt. Undecided for now, @miurahr your call

So, now you can use the --modules parameter. Like this:

kidev:~$ python -m aqt install-qt-commercial desktop linux_gcc_64 6.8.1 --modules qtquick3d

If the module all is present, it will make the installer download the special -full package of your target and os.

kidev:~$ python -m aqt install-qt-commercial desktop linux_gcc_64 6.8.1 --modules all

The cache is structured into folder and json file. For example:

kidev:~/.cache/aqt/desktop/linux_gcc_64/6.8.1$ cat packages.json
[
  {
    "name": "qt.qt6.681.addons.qtimageformats",
    "displayname": "Qt Image Formats",
    "version": "6.8.1-0-202411221531"
  },
  {
    "name": "qt.qt6.681.src",
    "displayname": "Sources",
    "version": "6.8.1-0-202411221531"
  },
  {
    "name": "qt.qt6.681.debug_info",
    "displayname": "Qt Debug Information Files",
    "version": "6.8.1-0-202411221531"
  },
  {
    "name": "qt.qt6.681.qtwaylandcompositor",
    "displayname": "Qt Wayland Compositor",
    "version": "6.8.1-0-202411221531"
  },
  {
    "name": "qt.qt6.681.android",
    "displayname": "Android",
    "version": "6.8.1-0-202411221531"
  },
  {
    "name": "qt.qt6.681.addons.qtspeech",
    "displayname": "Qt Speech",
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants