Monthly Archives: July 2011

A more efficient Presto

Stele of Nebuchadnezzar

Over the last year or so, I’ve done very little with the yum plugin Presto. It’s done its job and done it reasonably well, but, like water wearing down an ancient monument, there have been a few little complaints that have built up, and it’s long past time to fix them. I’ve pushed yum-presto-0.7.0 to Rawhide, which deals with most of the problems.

The first complaint was that Presto would download the deltarpm metadata even when you were just doing an install. Obviously, deltarpms can’t accomplish a whole lot when you’re only doing an install, so downloading the metadata is waste of bandwidth, which, ironically, is what Presto is supposed to prevent. So, now Presto has been fixed so that it only downloads the deltarpm metadata when at least one package is being updated.

This brings us to the second complaint, which is that there’s not much point in downloading a 800kb deltarpm metadata file when you’re only updating a 50kb package. Even if the deltarpm is 0 bytes, you’ve still managed to waste 750kb of bandwidth. The problem is that there’s no way to see how much the deltarpms will save until Presto has downloaded the deltarpm metadata file, which is what we’re trying avoid.

So, now Presto checks whether or not the combined size of updated packages in the repository is smaller than the deltarpm metadata. If it is, there is definitely no advantage to using deltarpms, so Presto doesn’t bother downloading the deltarpm metadata.

There were a number of other small bugs fixed in 0.7.0. Unfortunately, because all of the fixes would be considered enhancements, and given Fedora’s update policy, I will not be pushing the updated yum-presto to Fedora 14 or 15.