Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
Qt Installer Sprint 62, Qt Installer Sprint 63, Qt Installer Sprint 64, Qt Installer Sprint 65, Qt Installer Sprint 66
Description
Idea proposal:
Support local machine cache for metadata to speed up consequent launches of the online installer.
For initial implementation:
- installer stores the temporary local repository structures ("/tmp/remoterepo-XXXXXX" directories) in a defined cache location
- checksums of new downloaded Updates.xml files are compared to checksums in cache
- matching cache entries need to be checked for validity (i.e. meta.7z:s not deleted and their checksum matches)
- download only metadata for missing repositories (Updates.xml sha not in cache) or broken metadata archives
- metadata archives could probably be uncompressed only once, but we would need to calculate a new checksum for the uncompressed content
- could we use a similar cache for the data archives?
For next steps:
- releasing to incrementally update metadata checksum table per repository
- this checksum table is updated to Qt back-end (steps 1-2 automated)
- Qt Online Installer: after login, the Qt backend returns the checksum table
- Those repositories that are located in the local cache do not need to be updated from online
- When downloading new metadata from online these are stored into local IFW cache
- Tag repositories/components which do not need script evaluation during init, evaluate only during the install phase
- tagging made by packaging
- split control scripts in two:
- init phase
- install phase
Attachments
Issue Links
For Gerrit Dashboard: QTIFW-2621 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
429053,28 | Add persistent metadata file cache | master | installer-framework/installer-framework | Status: MERGED | +2 | 0 |
437864,8 | Add auto-tests for metadata cache | master | installer-framework/installer-framework | Status: MERGED | +2 | 0 |