| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Binarycreator needs imageformats for creating application icons.
Task-number: QTIFW-2668
Change-Id: I0ca7238f8af311ad3a29c607014c54c2802e1523
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce ConcurrentOperationRunner class used for running
installer operations concurrently in the global thread pool.
Add execution groups for operations; Unpack operations are run
concurrently for all components requesting installation,
operations belonging to Install group are run sequentially for
sorted components one at a time as before. From the default
registered operations the Extract op is moved to Unpack group.
Move the previously on-the-fly backup steps of Extract operation
to the ExtractArchiveOperation::backup(), so that backups are
done before any archives are extracted, and that we know if any
of the archives requires administrator privileges to unpack.
Reparent QInstaller::Error to QException to support throwing
and catching exceptions across thread boundaries.
Use RAII for the server-side objects of the classes supporting
the remote client-server protocol of installer framework. The
concurrent extraction revealed that it was still possible that
the local socket was disconnected and thus the RemoteServer-
Connection thread finished before receiving and processing the
final "Destroy" command packet, leaking the dynamically
allocated objects.
Task-number: QTIFW-2566
Change-Id: Ib8c2928b9405b7b3465c731018df73acb51e949f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 3rd-party sources haven't been updated in a long time, and
is missing some features compared to libarchive (which the
official IFW binaries use), like symbolic link support on Windows.
Add deprecation warning when compiling with LZMA SDK, and make
building the library and related client code conditional behind
a separate config feature.
Update docs to emphasize that libarchive is the recommended build
option for archive handler.
Change-Id: I70ed5f9b5d13e2243778f7c44b4ea833c8092ae0
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
I couldn't find a reason why this combination wouldn't work. If there
are no known issues the option should be allowed.
Task-number: QTIFW-2558
Change-Id: I9bceddc70e3ea4edeb1af2fe873f96bf815900d3
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
Commandline tools do not require plugins to be included in
static binaries, skip all of them. This avoids unnecessary
system dependencies for the tools.
Change-Id: I3c50f8ec436ef9d73c4cb551ed48047bf181ccbb
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-1587
Change-Id: I8855b1ce4bb8abf072ff235846428fc63729f0fb
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-1587
Change-Id: I86c4b08eb43e3cafbab83e04961c51d6bdbc98ba
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libarchive is a multi-format archive and compression library
written in C and licensed under the new BSD license. Usage of
libarchive brings in support for additional archive formats
(in addition to 7z) with the installer framework, like zip and
tar, with several available compression methods like gzip, bzip2
and xz.
libarchive will coexist as a supported archive format handler
with the LZMA SDK currently used in the framework, which will
continue to be used for handling the 7-Zip file format.
This change introduces classes for handling archive operations
using both libraries, removes most calls to the old Lib7z facade
and migrates the code base to use the new handling methods.
Task-number: QTIFW-2255
Change-Id: I8d77110ded503060495a3d6fdfdbc26281df9453
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
| |
Change-Id: Idff9a40c5089b4de7b8afd1c280603601317beda
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
| |
Change-Id: I77acdecaf5660f2d7aa723c56d53a97e5687a8b8
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Components can be updated from online repository using version number.
Sometimes there is a need to update to an older version which is now
possible by using content sha. Content sha can be added to repository
with repogen --sha-update <component_id>. If there is a new content sha
available in the repository, component is updated although it version
number might be smaller. After the content sha is removed from online
repository, the normal update with version number is performed.
Task-number: QTIFW-1798
Change-Id: Id9e32b0345af5101cccaf6e30c81bd39691d9590
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
| |
Functionality is only moved from repogen.cpp to repositorygen.cpp. This
makes the repository testing much easier.
Change-Id: I2078e2880955c71b9ffa0ac46501eafbd499c3ba
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a singleton-pattern class as an encapsulation unit for holding
and altering the state of debug printing attributes. Move related code
from various places under a single umbrella header file for logging
utilities, with some minor stylistic changes & cleanup.
This acts as a preparatory change for providing non-blocking headless
CLI runs when there is no TTY attached - that will be fixed in a
follow-up change.
Change-Id: Ib7f72cf75362c3ea6713058e92eda997d6df55c3
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
| |
This makes it possible to utilize parts of our existing tooling in the
offline installer from online installer generation process.
Task-number: QTIFW-2048
Change-Id: I7ee605be75541cc83a3b6909089bda45f0835bcf
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\
| |
| |
| | |
Change-Id: If5205ff6ef2c8989520e24d41595c04d5920d207
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
United metadata 7z was missing the component which had no update
available.
Task-number: QTIFW-2018
Change-Id: I069fd852499f157075bf28e3ccfef3e42e5f30a9
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|/
|
|
|
|
|
|
| |
Results analyzed using cppcheck tools.
Also add Q_DECL_OVERRIDE to overwrited functions.
Change-Id: Iab5eb43206af0050c1dd84efb7ed860ab9594496
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed regogen 'update' and 'repository' options to work with unite
metadata.
--update-new-components with unify metadata is prevented.
Moved --update-new-components functionality from repogen.cpp to
QInstallerTools so it can be accessed from tests.
Created tests for repogen.
Task-number: QTIFW-1943
Change-Id: I12389f4747154a0f6f51b4f34f630103c2cfef04
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5be59799b399fe8bd6655fcf6d7f6efdf5aa5f53
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add possibility to show an arbitrary number of product related, or
other images on PerformInstallationPage. These can be specified in
the installer configuration file, using <ProductImages> element with
one <Image> child element for each file name.
Task-number: QTIFW-1900
Change-Id: I2be727d9189963ef1a79046150111dd8c91153c6
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If the metadata name is the same although the package is updated, it
might cause problems when pushing the data to distribution systems that
requires a filename change in order to replicate content. If the
filename stays the same it may not be refreshed to the cache.
Task-number: QTIFW-1838
Change-Id: I2fc8c1cdf559dab89b57a74ebbe758cdc71da29c
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creating repositories caused sha mismatch detect if installed with IFW
version 3.2 or lower. Also changed the behavior that without any
switches both united and component metadata will be created.
--unite-metadata will create only one combined metadata and
--component-metadata the old style where each component has their own
meta 7z file.
Change-Id: I60d3b56217917739fb8115771af8c3bcf9e59f43
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
| |
Split long functions into smaller understandable functions, added
unit tests for metadatajob.
Change-Id: Ib423eab3c9ae7771fb032b99f767f96e52266ea7
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added two new configure options for repogen. --unite-metadata will
create both 'old' style meta 7z, which is one per component, and new
style which is one per repository. --unite-metadata-only will create
only new syntax meta 7z. One meta 7z per repository will significantly
decrease the download time if there are several packages in one
repository.
Change-Id: I651b24e93fdef3efb6253ee9b119ebad3bae4d59
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Add some basic output information about updated components when running
repogen with --update-new-components option in silent mode. --update
option is left silent in this regard as it is not component version
filtered, updating everything when -e or -i parameters are not passed.
Task-number: QTIFW-1543
Change-Id: I453a4107a3ec3702945becf4e15a87aad3423c2f
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
| |
Change-Id: Ibffb5470d374c8d612791f48c951deddd00f3121
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If Linux has several partitions and tmp is pointing to a different
partition than where we are trying to create installer executable with
binarycreator, binarycreator fails with 'Invalid cross-device link'.
Fixed so that tmp is not used when creating an installer executable.
Change-Id: Ieee52ee1929f980345a7940dd381cc94dbf3d40e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace deprecated Q_OS_OSX macro used in several places with the newer
Q_OS_MACOS. Old style reference of Apple's desktop operating system name
as "OS X" in documentation and files are also replaced with "macOS"
where applicable.
Task-number: QTIFW-1406
Change-Id: I0561d5e0d964917ac4fca0702d58a06b85d30e57
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
On macOS remove the use of obsolete CFBundleGetInfoString, replace with
CFBundleVersion and CFBundleShortVersionString respectively so that the
bundle's properties in Info.plist are up to date and version shows
correctly.
Task-number: QTIFW-1396
Change-Id: Iac03478e266d9d2994ecdf3b229e63976d683ac0
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
| |
Prevents a lot of warnings seen in QtCreator
Change-Id: I63bf95aca68a04fc9fd0eecbe29c63e9b9c47efd
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
After we implemented maintenancetool signing, we wrote the binary magic
marker to separate installer.dat file in maintenancetool (like we have always
done in macOS in both installer and maintenancetool). Devtool needs to
know about this change too to fetch the magic marker from correct place.
Task-number: QTIFW-1222
Change-Id: I08e74596033cb33ccb9c49d9db1ee7b4beef59ca
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I73cb43e090c6ff34f1ceb774490d01818465e2e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This addressed the following error:
[29065] Critical: Error occurred while assembling the installer: Cannot
open resource <some file>: Too many open files
libc++abi.dylib: terminating with uncaught exception of type
QInstaller::Error: std::exception
Abort trap: 6
Kai from TQtC suggested the fix used in commit:
8f8800de7ab89e6cbc7b5eb08f2b3f16407e6cdf
Applying it to binarycreator fixed the issue.
Change-Id: I8e616ded94310d33824242ab52e1101b7f2ddafd
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I77d539e079f3c7d61c4a965b222f4e02c35b1108
|
| |
| |
| |
| |
| | |
Change-Id: I059903b407a44f07b16af29fb5f0973395ee1f50
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I601b783a9d2eed009737b2779803457949cbb014
|
| |
| |
| |
| |
| |
| |
| | |
change the name of the variable to parse the arguments of operation command.
Change-Id: I251b17e6e48b0a5c12636199de57bbb761b3ac23
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I8d0c8b9faa9537b50e989ec264ed7bfe8d2e358b
|
| |
| |
| |
| |
| | |
Change-Id: I5bc3ca4779ed12d927c3a6a041a81d8e39d5bd1f
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add colon (:) symbol as alternative separator beetwen
component name and version to use dash (-) symbol in
component name.
For names with dash (-) symbol use colon (:) symbol
as separator in dependencies between name and version,
even if you do not specify a version.
Requirement example: package-with-dash:>=1.2.3, stable:1.x,
demo:v1.0-rc1, backward-compatibility:.
Also add test 'tst_ComponentIdentifier' for check new feature.
Task-number: QTIFW-948
Change-Id: I6340c8001dec369ed8d33fcc4a92c7bce660aec1
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes:
- Improve KDUpdater::compareVersion method;
- Add tst_CompareVersion test.
Task-number: QTIFW-948
Change-Id: If64f807cfb04e56d2bdd5fa250f456631df3f239
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Id2e682dc2698e08f91bee83e2a94de57403545a0
|
| |
| |
| |
| |
| |
| | |
Change-Id: I4ef19a4733d5c469676f3b419c6f4adf1e6ff0de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows macOS to display a proper error message to the user if their
OS version is too old, as opposed to (probably) crashing and displaying
an error dialog with a stack trace.
Change-Id: I37570062d7358cc6304182182f095c9e51e16d06
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
dist/config/config.xml
dist/packages/org.qtproject.ifw.binaries/meta/package.xml
dist/packages/org.qtproject.ifw/meta/package.xml
installerfw.pri
Change-Id: Ib2ab53321b599eb2e8b1e6e23be2ba507a948c5c
|
| |
| |
| |
| |
| |
| |
| |
| | |
Somehow a newline snuck into the wrong place, and ???? is recognized as
a trigraph, which produces a warning.
Change-Id: If948c544cba7ca880db4077bc3192332ce87ea52
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I496446d95b5523087e3d15ab3ad7cba697dea361
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Binarycreator assumed that install type is offline if no repositories
was set although --online-only was set. However, repositories might
be set later, for example in producetkeycheck::init().
Change-Id: Idd6d0e3304974773baefe3773be7e2948704575c
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Searching existing sha1sum node and keep/replace/add it if needed.
These changes correct the adding of two SHA1 nodes when the packages
are repackaged (option --repository via repogen and binarycreator)
Change-Id: Ide99946644fd73fadc63f23d34d7aec16b0399a2
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ic3c8005de03b2cc71436aaa18486085a845dca78
|