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.<br><br><div class="gmail_quote">On Jan 12, 2008 3:41 PM, Evan <<a href="mailto:eapache@gmail.com">
eapache@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">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)<br><br>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)
<br><br>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:<br><br>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)
<br><br>An example would work like this:
<br><ol><li>A new package called abc is added to the repos at version 1.</li><li>Bob installs abc from synaptic.</li><li>The creator of abc writes a patch, and packages abc version 1.1 the way they do now.</li><li>When uploaded, the server that handles uploads compares version 
1.1 with version 1 and outputs an update file (some sort of xml format?)</li><li>Bob checks for updates, finds that abc has a new version, and downloads the update, which is only the xml update file</li><li>The installer passes the new binary-update program the xml file it downloaded, and the abc binary is updated with the patch.
</li></ol>Pros:<br><ul><li>No extra work for package maintainers.</li><li>Extremely tiny updates.</li></ul>Cons:<br><ul><li>The method I described can't handle updates to non-binary files (help files, icons, etc.) This would have to be integrated somehow.
</li><li>The framework would take considerable effort by the devs to set up.</li></ul>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.
<br><font color="#888888"><br>Evan<br>
</font><br>--<br>Ubuntu-devel-discuss mailing list<br><a href="mailto:Ubuntu-devel-discuss@lists.ubuntu.com">Ubuntu-devel-discuss@lists.ubuntu.com</a><br>Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss" target="_blank">
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br>Bryan<br><br>Freenode: Toxicity999