Hi, My project is integrating debdelta natively to APT. I added my project proposal to the Debian wiki [1], and there is also a wiki page created by my mentor in the Ubuntu wiki[2], Michael Vogt, which describes the design and the implementation plan in detail.
I spent the community boding period to learn the background knowledge needed for the project. I have been updating Michael regularly and he's guiding me through my work. First, I refreshed my knowledge about debdelta by reading its new documentation[3]. Then, I started studying the design and the internals of APT by reading and debugging its code. My goal was to find out the functionality of apt when it executes a download/update process and the classes/functions responsible for it so that I can do the initial integration and test it. I concentrated on the fetcher and the line based communication protocol from APT to the helper methods such as http, file etc. Then I added the new method/debdelta method and tested it with a simple shell script. The shell script runs the debdelta method with a .deb and a .debdelta as the input and verify the resulting deb. To get an idea about how to write the debdelta method, I studied the existing rred implementation. This work is related to the first stage mentioned in [2], and currently I am writing the code to move the resulting deb after patching from /var/cache/apt/archives/partial to /var/cache/apt/archives. Before I started the development, I set up my development environment. I configured a separate directory as the root for my development version of APT and created a local repository with sample .deb and .debdelta files and added an entry for it in the sources.list file to make APT work in a sandbox environment to keep my original system intact. I looked into the test/integration/framework script to learn how to set up a local archive for testing. My APT branch is available at [4] and I am planning to update it each time I complete a considerable milestone in the development. My next plan is to write the required subclasses for pkgAcquire class that can fetch/handle debdelta files and debdelta index files and adding suitable functions(such as custom600Headers()) to them to work with pkgAcquire::Worker::QueueItem() function. The classes that I am planning to add are, class pkgAcqDebdeltas : public pkgAcquire::Item {} for fetching/handling the debdelta files. class pkgAcqDebdeltaIndex : public pkgAcquire::Item {} for handling the index file of the debdelta files. [1] http://wiki.debian.org/SummerOfCode2011/AptDebdeltaIntegration/IshanJayawardena [2] https://wiki.ubuntu.com/DebdeltaAptIntegration [3] http://debdelta.debian.net/html/index.html [4] https://code.launchpad.net/~udeshike/apt/apt-ishan -- Regards, Ishan Jayawardena. _______________________________________________ Soc-coordination mailing list Soc-coordination@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination