Update documents and copyrights

Signed-off-by: Hiroshi Miura <miurahr@linux.com>
This commit is contained in:
Hiroshi Miura
2021-01-30 00:28:44 +09:00
parent 6052f9b3e6
commit c2750e34f1
15 changed files with 333 additions and 50 deletions

View File

@@ -36,5 +36,5 @@ Here is small amount rule when you want to send patch the project;
CI tests
=========
The project configured to use Azure Pipelines, Travis-CI and CoverAlls for regression test.
The project configured to use Azure Pipelines, Github actions and Coveralls for regression test.
You can see test results on badge and see details in a web page linked from badge.

View File

@@ -1,7 +1,7 @@
MIT License
Copyright (C) 2018 Linus Jahn <lnj@kaidan.im>
Copyright (C) 2019 Hirshi Miura <miurahr@linux.com>
Copyright (C) 2019-2021 Hirshi Miura <miurahr@linux.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python
#
# Copyright (C) 2018 Linus Jahn <lnj@kaidan.im>
# Copyright (C) 2019, 2020 Hiroshi Miura <miurahr@linux.com>
# Copyright (C) 2019-2021 Hiroshi Miura <miurahr@linux.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in

View File

@@ -1,7 +1,6 @@
#!/usr/bin/env python
#
# Copyright (C) 2018 Linus Jahn <lnj@kaidan.im>
# Copyright (C) 2019 Hiroshi Miura <miurahr@linux.com>
# Copyright (C) 2019-2021 Hiroshi Miura <miurahr@linux.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python
#
# Copyright (C) 2018 Linus Jahn <lnj@kaidan.im>
# Copyright (C) 2019-2020 Hiroshi Miura <miurahr@linux.com>
# Copyright (C) 2019-2021 Hiroshi Miura <miurahr@linux.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
@@ -122,7 +122,10 @@ class PackagesList:
class QtArchives:
"""Hold Qt archive packages list."""
"""Download and hold Qt archive packages list.
It access to download.qt.io site and get Update.xml file.
It parse XML file and store metadata into list of QtPackage object.
"""
def __init__(self, os_name, target, version, arch, base, subarchives=None,
modules=None, logging=None, all_extra=False, timeout=(5, 5)):
@@ -239,7 +242,8 @@ class QtArchives:
class SrcDocExamplesArchives(QtArchives):
"""Hold doc/src/example archive package list."""
"""Hold doc/src/example archive package list.
"""
def __init__(self, flavor, os_name, target, version, base, subarchives=None,
modules=None, logging=None, all_extra=False, timeout=(5, 5)):
@@ -267,7 +271,7 @@ class SrcDocExamplesArchives(QtArchives):
def get_target_config(self) -> TargetConfig:
"""Get target configuration.
:return tuple of three parameter, "Tools", target and arch
:return tuple of three parameter, "src_doc_examples", target and arch
"""
return TargetConfig("src_doc_examples", self.target, self.arch, self.os_name)

View File

@@ -1,3 +1,24 @@
#!/usr/bin/env python
#
# Copyright (C) 2019-2021 Hiroshi Miura <miurahr@linux.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import ast
import configparser
import json
@@ -21,9 +42,9 @@ def _check_content_type(ct: str) -> bool:
def altlink(url: str, alt: str, logger=None):
'''Blacklisting redirected(alt) location based on Settings.blacklist configuration.
"""Blacklisting redirected(alt) location based on Settings.blacklist configuration.
When found black url, then try download a url + .meta4 that is a metalink version4
xml file, parse it and retrieve best alternative url.'''
xml file, parse it and retrieve best alternative url."""
if logger is None:
logger = logging.getLogger(__name__)
blacklist = Settings().blacklist # type: Optional[List[str]]

View File

@@ -1,8 +1,8 @@
#!/usr/bin/env python3
#
# Copyright (C) 2018 Linus Jahn <lnj@kaidan.im>
# Copyright (C) 2019-2020 Hiroshi Miura <miurahr@linux.com>
# Copyright (C) 2020, Aurélien Gâteau#
# Copyright (C) 2019-2021 Hiroshi Miura <miurahr@linux.com>
# Copyright (C) 2020, Aurélien Gâteau
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
@@ -166,6 +166,7 @@ class Cli:
pool.starmap(installer, tasks)
def run_install(self, args):
"""Run install subcommand"""
start_time = time.perf_counter()
arch = args.arch
target = args.target
@@ -259,15 +260,19 @@ class Cli:
self.logger.info("Time elapsed: {time:.8f} second".format(time=time.perf_counter() - start_time))
def run_src(self, args):
"""Run src subcommand"""
self._run_src_doc_examples('src', args)
def run_examples(self, args):
"""Run example subcommand"""
self._run_src_doc_examples('examples', args)
def run_doc(self, args):
"""Run doc subcommand"""
self._run_src_doc_examples('doc', args)
def run_tool(self, args):
"""Run tool subcommand"""
start_time = time.perf_counter()
arch = args.arch
tool_name = args.tool_name
@@ -303,6 +308,7 @@ class Cli:
self.logger.info("Time elapsed: {time:.8f} second".format(time=time.perf_counter() - start_time))
def run_list(self, args):
"""Run list subcommand"""
self.show_aqt_version()
qt_version = args.qt_version
host = args.host
@@ -324,9 +330,11 @@ class Cli:
print(table.draw())
def show_help(self, args):
"""Display help message"""
self.parser.print_help()
def show_aqt_version(self):
"""Display version information"""
dist = importlib_metadata.distribution('aqtinstall')
module_name = dist.entry_points[0].name
py_version = platform.python_version()
@@ -442,6 +450,10 @@ class Cli:
def installer(qt_archive, base_dir, command, response_timeout=30):
"""
Installer function to download archive files and extract it.
It is called through multiprocessing.Pool()
"""
name = qt_archive.name
url = qt_archive.url
archive = qt_archive.archive
@@ -498,7 +510,10 @@ def installer(qt_archive, base_dir, command, response_timeout=30):
def finisher(target, base_dir, logger):
"""Make Qt configuration files, qt.conf and qtconfig.pri"""
"""
Make Qt configuration files, qt.conf and qtconfig.pri.
Call updater to update pkgconfig and patch Qt5Core and qmake
"""
qt_version = target.version
arch = target.arch
if arch is None:

View File

@@ -1,3 +1,24 @@
#!/usr/bin/env python
#
# Copyright (C) 2019-2021 Hiroshi Miura <miurahr@linux.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import os
import pathlib
import subprocess

View File

@@ -9,11 +9,22 @@ Aqtinstall is written and maintained by Hiroshi Miura <miurahr@linux.com>
Original qli-installer is written by Linus Jahn
Utilize for Github Actions recipe and many feedback by Benjamin O
Contributors, listed alphabetically, are:
* Andrei Yankovich (tools ifw installation)
* Aurélien Gâteau (patching to qmake, #100)
* Gamso (improve parsing of update.xml)
* Kyle Altendorf (7z binary path search)
* Martin Delille
* Martin Delille (Document)
* Mizux Seihax (Qt versions)
* Nelson Chen (CI tests)
* Skycoder42 (Explicit extra module installation)
* Thomas Grainger
* pylipp (Document)
* Felix Barz (Android, Explicit extra module installation)
* Sztergbaum Roman
* Thomas Grainger (CLI entry point)
* Vadim Peretokin (Version database)
* ypnos (Document)
and many other participants and contributors.

207
docs/available_versions.rst Normal file
View File

@@ -0,0 +1,207 @@
:tocdepth: 2
.. _available_versions:
Available Qt versions(Informative)
==================================
Here is an available combinations of Qt versions and platforms.
It is based on contents at https://download.qt.io/ as in January, 2021.
It may be changed by The Qt Foundation.
Linux
=====
desktop
-------
+---------+---------------------------------------------+
| Variant | Qt Versions |
+=========+=============================================+
| gcc_64 | 5.15.2 |
| wasm_32 | 5.15.1 5.15.0 |
| | 5.14.2 5.14.1 5.14.0 |
| | 5.13.2 5.13.1 |
+---------+---------------------------------------------+
| | 6.0.1 6.0.0 5.13.0 |
| gcc_64 | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| | 5.11.3 5.11.2 5.11.1 5.11.0 |
| | 5.10.1 5.10.0 |
| | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
+---------+---------------------------------------------+
android
-------
+-------------------+---------------------------------------------+
| Variant | Qt Versions |
+===================+=============================================+
| android_armv7 | 6.0.1 6.0 |
| android_arm64_v8a | |
| android_x86 | |
| android_x86_64 | |
+-------------------+---------------------------------------------+
| android_armv7 | 5.15.2 5.15.1 5.15.0 |
| android_x86 | 5.14.2 5.14.1 5.14.0 |
| | 5.13.2 5.13.1 5.13.0 |
| | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| | 5.11.3 5.11.2 5.11.1 5.11.0 |
| | 5.10.1 5.10.0 |
| | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
+-------------------+---------------------------------------------+
mac
===
desktop
-------
+---------+---------------------------------------------+
| Variant | Qt Versions |
+=========+=============================================+
| clang_64| |
| wasm_32 | 5.15.2 5.15.1 5.15.0 |
| | 5.14.2 5.14.1 5.14.0 |
| | 5.13.2 5.13.1 |
+---------+---------------------------------------------+
| | 6.0.1 6.0.0 |
| | 5.13.0 |
| clang_64| 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| | 5.11.3 5.11.2 5.11.1 5.11.0 |
| | 5.10.1 5.10.0 |
| | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
+---------+---------------------------------------------+
android
-------
+-------------------+---------------------------------------------+
| Variant | Qt Versions |
+===================+=============================================+
| android_armv7 | 6.0.1 6.0 |
| android_arm64_v8a | |
| android_x86 | |
| android_x86_64 | |
+-------------------+---------------------------------------------+
| android_armv7 | 5.15.2 5.15.1 5.15.0 |
| android_x86 | 5.14.2 5.14.1 5.14.0 |
| | 5.13.2 5.13.1 5.13.0 |
| | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| | 5.11.3 5.11.2 5.11.1 5.11.0 |
| | 5.10.1 5.10.0 |
| | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
+-------------------+---------------------------------------------+
ios
---
+-------------------+---------------------------------------------+
| Variant | Qt Versions |
+===================+=============================================+
| ios | 6.0.1 6.0 |
| | 5.15.2 5.15.1 5.15.0 |
| | 5.14.2 5.14.1 5.14.0 |
| | 5.13.2 5.13.1 5.13.0 |
| | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| | 5.11.3 5.11.2 5.11.1 5.11.0 |
| | 5.10.1 5.10.0 |
| | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
+-------------------+---------------------------------------------+
windows
=======
desktop
-------
+--------------------+---------------------------------------------+
| Variant | Qt Versions |
+====================+=============================================+
| win32_mingw81 | 6.0.1 6.0.0 |
| win64_msvc2019_64 | |
+--------------------+---------------------------------------------+
| win32_mingw81 | 5.15.2 5.15.1 5.15.0 |
| win32_msvc2019 | |
| win64_msvc2015_64 | |
| win64_msvc2019_64 | |
| wasm_32 | |
+--------------------+---------------------------------------------+
| win32_mingw73 | 5.14.2 5.14.1 5.14.0 |
| win32_msvc2017 | 5.13.2 5.13.1 |
| win64_msvc2015_64 | |
| win64_msvc2017_64 | |
| wasm_32 | |
+--------------------+---------------------------------------------+
| win32_mingw73 | 5.13.0 |
| win32_msvc2017 | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| win64_msvc2015_64 | 5.12.3 5.12.2 5.12.1 5.12.0 |
| win64_msvc2017_64 | |
+--------------------+---------------------------------------------+
| win32_mingw53 | 5.11.3 5.11.2 5.11.1 5.11.0 |
| win32_msvc2015 | |
| win64_msvc2015_64 | |
| win64_msvc2017_64 | |
+--------------------+---------------------------------------------+
| win32_mingw53 | 5.10.1 5.10.0 |
| win32_msvc2015 | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
| win64_msvc2013_64 | |
| win64_msvc2015_64 | |
| win64_msvc2017_64 | |
+--------------------+---------------------------------------------+
winrt
-----
+----------------------------+-------------------------------------+
| Variant | Qt Versions |
+============================+=====================================+
| win64_msvc2015_winrt_armv7 | 5.15.2 5.15.1 5.15.0 |
| win64_msvc2015_winrt_x64 | |
| win64_msvc2019_winrt_armv7 | |
| win64_msvc2019_winrt_x64 | |
| win64_msvc2019_winrt_x86 | |
+--------------------+---------------------------------------------+
| win64_msvc2015_winrt_armv7 | 5.14.2 5.14.1 5.14.0 |
| win64_msvc2015_winrt_x64 | 5.13.2 5.13.1 5.13.0 |
| | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| win64_msvc2017_winrt_armv7 | |
| win64_msvc2017_winrt_x64 | |
| win64_msvc2017_winrt_x86 | |
+--------------------+---------------------------------------------+
| win64_msvc2015_winrt_armv7 | 5.11.2 5.11.1 5.11.0 |
| win64_msvc2015_winrt_x64 | 5.10.1 5.10.0 |
| win64_msvc2015_winrt_x86 | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
| win64_msvc2017_winrt_armv7 | |
| win64_msvc2017_winrt_x64 | |
| win64_msvc2017_winrt_x86 | |
+--------------------+---------------------------------------------+
android
-------
+-------------------+---------------------------------------------+
| Variant | Qt Versions |
+===================+=============================================+
| android_armv7 | 6.0.1 6.0 |
| android_arm64_v8a | |
| android_x86 | |
| android_x86_64 | |
+-------------------+---------------------------------------------+
| android_armv7 | 5.15.2 5.15.1 5.15.0 |
| android_x86 | 5.14.2 5.14.1 5.14.0 |
| | 5.13.2 5.13.1 5.13.0 |
| | 5.12.9 5.12.8 5.12.7 5.12.6 5.12.5 5.12.4 |
| | 5.12.3 5.12.2 5.12.1 5.12.0 |
| | 5.11.3 5.11.2 5.11.1 5.11.0 |
| | 5.10.1 5.10.0 |
| | 5.9.9 5.9.8 5.9.7 5.9.6 5.9.5 |
+-------------------+---------------------------------------------+

View File

@@ -17,9 +17,10 @@ long options may be truncated to the shortest unambiguous abbreviation.
show generic help
.. option:: install <Qt version> <target OS> <target variant> <target environment>
.. option:: install <Qt version> <target OS> <target variant> <target architecture>
install Qt library specified version and target.
There are various combinations to accept according to Qt version.
.. describe:: Qt version
@@ -31,17 +32,17 @@ long options may be truncated to the shortest unambiguous abbreviation.
.. describe:: target variant
desktop or android
desktop, ios or android
.. describe:: target environment
.. describe:: target architecture
* gcc_64 for linux desktop
* clang_64 for mac desktip
* clang_64 for mac desktop
* win64_msvc2019_64, win64_msvc2017_64, win64_msvc2015_64, in32_msvc2015, win32_mingw53 for windows desktop
* win64_msvc2019_64, win64_msvc2017_64, win64_msvc2015_64, win32_msvc2015, win32_mingw53 for windows desktop
* android_x86, android_armv7 for android
* android_armv7, android_arm64_v8a, android_x86, android_x86_64 for android
.. option:: --version, -v
@@ -71,8 +72,10 @@ long options may be truncated to the shortest unambiguous abbreviation.
.. option:: --archives <list of archives>
[Advanced] specify subset of archives to limit installed archvies.
[Advanced] Specify subset of archives to **limit** installed archives.
This is advanced option and not recommended to use for general usage.
Main purpose is speed up CI/CD process by limiting installed modules.
It can cause broken installation of Qt SDK.
.. option:: src <Qt version> <target OS> <target variant>
@@ -89,8 +92,10 @@ long options may be truncated to the shortest unambiguous abbreviation.
install Qt examples specified version and target.
.. option:: tools <target OS> <target tool name> <target tool version> <tool variant name>
.. option:: tool <target OS> <target tool name> <target tool version> <tool variant name>
install tools specified. tool name may be 'tools_openssl_x64', 'tools_ninja', 'tools_ifw', 'tools_cmake'
and tool variants name may be 'qt.tools.openssl.gcc_64', 'qt.tools.ninja', 'qt.tools.ifw.32', 'qt.tools.cmake'.
You may need to looking for version number at https://download.qt.io/online/qtsdkrepository/

View File

@@ -30,8 +30,11 @@ import os
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.doctest',
'sphinx.ext.coverage',
'sphinx.ext.extlinks',
'sphinx.ext.viewcode',
'sphinx.ext.graphviz',
]
# Add any paths that contain templates here, relative to this directory.
@@ -50,7 +53,7 @@ master_doc = 'index'
# General information about the project.
project = u'aqtinstall'
copyright = u'2019, Hiroshi Miura'
copyright = u'2019-2021, Hiroshi Miura'
author = u'Hiroshi Miura'
# The version info for the project you're documenting, acts as replacement for
@@ -58,9 +61,9 @@ author = u'Hiroshi Miura'
# built documents.
#
# The short X.Y version.
version = u'0.5'
version = u'1.0'
# The full version, including alpha/beta/rc tags.
release = u'0.5b2'
release = u'1.0.0b2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@@ -1,5 +1,5 @@
Welcome to aqtinstall's documentation!
======================================
aqtinstall manual
=================
Contents:
@@ -7,6 +7,7 @@ Contents:
:maxdepth: 2
cli
available_versions
internals
changes
devguide

View File

@@ -7,27 +7,28 @@ Internals
.. _archives-objects:
Archives module
---------------
.. automodule:: aqt.archives
:members:
:undoc-members:
:inherited-members:
:show-inheritance:
Installer module
----------------
.. automodule:: aqt.installer
:members:
:inherited-members:
:show-inheritance:
Cli module
----------
Archives module
---------------
.. autoclass:: aqt.cli.Cli
.. automodule:: aqt.archives
:members:
:inherited-members:
:show-inheritance:
Updater module
--------------
.. automodule:: aqt.updater
:members:
@@ -37,9 +38,3 @@ Helper module
.. automodule:: aqt.helper
:members:
QtPatch module
--------------
.. automodule:: aqt.qtpatch
:members:

View File

@@ -69,3 +69,4 @@ check =
docs =
sphinx>=1.8
sphinx_rtd_theme
sphinx-py3doc-enhanced-theme