[ale] SuSE 9.0 and patch.rpms

Chris Ricker kaboom at gatech.edu
Sat Oct 18 10:44:02 EDT 2003


Looking at <http://www.suse.com/us/private/download/updates/90_i386.html>,
you'll find a truly impressively long list of bug fixes for a product which
still hasn't shipped ;-)

One of the things that's really interesting there, though, is that there are
now "patch RPMs". The basic idea is that when you're installing an updated
package to fix, say, yet another OpenSSL bug, you can get the patch rpm of
just the files that changed, rather than the complete application. As the
page describes them:

"As of now we are offering so called Patch RPM packages. A Patch RPM updates
an already installed RPM. It only contains files which have changed -
therefore it is (much) smaller than the complete RPM package. Prerequisite
for installation is an already installed basic RPM. The packages included on
the SUSE LINUX 9.0-CDs/DVD are considered as basic RPMs. If you want to
update an already installed package, please download the smaller Patch RPM
package."

Anyone know anything more about these things?

What I'm curious about is how they're implemented. Looking at the first one,
for bluez-bluefw, the bluez-bluefw-1.0-68.i586.patch.rpm, the rpm really
only contains 1 file, but rpm -qlp on in lists ~20 files. Presumably, when
installed, it leaves the existing files, but replaces one old one with the
new one. What shows up in rpm -q at that point? What happens if you try to
back out the patch? Do you remove the one file, or the whole application?  
What about if you try to remove the application without removing the patch?
How are they built? The src.rpm spec says nothing....

later,
chris



More information about the Ale mailing list