Google Summer of Code 2007 wrap-up

Posted by Sander_Marechal on Oct 4, 2007 9:26 PM EDT
Debian.org; By Steve McIntyre
Mail this story
Print this story

The summer has finished, and it's about time I summarised how we got on. We had 9 Summer of Code students working for us, and we had a 100% success rate this year. Woo! Last year we only managed 6 successful projects out of 10, so that's a major improvement. So, how did the various projects pan out? The proof of the pudding is in the code, of course, and these projects are all available to use today, either packaged in Debian or installed on central servers providing services. Here's a quick overview.

Hi folks!

The summer has finished, and it's about time I summarised how we got on. We had 9 Summer of Code students working for us, and we had a 100% success rate this year. Woo! Last year we only managed 6 successful projects out of 10, so that's a major improvement.

A couple of things helped a great deal this time: several of our students were already contributors to the Debian community at various levels, and for the first time this year the SoC programme also included an extra chunk of time to allow the students to get involved ("bonding time") before they had to start coding work. These meant that our students were much more involved in Debian than last year, and that was a very good outcome.

In an unusual case, one of our students this year is a returnee - he could not complete his project last year due to problems, but was so enthusiastic about the idea that he came back again this year to finish it!

So, how did the various projects pan out? The proof of the pudding is in the code, of course, and these projects are all available to use today, either packaged in Debian or installed on central servers providing services. Here's a quick overview, cribbing shamelessly from reports from our mentors and students:

* Margarita Manterola worked on Amancay, a new interactive web interface for the Debian bug tracking system. The server-side is coded in Python, using the Django framework. The client-side is coded in JavaScript, using MochiKit; interaction with the BTS is done through the new SOAP interface. Amancay has reached a beta stage, with most of the required features ready and a few more still to do. Importantly, it's the foundation of something that she thinks will be useful for the whole project.

* Chris Lamb came up with "live-magic", a graphical user interface to Live Helper (a collection of programs that can be used to build Debian Live images). It can create Debian Live images using an easy wizard interface, with the option of an expert mode for further tweaking. It's designed to be adaptable as the APIs change in future versions of the core live-helper code, and could also form the basis of a web service to generate customised live CDs. [x]

* Ian Haken managed to complete his project "vlosuts" (Virtual Live OS Upgrade Testing Suite) and produced a utility that should be greatly useful to Debian QA. vlosuts allows testing of upgrades of a live running system (as opposed to running in a chroot). Combined with the ability to reproduce the configuration of an existing already-running system, this means that upgrades can be validated in advance for production systems. QEMU should also allow for cross-architecture hosting of these tests.

* Martín Ferrari created Pancutan, an application that can be used to verify Debian CD and DVD images. He spent quite some time analysing the possible ways in which those images can contain bugs (e.g. corrupted files or mistakes in the build process), then created a flexible framework which allows tailored tests to be run to find those bugs. He then started filling in as many tests as possible during the rest of the SoC period. His work will greatly aid the Debian CD production team in producing good quality releases.

* Gustavo Rezende Montesino worked successfully on a bug triage tool. The initial plan was for an advanced GUI application permitting complex tasks and using complex heuristics for advanced features, but during the summer the project evolved to encapsulate more low-level work including python bindings to access and manipulate Debbugs and Bugzilla bugs. This will be more useful as a basis for further work, enabling easy development of higher-level tools.

* Jeroen van Wolffelaar created Mole, a central location where information about packages and other Debian-related information (such as bugs or mirrors) can be stored. During the GSoC, Jeroen worked hard to get the basic infrastructure in place. It's now possible for other efforts, in particular QA projects such as lintian and archive rebuilds, to add information to the Mole database. There is a web interface to present the information, and Jeroen is working with more people to help them use Mole too.

* Cameron Dale had an interesting project to develop DebTorrent, a new download method for Debian packages. Where possible, it will download any needed packages from other DebTorrent peers in a bittorrent-like manner, and so reduce the strain on the Debian mirrors. If a package cannot be found on any peers, DebTorrent will fall back to downloading from a mirror to ensure all packages are downloaded. DebTorrent is already being installed, with over 150 regular users.

* Pavel Vinogradov achieved most of the goals in his project "OVAL agent for Debian", a software agent-server infrastructure to help monitor security issues across many Debian systems. He adapted the reference OVAL interpreter to work on Debian systems, wrote a tool to convert Debian security advisories into OVAL definitions and started work on an OVAL client and server pair which will allow central control of security on clusters of Debian machines.

* Ana Guerrero spent the summer improving piuparts, an existing Debian QA tool that tests package interactions during installation, upgrades and removals. She fixed multiple bugs and implemented several extra features, most interestingly the custom scripts option that allows custom scripts to be run inside the piuparts chroot.This makes it possible to run a custom script at multiple points in the process: before installing or upgrading, and after installing, removing or purging a package.

I'd like to thank all of the students and mentors for their hard work this summer, and of course also the nice folks at Google for making this all possible. We've had a very good year and we'll be reaping the benefits for some time to come.

-- Steve McIntyre, Cambridge, UK. "When C++ is your hammer, everything looks like a thumb." -- Steven M. Haflich

  Nav
» Read more about: Story Type: Roundups; Groups: Debian

« Return to the newswire homepage

This topic does not have any threads posted yet!

You cannot post until you login.