| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce GenericDataCache and Metadata classes for storing the
fetched metadata files (Updates.xml and uncompressed files from
the meta.7z archives) on local filesystem.
The cache uses a checksum based dictionary to keep track of the
cached metadata items, with the SHA1 sums of downloaded Updates.xml
files being the keys to refer single metadata item. We still need
to download all the Updates.xml files on each fetch to check if the
cached metadata items are applicable for the current repositories.
Update the Updates.xml files in auto-test data to have unique
contents, otherwise there could be conflicts with identical test
repositories, as the tests will also utilize the cache now.
Also omit registering Repository type to the meta-object system in
the class contructors, this is expensive as we construct objects
from the class frequently, in the worst case hundreds of thousands
times. PackageManagerCore already does the registering.
Task-number: QTIFW-2621
Change-Id: Iee10ead68befd722ffe7f18ca48483d5a3666658
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make libarchive the default handler for 7z archives if the IFW
tools were built with the 'libarchive' configuration feature.
The LZMA SDK library is still built and can be used instead
if the config feature is omitted.
Also modify tests.
Task-number: QTIFW-2375
Change-Id: I1091d5fa140cbd783cddecc595f35c6562639b07
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|\ |
|
| |\
| | |
| | |
| | | |
Change-Id: I8e2864b3ec81cffa907fe02ff1f2019e155c54e3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When collecting information about the paths to be compressed into
unified metadata, if the package directory used to update repository was
missing replacements for two or more components, it would reveal an
issue with the traversing of the existing repository directory.
Fix by adding the missing "cd up" after entering a component entry
directory. Add new test case.
Task-number: QTIFW-2287
Change-Id: Ica1228968398b6e987bdf89336f74f53fcd35d27
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In a somewhat rare case, it is possible that a same package exist in
multiple repositories. The latest available package from remotes is
used - however if we select that package for inclusion and also
implicitly get some other package from the another repository it exists
in with an older version (autodependency, etc.), that repository is then
also used to parse package information, and we store a duplicate entry
of the package to the Updates.xml to-be-written to the offline
installer binary.
Fix by appending only the package with the latest version to the
PackageInfoVector object used to temporarily hold the package
information.
Task-number: QTIFW-2190
Change-Id: Icdb3dc979153dfada37fdb0aabb3c718bc8aedff
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
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>
|