RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Adding bsdiff/bspatch executables to rpmio

From: Jason Corley <jason.corley@gmail.com>
Date: Wed 02 Dec 2009 - 14:35:35 CET
Message-ID: <3118d8de0912020535q1801e756hb2a6fafd70a62857@mail.gmail.com>
That's actually somewhat surprising, my recollection is that
bsdiff/bspatch is quite heavily used for freebsd binary updating via
freebsd-update(8) and also for the ports tree if you use portsnap(8).
Jason
P.S. http://www.freebsd.org/cgi/man.cgi

On Wed, Dec 2, 2009 at 8:31 AM, Jeff Johnson <n3npq@mac.com> wrote:
>
> 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
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> Developer Communication List                        rpm-devel@rpm5.org
>
Received on Wed Dec 2 14:43:59 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.