[ATrpms-devel] yum-presto

Jonathan Dieter jdieter at gmail.com
Wed May 9 11:17:56 CEST 2007


On Wed, 2007-05-09 at 10:56 +0200, Axel Thimm wrote:
> On Wed, May 09, 2007 at 08:11:15AM +0300, Jonathan Dieter wrote:
> > Let's say you had foo-1.0, foo-1.1, and foo-1.2 in your repository
> > (through a normal series of upgrades).  At the moment, you only have
> > foo-1.2.rpm and two drpms, foo-1.0_1.2.drpm and foo-1.1_1.2.drpm.
> > 
> > When you put foo-1.3 in your repository, makedeltarepo will first
> > generate foo-1.2_1.3.drpm, and then combine foo-1.0_1.2.drpm and
> > foo-1.2_1.3.drpm to create foo-1.0_1.3.drpm.  It will then do the same
> > to create foo-1.1_1.3.drpm.
> 
> This is a genious' concept. :)
Glad you like it.  You can thank Michael Schroeder at SUSE for giving
deltarpm the ability to combine drpms.

> 
> > At this point you have two rpms (foo-1.2 and foo-1.3) in your repository
> > and five drpms (two that upgrade to foo-1.2 and three that upgrade to
> > foo-1.3).  If you remove foo-1.2.rpm and then run prunedrpms, it will
> > remove foo-1.0_1.2.drpm and foo-1.1_1.2.drpm.  It will leave
> > foo-1.0_1.3.drpm, foo-1.1_1.3.drpm and foo-1.2_1.3.drpm.  These are the
> > only drpms that will be needed when foo-1.4 comes out.
> > 
> > I hope all of that was clear.
> 
> It's so nicely designed that I just have to see it in action (at
> ATrpms). What distros other than FC6/F7 can make use of presto? FC5,
> too? EL5?
Any half-way recent yum-based distro should be able to use presto just
fine.  I've only tested it in FC6, Rawhide and CentOS 5, but I think it
should run fine on FC5 and EL4.  I may have to make a few modifications
to yum-presto to make it work correctly for yum < 3.0

> 
> There is just a minor thing to still watch for: ATrpms, just as the
> former Fedora Extras, was a rolling release model, e.g. you have
> constant updates coming. At some time when there are too old drpms in
> the repo they also should be pruned.
If the drpm size gets above a certain percentage of the original rpm
size (ATM, it's 50%), then the drpm is removed immediately after
creation and a ".dontdelta" file is created in its place that contains
the drpm size.  This should provide some natural thinning as you can't
build the next drpm out of a ".dontdelta" file.

We probably do want to look at other methods of thinning later.

> 
> But I think this is something that can be considered once there are
> really too many drpms in the repo to cause any issues (I'm thinking
> more about the number of updates, not the size of the repo).

> 
> (And my secret wish to Santa: presto support for smart :)
I don't use smart, but patches are welcome.  :)  Actually, if I ever do
get around to playing with smart, that would be one of the first things
I do.

Jonathan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.atrpms.net/pipermail/atrpms-devel/attachments/20070509/c3925eda/attachment-0001.bin 


More information about the atrpms-devel mailing list