RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Adding bsdiff/bspatch executables to rpmio

From: Jeff Johnson <n3npq@mac.com>
Date: Wed 02 Dec 2009 - 14:31:01 CET
Message-id: <C0B2DF56-13F6-4758-831C-00AF8E4AB198@mac.com>

On Dec 1, 2009, at 11:08 AM, Jeff Johnson wrote:
>> 
>> Dunno whether bsdiff is useful, mho currently tells me that binary
>> patching has two fatal flaws fundamentally at odds with "package management"
>> 
>> 	1) the before <-> after references must coexist on some machine
>> 	(not true for rdiff from librsync and afaik for zsync)
>> 
>> 	2) there's a combinatorial failure juggling all possible deltas
>> 	that will never ever scale no matter how small the binary deltas
>> 	are.


Well I've added bspatch/bsdiff. A spot check of sizes using deltafication
indicates that bspatch/bsdiff on executables adds complexity for almost no gain:

-rwxrwxr-x 1 jbj jbj 170454 2009-12-01 17:03 /X/src/wdj/rpmio/.libs/bsdiff
-rw-rw-r-- 1 jbj jbj 56007 2009-12-02 04:21 /tmp/bsdiff.patch
-rw-rw-r-- 1 jbj jbj 57023 2009-12-02 04:21 /tmp/bsdiff.new.bz2

The 2nd line is the patch file that would need to be applied. The last
line is the new file compressed with bzip2 -9.

Sure other files with more redundancy might exhibit larger savings.

Wanna bet? ;-)

73 de Jeff
Received on Wed Dec 2 14:31:59 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.