← Back to team overview

launchpad-dev team mailing list archive

Re: Making Packages, .deb update downloads faster

 

Hi Lars

Thanks for this interesting post.  I saw some of your research on the ubuntu-
devel list and I'm keen as mustard to make these changes!

>     How long would it take to get the Launchpad changes done?
>
> Updating Packages.gz with zsync
> -------------------------------
>     * Launchpad should generate Package.gz using the --rsyncable option
>       to gzip. This improves zsync's magic for updates gzipped files and
>       speeds up downloads. The space impact should be very small, on the
>       order of a few percent at most.
>
>     * Launchpad needs to generate a Packages.gz.zsync file:
>         zsyncmake -e -Z -u Packages.gz Packages.gz
>       (-e makes sure the resulting file is bit-by-bit identical to what
>       the server has; this is required for checksums).
>
>       Publication of the Packages.gz.zsync file should be synchronized
>       with publication of the corresponding version of the Package.gz
>       file: if one is updated they both should be.

This one is pretty trivial for us to do, we can get this change done in our 
October release, or possibly September if other things go well.

> Downloading update .debs with debdelta
> --------------------------------------
>
>     * When Launchpad puts a .deb in a relevant pocket, it should also
>       add .debdelta files to the new version from the version in
>       the release pocket (e.g., hardy), and the previous version in
>       the same pocket (e.g., hardy-security). This is a fairly small
>       number of files.
>
>       The .debdelta files can be published at a later time than the
>       corresponding .debs. Generating them is fairly slow, and it is
>       not a good idea to delay security updates for them.

How slow?  Would apt cope without them ad-hoc?  We could generate them outside 
of the regular publishing cycle if so.

>
>     * apt needs to be changed to be able to make use of the .debdelta
>       files, if available.
>
>     * debdelta needs to be fixed to work for packages that use lzma
>       compression. Until this is done, it is OK to just not generate
>       .debdelta files for such packages.

This one is not so trivial but I could aim to get it done in our October 
release.

Since we're open source now, if someone outside of our team were to make the 
patches in advance, we could aim to get both available in our 3.0 release in 
September and I'd be happy to mentor those changes, but Team Soyuz is pretty 
busy working on UI features for 3.0 so we can't do it ourselves.

Cheers
J



References