Request for Comments: updating RPMs using binary deltas

Lenz Grimmer lenz at mysql.com
Wed Jan 21 13:23:37 UTC 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

(sorry for the late reply)

On Thu, 8 Jan 2004, Lamar Owen wrote:

> But I ask again: if SuSE is doing this, is it working for them and their
> users RIGHT NOW?  I don't have the answer; I just threw out the idea.  
> The few users that have posted in fedora-list have seemed enthusiastic.

[...]

> SuSE is doing this; let's find out how it's working for them and not
> reinvent the wheel, needlessly duplicate effort, and waste time.

Wise words!

SuSE has been doing this for quite some time now and is working very well.
Installing patch RPMs does not need to be done via SuSE's YaST - it's all 
inside of RPM itself. I sent you the patches for RPM in a private message 
- - they are part of SuSE's "rpm" source RPM and are freely available. I 
have not checked the RPM devel mailing lists, but I would assume that SuSE 
has sent these patches upstream as well.

> So, looking at ftp://ftp.suse.com/pub/suse/i386/update/9.0/rpm/i586
> I see several interesting things:
> 1.)	They aren't distributing a patch.rpm for kernel-source, which is 
> disappointing (and the full rpm is 43.2MB) (the reason is the changed 
> directory, I'm sure, which doesn't allow them to just drop in the changed 
> files);

Yes, if there are many files that have changed, the patch RPM would not be 
much smaller than a "full" RPM. Providing patch RPMs mostly makes sense, 
if only a few files of a large package have changed between two releases, 
e.g. if you had to apply a fix for the binary only. This usually does not 
affect all other files included in the package.

The additional commands are documented in the online help and the man page 
too. Some examples:

  rpm -aqP                 -- list all installed Patch RPMs
  rpm -q --basedon foo.rpm -- Show what packages "foo" is based on.

I have not found out how to actually *build* patch RPMs, though...

> 2.)	They do, however, distribute patch rpms for other large packages.  You can 
> see the filesize differences yourself.  For instance, the updated 
> kdelibs3-3.1.4-38.i586.rpm is 12.3MB.  The patch.rpm is 702KB.  That's 
> substantial. The koffice rpm is 2.5MB, the patch.rpm 276KB.  The XFree86 
> updates fare well; the perl update does not, with the patch weighing in at 
> 5.2MB vs the full RPM at 12MB.  The kopete package fares worse, with the 
> patch.rpm at 2MB and the full at 3MB.

Yes, the mileage may vary, but I think it's still worth doing.

> Ask a SuSE mirror operator what they think, or are we in Fedora-land
> afflicted with the dread NIHilist disease?

/me hopes not...

Bye,
	LenZ
- -- 
 Lenz Grimmer <lenz at mysql.com>
 Senior Production Engineer
 MySQL GmbH, http://www.mysql.de/
 Hamburg, Germany

 Want to swim with the dolphins? (April 14-16, 2004)
 http://www.mysql.com/uc2004/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: For info see http://quantumlab.net/pine_privacy_guard/

iD8DBQFADn1aSVDhKrJykfIRAmKQAJ9mmuBMIK7mLXWjHuwGWIPRltHVZACfUQ2b
BDzDSQYcQpoFKpcStP+vBLY=
=2GSt
-----END PGP SIGNATURE-----





More information about the fedora-devel-list mailing list