Hello Alexandre,
The fact that rpm uses minigzip makes it as suitable for rsyncing as for xdelta.
That is correct, I had realized that, and I have no objection against somebody implementing this in rsync (I have considered this possibility as a result of you letting me know about rsyncing ISOs). But I do not share your objections that people would not have the original rpm lying around (even if it were located on an NFS server, then that server would most probably also be used to retrieve updates from, in which case the patching would be done on that machine).
But the rsync hashes are based only on the one (updated) binary rpm you're willing to distribute. No assumption on what the base version was.
You might be correct that this would be a superior approach, but this deltaing works already (it only needs some code to handle the versioning, but it can already be used manually in it's crude current form).
Plus I am afraid that this rsync hashing (or deltaing) might not work efficiently on highly different versions of a software, ie release updates. That should be tested. (Otoh, I believe it could be very efficient on srpms (if the tar balls would be minigzipped instead of gzipped that is).)
As I mentioned above, the "local tree" should contain the initial
rpm
for 99% of the users. No need to put any load on the servers.
Not necessarily true for the half dozen kernel updates we've had in FC1 since its release.
It would be save to assume that if people have the need to use these deltas due to bandwidth limitations they are willing to keep the original rpm lying around. And don't most people burn the original ISOs to cd?
kernel-sources is pretty big, and up2date -u replaces the installed files and then throws the .rpm file away.
Personally I only use up2date to check if updates are available, but I assume that up2date can be taught to keep the rpm around (although that is not really relevant if you assume the original/initial rpm to be used as reference).
The rsync protocol-based solution I'm proposing would reconstruct the rpm file from the installed files, and use that to save on the download.
Great! Yet another method for people to use instead of downloading the whole rpm. Since the compression vs xdeltaing issue was obviously solved without anybody noticing (apart from Michael) I don't see theoretical problems in implementing this in rsync.
Bye, Leonard.