Patching

Bryan Haskins kingofallhearts999 at gmail.com
Sat Jan 12 20:45:53 UTC 2008


Delta-Debs are already developing, it's just not something we wanted to do
yet last I knew. It adds a ton more complication server end.

On Jan 12, 2008 3:41 PM, Evan <eapache at gmail.com> wrote:

> Currently, when a minor patch is uploaded to the update mirrors, Ubuntu
> users must download the entire deb package again. When it is a big package
> (say OpenOffice.org) and it is a small patch of just a few lines of code,
> this can get somewhat ridiculous. (Update size generally < 50MB)
>
> When Windows/OSX users recieve a patch, they get it in the form of an
> execuable (.msi IIRC) which modifies the executable directly. While this
> method saves considerable space over our current method, it would impose a
> major strain on the package maintainers to create an updater for every
> version. (Update size generally < 5MB)
>
> Any change in this area is far too complex for a LTS, however for 8.10 we
> have the opportunity to be innovative and create a new patching system
> better than that being used by the competition:
>
> Write a new program that is generically designed to modify any binary
> according to parameters it is passed. Write a second program that compares
> two .deb packages and outputs the parameters the first program would need to
> get from version 1 to version 2. (Update size generally < 1MB)
>
> An example would work like this:
>
>    1. A new package called abc is added to the repos at version 1.
>    2. Bob installs abc from synaptic.
>    3. The creator of abc writes a patch, and packages abc version 1.1the way they do now.
>    4. When uploaded, the server that handles uploads compares version
>    1.1 with version 1 and outputs an update file (some sort of xml
>    format?)
>    5. Bob checks for updates, finds that abc has a new version, and
>    downloads the update, which is only the xml update file
>    6. The installer passes the new binary-update program the xml file
>    it downloaded, and the abc binary is updated with the patch.
>
> Pros:
>
>    - No extra work for package maintainers.
>    - Extremely tiny updates.
>
> Cons:
>
>    - The method I described can't handle updates to non-binary files
>    (help files, icons, etc.) This would have to be integrated somehow.
>    - The framework would take considerable effort by the devs to set
>    up.
>
> Overall, I think this new method is definitely a huge step forward. We are
> currently behind MS and Apple in this regard, and we have the opportunity
> not just to catch up, but to pass them. It would take a lot of work to get
> right, but it would be worth it.
>
> Evan
>
> --
> Ubuntu-devel-discuss mailing list
> Ubuntu-devel-discuss at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss
>
>


-- 
Cheers,
Bryan

Freenode: Toxicity999
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20080112/49faa41c/attachment.html>


More information about the Ubuntu-devel-discuss mailing list