Zchunk works by comparing an old version of the file with the one you want to download, but when dnf refreshes a repository, it downloads the new file into a temporary directory with no information passed to the handle about where the old files are.
I've been trying to keep my code changes in libsolv and librepo to make zchunk integration as universal as possible. Up until now, I have managed to do so without changing librepo's API, but I don't see any way to fix this except to have dnf pass information about the old directory (or, even better, the cache directory) to the handle, which will mean an API change.
It would also mean that other utilities would probably need to do the same. Is there something I'm missing in dnf's interaction with librepo that would allow me to work around this, or do I just need to bite the bullet and propose a librepo API change?
Jonathan
infrastructure@lists.fedoraproject.org