The Wesnoth developers provide xdelta files to upgrade between the minor versions of the tarballs. I have successfully used them every time. I use xdelta-1.1.4 (http://code.google.com/p/xdelta/) to create the .tar file for the next version from the tar file of the current version. Then I bzip2 the tar file and the resulting .tar.bz2 file passes the checksumming/hash test portage performs, so I know it's the same as downloading the whole file. A minor problem of xdelta-1.1.4 is that I need to feed it the uncompressed source tar (it can write to pipe for the compression of the target, but can't read the source from pipe) so the operation takes some disk space. Still faster than downloading! I propose to make it possible for the ebuild to see that I have the previous version's tarball and automatically enable this functionality. Obviously this would depend on xdelta being installed. If I knew how, I would have written a patch, but I'm a newb. Can't be that hard though! Reproducible: Always Steps to Reproduce: 1. install wesnoth-1.4.4 2. upgrade to wesnoth-1.4.5 Actual Results: see it download 150MB. Expected Results: portage notices I have old tarball, downloads 2MB, creates and tests new tarballs, proceeds to use it regularly.
this is probably some sort of portage feature request because I frankly don't see a simple way to do this at the ebuild level. Maybe specifying the same base tarball in X ebuilds and then adding relevant deltas to each new revision, but how many deltas to keep ?
I didn't even think about layering the deltas. Yes, if I have wesnoth-1.4.0 I can patch it to 1.4.5 by applying the deltas in order. I am not sure if it will save me time, but on dialup it surely will be faster than downloading the full 1.4.5. Also, some people pay for their bandwidth. They host deltas on sourceforge that can upgrade between major versions. What do you mean by "but how many deltas to keep"? I think I know how to make an alternate ebuild for wesnoth-1.4.5 that depends on the tarball for 1.4.4 and the xdelta. But how can I teach portage about choosing intelligently between the two options? Is there really no way?
I see your point but it is up to the maintainer at this point. Unless someone provides a patch'ed ebuild, etc.
*** This bug has been marked as a duplicate of bug 105379 ***
Try to use deltup - it's better solution than xdelta