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 devel
mailing list