Yum-presto (deltarpms) ready for testing.

seth vidal skvidal at linux.duke.edu
Tue Mar 27 15:20:04 UTC 2007


On Tue, 2007-03-27 at 17:39 +0300, Jonathan Dieter wrote:
> On Tue, 2007-03-27 at 15:25 +0200, Tim Lauridsen wrote:
> > seth vidal wrote: 
> > > Why is that? I need to take a look at the code but there doesn't seem to
> > > be any reason why it shouldn't be able to fall back to downloading the
> > > whole package. It knows where it is.
> > > 
> > > -sv
> > > 
> > >   
> > I look at the code, it works in the following way: 
> > 
> > postresolve_hook(conduit):
> >     for each po to be install in TransactionSet:
> >         check if delta as available.
> >         make the po point to the delta insted of the full rpm.
> > 
> > normal yum downloading (yum.downloadPkg)
> > 
> > postdownload_hook(conduit):
> >     for each pkg in the downloadpackages:
> >           if pkg is a delta:
> >              try:
> >                    build the full rpm from the delta
> >              except:
> >                    Something is rotten in the state of Denmark, bail
> > out.
> > 
> > if could be changed to:
> > predownload_hook(conduit,pkglist):
> >     for each po in pkglist:
> >         if as delta is available:
> >             try:  
> >                 download the delta (copy the download code from
> > yum.downloadPkgs)   
> >                 build the full rpm.
> >                 set po.pkgtype = 'local' # To make yum skip it in the
> > normal download.
> >              except:
> >                 Something is rotten in the state of Denmark, just
> > leave the po unchanged an yum will handle the download as normal.
> > 
> > normal yum downloading (yum.downloadPkg)
> >    will download all the packages not processed without error, by the
> > predownload_hook.
> > 
> > Tim
> 
> If it's agreed that this is the best way, I'm happy to make it work this
> way.
> 

I think Tim's suggestion makes sense. It makes the delta-rpm portion an
optimize-if-possible step which fits in nicely.

-sv





More information about the fedora-devel-list mailing list