This is something that I realized when experimenting with the `--refresh` flag for force updating repo metadata: in essence, currently the metadata is *always* refreshed as DNF detects that the mtime of the repo configuration has changed.
This means that, while the correctness is fine, there may potentially be a performance issue. Currently, the repositories are quite small in size, so practically speaking the impact shouldn't be that large (which is also why I did not realize the issue until recently), but I thought I'd still bring it up nonetheless. A low hanging fruit to somewhat reduce the impact is to allow multiple spec strings in `qubes.TemplateSearch`, reducing the number of calls. (Currently, we're invoking the qrexec call for every package spec the user passes in.) To actually utilize the DNF cache, it seems that the following has to be done: 1. Check if the repo configuration has been changed (and the last update time and `metadata_expire`) from the qvm-template side. 2. Invoke DNF with `--cacheonly` if we deem that the cache can be used. 3. Notably, DNF needs to be invoked with `sudo` as `--cacheonly` only uses the system cache and not user-specific ones. Alternatively, a hackish way is to cache the hash and mtime of the repo config on the updateVM side and override the mtime if the hash matches. Again, this is probably not very high-priority; just pointing out that the issue exists. Thanks, WillyPillow > https://blog.nerde.pw/ > > PGP fingerprint = 6CCF 3FC7 32AC 9D83 D154 217F 1C16 C70E E7C3 1C84 > > Protonmail PGP = D02D CEFF ACE5 5A7B FF5D 871E 4004 1CB1 F52B 127E -- You received this message because you are subscribed to the Google Groups "qubes-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/reeKDMsBsF2FEmmSjGqt3Lf_yRWTrTyLpwr0tzc2FPfTVi0SxH6puejpmfYAs7PiWPt2ZNacjKG4x18YfVPQ5AisfmbO_G0nXRcGDXDQucM%3D%40nerde.pw.
publickey - [email protected] - 0xD02DCEFF.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
