Commit Graph

257 Commits

Author SHA1 Message Date
Hiroshi Miura
7ad738b3a0 style: apply black
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2024-06-21 03:16:59 +09:00
Hiroshi Miura
b8f7ed69c1 feat: support list Qt 6.8.0 windows_arm64
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2024-06-20 21:15:13 +09:00
Andrew Wason
f049a82d9d Override host/target for src/docs if Qt >= 6.7.0 (#776)
* Override host/target for src/docs if Qt >= 6.7.0

Fixes https://github.com/miurahr/aqtinstall/issues/775
2024-05-05 09:28:02 +09:00
Andrew Wason
d0603a2555 Handle linux desktop arm64 arch with Qt 6.7.0 via new linux_arm64 host.
Top level directories are `qtsdkrepository/linux_x64` or `qtsdkrepository/linux_arm64`
qtsdkrepository files are suffixed with `.linux_gcc_64` or `.linux_gcc_arm64`
Installation directory is `gcc_64` or `gcc_arm64`
2024-03-05 09:55:10 -05:00
lebarsfa
612dc7ba91 Add ignore_hash option in settings.ini (#684)
* Settings: add an option to skip checksum verification on Updates.xml

This allows aqt to work even when the server download.qt.io is
unreachable.

Signed-off-by: Alberto Mardegan <mardy@users.sourceforge.net>

* Update settings.ini

* Correct option to skip checksum verification

* Rename ignore_hash option to INSECURE_NOT_FOR_PRODUCTION_ignore_hash

* Update doc about INSECURE_NOT_FOR_PRODUCTION_ignore_hash

* Add hash_algorithm option

* Unofficial mirrors might not provide any hash for Updates.xml

* docs: update configuration.rst

express default value of hash_algorithm

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* fix: hashlib constructor with usedforsecurity=False

- Python 3.9 and later introduce a keyword argument ``usedforsecurity``
- Set to False because we use hash to check file integrity not for password hash.

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Attempt to fix parameter type inconsistency in downloadBinaryFile

---------

Signed-off-by: Alberto Mardegan <mardy@users.sourceforge.net>
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
Co-authored-by: Alberto Mardegan <mardy@users.sourceforge.net>
Co-authored-by: Hiroshi Miura <miurahr@linux.com>
2023-11-06 07:29:03 +09:00
Dave Dalcino
dcc6924222 update documentation for --autodesktop flag 2023-09-12 16:21:48 -07:00
Hiroshi Miura
c059593817 Merge pull request #705 from ddalcino/topic/ddalcino/cli/warn-ext7zr
Log a warning when aqtinstall falls back to an external 7z extraction tool
2023-09-12 07:35:30 +09:00
Dave Dalcino
5c2c18d96b Fix installation of win64_msvc2019_arm64 arch
This fixes the behavior of the `--autodesktop` flag and the updater,
when installing win64_msvc2019_arm64 for desktop targets.
2023-09-06 18:09:02 -07:00
Dave Dalcino
2bc3766da7 fix format string without placeholders 2023-08-28 05:28:46 -07:00
Dave Dalcino
70dbe2a997 mypy 2023-08-28 05:28:46 -07:00
Dave Dalcino
85037194fe Remove fallback parameter 2023-08-28 05:28:45 -07:00
Dave Dalcino
1eeebfb44d Add passing impl for refactored _set_sevenzip 2023-08-28 05:28:45 -07:00
Dave Dalcino
c3195c9d64 Use 'tar' filter when extracting tarfiles
This is to address a SNYK warning. The new code will only run on Python
3.11.4 and above
2023-08-27 18:45:46 -07:00
David Dalcino
a6fe17edb7 Fix help text for list-tool
Flags must either precede or follow the entire list of positional arguments.
2023-05-24 14:00:07 -07:00
Dave Dalcino
ded8aa481c Fix failure to install-{src,doc} on windows
This adds the ability to unzip zip files, as well as tar.xz
2023-03-30 05:46:14 -07:00
Dave Dalcino
a92291eb21 Implement extraction of .tar.gz source files 2023-03-25 11:30:27 -07:00
Dave Dalcino
8dd56ff461 Catch OSError(errno.ENOSPC) and PermissionError
When the destination drive is not writable or has insufficient space,
these exceptions are raised during `run_installer`. Unless they are
caught and dealt with, `aqtinstall` requests that the user file a bug
report. This change catches these errors and prints a nice error message
instead of requesting a bug report.
2023-03-13 17:48:09 -07:00
Dave Dalcino
265c95d116 Simplify Cli._select_unexpected_modules logic
This function simply returns a set difference, so there's no need for it
to be any more complicated than that.
2023-02-16 14:55:16 -08:00
Dave Dalcino
a6db5da83d Refactor warning messages into reusable functions
This will reduce code duplication and make the warning messages easier
to improve in the future, since they will only need to be changed in one
location.
2023-02-16 14:24:47 -08:00
Dave Dalcino
6a0c174e01 Improve warning messages re: unknown aqt arguments
This improves the warnings about unknown versions, modules, and
architectures of Qt, so that it is more explicit what the message
actually means.

This changes the purpose of `Cli._check_modules_arg` from checking if
modules exist in combinations.json, to returning a list of modules
that do not exist in that file. The function has been renamed as well.
This change was necessary to make the warning message more informative.
2023-02-16 14:01:39 -08:00
Dave Dalcino
5a60b6d6e1 Update logic for --autodesktop flag
The `--autodesktop` flag is only useful when installing Qt6 for mobile
or wasm. The previous implementation would unnecessarily cause it to
install a desktop Qt for Qt5 mobile installations. This change ensures
that `--autodesktop` will not install an extra desktop Qt for any Qt5
installation.
2023-02-13 13:13:04 -08:00
Dave Dalcino
6e97b9fca9 Update documentation for --autodesktop flag
The `--autodesktop` flag is only useful when installing Qt6 for mobile
or wasm. There is no need to have an additional desktop Qt installation
for any Qt5 mobile or wasm installs. This updates the docs to reflect
that.
2023-02-13 13:13:03 -08:00
Hiroshi Miura
0f1010baee Load settings.ini in child process
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2022-12-05 19:50:51 +09:00
Dave Dalcino
452f8d74b2 Fix mypy type errors
- Introduce classes inherit argparse.ArgumentParser to suppress mypy
  errors in Cli class.
- `requests.session.Session.get()` expects that `timeout` is `float | tuple[float, float] | tuple[float, None] | None`
  so use `Tuple[float, float]` for timeout
- Use named tuple for modules_query
- Update test_list.py
2022-11-21 07:34:45 +09:00
Hiroshi Miura
7362621618 installer.py#installer: base_dir is always not None
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2022-11-20 15:20:27 +09:00
Hiroshi Miura
d95b5d7f05 mypy: improve SrcDocExample func
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2022-11-20 15:20:27 +09:00
Hiroshi Miura
c1627a9686 mypy: update untyped defs
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2022-11-20 15:20:27 +09:00
Dave Dalcino
81eebde168 Adjust against mypy type errors 2022-11-20 15:20:27 +09:00
Hiroshi Miura
893439fbbc PEP8
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2022-11-17 10:46:07 +09:00
Dave Dalcino
c90b262984 remove extensions from ArchiveId 2022-11-16 16:14:55 -08:00
Dave Dalcino
caee04bcb3 Remove extensions 2022-11-16 16:14:54 -08:00
EtlamGit
924e4b087b improve link to report issue
When we print the link with trailing dot, some automatic log-formaters will add that dot to the link itself.
E.g. when you use Github Actions this link will show up with extra dot and therefore does not work.
By removing the dot, the link is functional also in these cases.
2022-11-05 11:24:18 +01:00
Dave Dalcino
b52fa0f3e5 Fix log message for Qt that requires desktop version 2022-10-12 18:11:29 -07:00
Dave Dalcino
42481c42e1 Allow --autodesktop to autoinstall desktop qt for qt6/wasm.
Apparently, Qt6 for wasm does not ship with qmake, so CI must install it.
This change leverages `--autodesktop` for that purpose.
2022-10-10 22:57:21 -07:00
Dave Dalcino
703f2d2fe3 rework logic for readability 2022-08-20 09:09:23 -07:00
Dave Dalcino
0a8dd41dfa Fix formatting of version in paths 2022-08-20 09:04:52 -07:00
Dave Dalcino
ed6cf76968 Add CLI option to install desktop qt automatically
This change also causes aqt to emit a warning when the option is not
turned on and the expected desktop Qt is not found.
2022-08-20 07:53:00 -07:00
Hiroshi Miura
d30618791c Merge pull request #547 from ddalcino/list-qt-desc-modules
Add `aqt list-qt --long-modules`
2022-08-12 22:57:04 +09:00
Dave Dalcino
f407cfe37b Implementation for aqt list-qt --long-modules 2022-08-08 17:49:05 -07:00
Dave Dalcino
9422b9fc67 Make MetadataFactory respect baseurl set in arguments 2022-08-07 11:27:31 -07:00
Mozi
60889b7296 Log: left align the level name with padding (#539)
* Change log format for brief

- prepend %(levelname)s:

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* Update test expectations for error/warning messages

Signed-off-by: Hiroshi Miura <miurahr@linux.com>

* log: left align the level name with padding

Why 8: sizeof("CRITICAL") == 8

Ref:
  printf-style String Formatting § Built-in Types — Python 3 documentation
  https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting

* log: remove the duplicate "warning" words

Co-authored-by: Hiroshi Miura <miurahr@linux.com>
2022-07-18 22:29:16 +09:00
David Dalcino
dc45839df4 Fix implementation of helper.get_hash
Causes `get_hash` to verify the hash length, and check that the hash can
be unhexlified properly.

Fixes the interface for `get_hash` so that the caller does not have to
run `binascii.unhexlify` or verify its output.
2022-03-20 14:16:24 -07:00
David Dalcino
96af3eb393 Refactor: split QtArchive.archive_url into parts
This splits QtArchive.archive_url into two new datamembers: archive_path
and base_url. Ultimately, base_url should be removed from QtPackage
entirely.
2022-03-06 17:36:32 -08:00
David Dalcino
7ebd6aa34e Use sha256 hashes only from trusted mirrors
To keep this commit small, `hashurl` was removed from QtPackage, and
`get_hash` constructs the hash url based on the url of the 7z archive
to download. I think that in the future, QtArchive and QtPackage could
be refactored to construct this url more appropriately. However, this
would be a complicated change that doesn't belong in this commit.
2022-03-06 17:36:32 -08:00
Hiroshi Miura
cb7eaeeb2a Update 64bit python detection
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2022-02-11 11:00:27 +09:00
David Dalcino
8a289e922c Merge remote-tracking branch 'upstream/master' into fix-archives-flag 2021-12-13 18:17:17 -08:00
Hiroshi Miura
f86f6aa321 Explicit triggering garbage collection
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-12-07 20:32:09 +09:00
Hiroshi Miura
38cf9cbcef Limit maxtasksperchild=1 for pool on 32bit python
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-12-07 20:11:16 +09:00
Hiroshi Miura
9833124237 Set maxtasksperchild=1 for download and extraction pool
Signed-off-by: Hiroshi Miura <miurahr@linux.com>
2021-12-07 17:08:34 +09:00
David Dalcino
633cbacc62 Update docs and help text for --archives 2021-12-05 11:53:42 -08:00