new Delta Update support

Ruben Kelevra cyrond at gmail.com
Sun May 8 09:48:47 UTC 2022


Hey Allan,

well, this works with all compression algorithms. Just the delta patch
would be compressed with zstd. But since Pacman would decompress the
regular package to a tar and the result is a tar, it doesn't matter which
compression algorithm the packages use.

Apart from that, the delta patch could be made with any program - zstd is
just currently the best option IMHO. xdelta3 patch files take (with the
default options) around 10 times longer to be created than zstd patch files
– which then are a bit smaller. But xdelta3 uses zlib, so decoding is much
slower as well. That's why I used zstd in my experiments instead. Zstd can
be however asked to invest more time into compression: With something like
'-15' which then usually outperforms xdelta3 patch files in size while
still being much faster in terms of decoding – I just don't see the point
investing so much CPU time into that.

The major change for pacman would be to support a tar based checksum and
signature along with the compressed file signature/checksum. And
additionally understand which files to fetch to get from version x to y and
which program to call to create the tar it needs.



Best regards,

Ruben

On Sun, 8 May 2022 at 09:48, Allan McRae <allan at archlinux.org> wrote:

> On 8/5/22 09:10, Ruben Kelevra wrote:
> > Hey guys,
> >
> > previously pacman have had a delta update functionality which was (to my
> > understanding) removed because of safety concerns and poor performance.
> >
> > Since the old delta version was written (and removed) zstd got the
> ability
> > to create delta patches.
> >
>
> Thanks.  However I have little interest tying delta support to a
> specific compression algorithm.
>
> Allan
>


More information about the pacman-dev mailing list