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