LWN.net Logo

Formats supported

Formats supported

Posted Jan 5, 2008 18:22 UTC (Sat) by sbergman27 (subscriber, #10767)
In reply to: Formats supported by epa
Parent article: RPM 5.0 released

> Better still some way for smart, yum etc. to download only the differences between one
package and the next,

You're wanting "Presto!"  It's in Fedora 8.  But the binary diff repos are not ready yet.
Maybe in time for F9?

I know that Suse was using some sort of binary diffs years ago, though I don't recall being
impressed by their speed.


(Log in to post comments)

Formats supported

Posted Jan 5, 2008 20:25 UTC (Sat) by jengelh (subscriber, #33263) [Link]

There are .patch.rpms, which contain full copies of all files that changed.
Then there are .delta.rpms, which are deltas - and yes, I have to agree, applying deltarpms is
not too fast. But that is a general thing about deltaing, not limited to rpms. As soon as
transferring the full .rpm is faster than delting it up, deltarpms are useless unless you have
a strict pay-per-byte pipe.

Formats supported

Posted Jan 6, 2008 7:36 UTC (Sun) by Richard_J_Neill (subscriber, #23093) [Link]

Surely you don't have to maintain the original .rpm file to use a delta-rpm.  The original
.rpm could be re-constructed on the fly from the packages that it installed.

Formats supported

Posted Jan 6, 2008 18:56 UTC (Sun) by MattPerry (guest, #46341) [Link]

Unlikely as RPMs contain metadata and pre- and post-installation scripts that are not kept on
the filesystem after installation.

Formats supported

Posted Jan 6, 2008 19:01 UTC (Sun) by jengelh (subscriber, #33263) [Link]

Scripts are kept. Otherwise, how would you run %preun and %postun? So yes, deltarpm magically
takes both the rpmdb and the delta file and produces a full (non-delta, perhaps .patch) rpm
out of it. And that takes a whee while.

Formats supported

Posted Jan 7, 2008 15:21 UTC (Mon) by roblucid (subscriber, #48964) [Link]

Actually OpenSuSE claims to do exactly that.  The Online update takes a 
delta rpm, and constructs the new files from the old, plus what's in the 
rpm delta file.

It generally works to!

Formats supported

Posted Jan 7, 2008 10:20 UTC (Mon) by epa (subscriber, #39769) [Link]

Hmm, surely a binary diff can just be generated on demand -
diff?version_1=bash-1.rpm;version_2=bash-2.rpm - and there is no need for lots of tiny diff
files to be pushed out to mirrors.  Because the diffs will be much smaller, indeed there may
not be a need to mirror them out.

(I'm still wondering why distros don't use bittorrent for updates, the idea of mirror sites
seems so clunky nowadays.)

Impossible

Posted Jan 7, 2008 23:15 UTC (Mon) by khim (subscriber, #9252) [Link]

Genration of DIFF is quite slow and requires some software not usually present on ftp-mirror sites. Thus it makes sense to precreate diff files and push them to mirrors - or not use them at all...

Impossible

Posted Jan 9, 2008 14:12 UTC (Wed) by epa (subscriber, #39769) [Link]

My point is, don't bother with the mirror sites, just have a single site generating the diffs
on demand.

>Impossible<

Posted Jan 9, 2008 14:43 UTC (Wed) by gvy (guest, #11981) [Link]

Useless w/o caching/propagating them.

Hey, go try xdelta1/xdelta3 for yourself and then imagine doing that "on demand".

Formats supported

Posted Jan 12, 2008 1:31 UTC (Sat) by mp (subscriber, #5615) [Link]

> I'm still wondering why distros don't use bittorrent for updates,
> the idea of mirror sites seems so clunky nowadays.

Actually, they try to: http://wiki.debian.org/DebTorrent

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds