Looking how pkgdelta works, I found this line xdelta3 -q -f -s "$oldfile" "$newfile" "$deltafile" || ret=$? which seemed to be responsible for the actual delta generation, however man xdelta3 revealed that there were different compression levels (0-9) (not sure which one is default). To make it short, we could have had smaller deltas since pkgdelta was introduced! Examples: -9 16660K blender-12:2.69.c7ac0e-1_to_13:2.69.13290d-1-x86_64.delta default 17832K blender-12:2.69.c7ac0e-1_to_13:2.69.13290d-1-x86_64.delta -9 504K xbmc-12.3-10_to_12.3-11-x86_64.delta default 572K xbmc-12.3-10_to_12.3-11-x86_64.delta The attached patch adds the "-9" option to the line above. Side note: it might be even more advantageous to use bsdiff instead of xdelta3 comparing the /usr/bin/blender binaries of the above versions (12:2.69.c7ac0e-1 and 13:2.69.13290d-1) : xdelta3 10.4M xdelta3 -9 9.9M bsdiff 4.7M ,however bsdiff is only for direct diff creation, bsdiff foo1.pkg.tar.xz foo2.pkg.tar.xz will create a diff between the archives and not their contents, so that'd require further coding which I am unable to do (maybe someone else volunteers :) ). Kind regards, Matthias