On Mon, 2004-01-26 at 10:13, Toshio wrote:
As a proof of concept this works so far for me. Unless someone else has already done this, I think I'll test it against the updates-released repository and see if I can generate any errors.
No errors from testing updates-released. All signatures verify and packages intact. List of space savings at the bottom of this message. The range is 19.5% - 99.2% savings with an average of 63.9%. I think more than halving the bandwidth is an achievement. However, you might notice that the kernel-source package is missing from this list. I cancelled the xdelta after a couple hours of running. I think the limiting factor on my machine was memory.
I looked into python as an eventual language for this and found that it has rpm bindings and zlib bindings but no built in binary diff/xdelta support. There is an add-on module http://freshmeat.net/projects/pysync/ for librsync, though, that may fit the bill.
I've taken a look at SuSE's website and it seems their use case for their patch RPMs are to distribute as an alternative for full update RPMS against their base release.
kernel: 43.94% of original: 56.06% savings lftp: 45.13% of original: 54.87% savings quagga-devel: 12.10% of original: 87.90% savings ethereal: 71.32% of original: 28.68% savings kernel-doc: 0.93% of original: 99.07% savings redhat-config-printer: 0.80% of original: 99.20% savings redhat-config-printer-gui: 2.23% of original: 97.77% savings xboard: 66.87% of original: 33.13% savings quagga: 36.31% of original: 63.69% savings ethereal-gnome: 80.54% of original: 19.46% savings gaim: 40.51% of original: 59.49% savings mod_ssl: 31.90% of original: 68.10% savings bash: 8.84% of original: 91.16% savings rsync: 39.80% of original: 60.20% savings grep: 12.05% of original: 87.95% savings net-snmp: 48.08% of original: 51.92% savings quagga-contrib: 14.49% of original: 85.51% savings gnucash: 9.24% of original: 90.76% savings dia: 63.72% of original: 36.28% savings sed: 10.25% of original: 89.75% savings gnupg: 43.28% of original: 56.72% savings gnucash-backend-postgres: 1.40% of original: 98.60% savings procps: 9.27% of original: 90.73% savings binutils: 3.64% of original: 96.36% savings Total RPM Size: 45140838 Total Delta Size: 16309380 Total Savings: 28831458 63.87% savings -- Toshio toshio@tiki-lounge.com