f20 - yum locally rebuilding deltas is so slow

T.C. Hollingsworth tchollingsworth at gmail.com
Thu Dec 19 23:14:49 UTC 2013


On Thu, Dec 19, 2013 at a4:01 PM, Chris Murphy <lists at colorremedies.com> wrote:
> Does anyone know exactly what's happening during the rebuild? I understand from light documentation how deltarpm works, what I'm not sure is if most of the time is spent reconstructing a virtual oldrpm from an installed rpm, or applying the delta, or writing out the new install?

It reconstructs a real honest-to-God RPM file that must match the
shasum/GPG sig of the old one exactly, lest it be thrown out.  (Those
of us who've been around awhile might remember that in the past it
couldn't handle changed config files properly, so deltas used to fail
on various daemons all the time, greatly reducing their utility.)
Said RPM is then passed on to rpm to update normally.  rpm itself has
no knowledge of this wizardry, it all happens in yum.

See `man applydeltarpm` and /usr/share/doc/deltarpm/README for more
detailed information about the underpinnings.  Yum just shells out to
it.

> If it's not the former reconstruction aspect, it seems like a Btrfs aware deltarpm could simply write out the delta blocks to disk, which would be rather small, and then obsolete the old ones if the operation is successful. Fully rewriting the files isn't necessary by design with Btrfs.

That would be awesome, but yeah, rpm would have to get a lot smarter
than it is currently.  ;-)

-T.C.


More information about the users mailing list