Add support for commercial versions of Qt (#878)

* Add install-qt-commercial feature and tests

* Make the auto-answers parameters, fix linter issues

* Fork and execv instead of using subprocess

* Return to simpler process execution method version

* Fix test

* Move commercial installer into its own file

* Fix shadowing of symbol platform causing errors

* Adapt test_cli for argparse format changes on py 3.13+

* Fix some errors, monkeypatch install test

* Add --override super command

* Properly handle --override and grab all the remaining commands when no quotes are given

* Fix tests

* Add base for modules, some niche features are not yet entirely implemented, and there are no updates to the testsuite

* Fix some mistakes

* Fix errors made with the monkeypatch, update Settings to make sure its init

* Tests commercial (#20)

* Full support of installation of all modules and addons
* Add auto setup of cache folder for each OS, add unattended parameter
* Fix settings folders
* Add graceful error message for overwrite case

* Fix windows issue

* Hidden summon works

* Remove both subprocess direct calls

* Dipose of temp folder

* Fix path issue

* Add list-qt-commercial command

* Fix help info

* Make no params valid for list-qt-commercial

* Fix lint errors, and param overflow when no args are passed to list

* Fix search

* Add tests for coverage, fix lint

* Test for overwriting, and for cache usage coverage

* Return to clean exec, ignoring CI fail to preserve code clarity

* Fix parsing of subprocess.run output for some python versions

* Make output more readable in console for list-qt-commercial

* Forward email and password to list request for users without a qtaccount.ini

* Change default settings

* Fix lint errors

* Fix check error
This commit is contained in:
Alexandre Poumaroux
2025-01-28 12:51:53 +01:00
committed by GitHub
parent 7917b2d725
commit cbe159f38a
8 changed files with 933 additions and 54 deletions

View File

@@ -1,32 +1,45 @@
[DEFAULTS]
[aqt]
concurrency: 4
baseurl: https://download.qt.io
7zcmd: 7z
print_stacktrace_on_error: False
always_keep_archives: False
archive_download_location: .
min_module_size: 41
concurrency : 4
baseurl : https://download.qt.io
7zcmd : 7z
print_stacktrace_on_error : False
always_keep_archives : False
archive_download_location : .
min_module_size : 41
[requests]
connection_timeout: 3.5
response_timeout: 30
max_retries_on_connection_error: 5
retry_backoff: 0.1
max_retries_on_checksum_error: 5
max_retries_to_retrieve_hash: 5
hash_algorithm: sha256
INSECURE_NOT_FOR_PRODUCTION_ignore_hash: False
connection_timeout : 3.5
response_timeout : 30
max_retries_on_connection_error : 5
retry_backoff : 0.1
max_retries_on_checksum_error : 5
max_retries_to_retrieve_hash : 5
hash_algorithm : sha256
INSECURE_NOT_FOR_PRODUCTION_ignore_hash : False
[qtcommercial]
unattended : True
installer_timeout : 1800
operation_does_not_exist_error : Ignore
overwrite_target_directory : Yes
stop_processes_for_updates : Ignore
installation_error_with_cancel : Ignore
installation_error_with_ignore : Ignore
associate_common_filetypes : Yes
telemetry : No
cache_path :
temp_dir :
[mirrors]
trusted_mirrors:
trusted_mirrors :
https://download.qt.io
blacklist:
blacklist :
http://mirrors.ocf.berkeley.edu
http://mirrors.tuna.tsinghua.edu.cn
http://mirrors.geekpie.club
fallbacks:
fallbacks :
https://qtproject.mirror.liquidtelecom.com/
https://mirrors.aliyun.com/qt/
https://mirrors.ustc.edu.cn/qtproject/
@@ -44,7 +57,7 @@ fallbacks:
https://qt.mirror.constant.com/
[kde_patches]
patches:
patches :
0001-toolchain.prf-Use-vswhere-to-obtain-VS-installation-.patch
0002-Fix-allocated-memory-of-QByteArray-returned-by-QIODe.patch
0003-Update-CLDR-to-v37-adding-Nigerian-Pidgin-as-a-new-l.patch
@@ -240,4 +253,4 @@ patches:
0193-Remove-the-unnecessary-template-parameter-from-the-c.patch
0194-Fix-memory-leak-when-using-small-caps-font.patch
0195-Make-sure-_q_printerChanged-is-called-even-if-only-p.patch
0196-fix-Alt-shortcut-on-non-US-layouts.patch
0196-fix-Alt-shortcut-on-non-US-layouts.patch