I've been using Debian GNU/Linux for years. Now that I have time without needing to worry about copyrights between employer and myself, I've contributed back to the Debian project.
From late 2008, Debian froze for the release of Debian 5.0, with development concentrated on the release-critical bugfixes, rather than adding new features. So I joined in the effort, and some of the results are written below.
I'm doing this as hobby-coding, and a chance to pick up new coding skills. There's an ecclectic range of software languages used; C is of course always helpful, but also C++, Perl and Python. Experience with Valgrind helps a lot in investigating bugs.
This page concentrates on the bugfixes - the main projects are on the main programming page.
KDE KatePart
Language: | C++ (Qt library) |
---|---|
Debian bug: | #482268 |
KDE has a standard text-field component. The search-and-replace function could lock up in a infinite-loop, forcing the user to kill the application and lose any unsaved changes.
It's a fairly small change, the right size for a small example.
Hugin
Language: | C++ |
---|---|
Debian bug: | #491227 |
This is the GUI to a suite of image-manipulation tools which I've been using for my travel photos. Debian's version was old, and I'd already upgraded to a later version for the new features, along with asking if I could do anything to help Debian update.
The latest version of Hugin had some dependencies on unreleased versions of other tools, so I added a quick diagnosis of the problem and patch to be compatible with the older version in Debian.
Exmap
Language: | C (kernel module), C++ (userland) |
---|---|
Debian bug: | #495335 Fix the kernel module |
Debian bug: | #453852 Make the userland do something |
A package with both kernel module and userland problems. Of the two, the kernel was an easy fix. The userland problems are still in need of work.
Whohas
Language: | Perl |
---|---|
VCS: | Quilt in Git |
Queries the websites of many Linux and BSD distros, shows which version of a given package is in use in each release of each distribution.
It's a little Perl script, but as a web-scraper app it received several bug reports as soon as it was packaged for Debian. I've contributed several so far.
Darcs
Language: | Perl |
---|---|
Debian bug: | #498542 |
Darcs is a revision-control system that I initially used for working on Debian.
Darcs has a web interface add-on, which I hoped might have a good HTML pretty-printer for diffs. This turned out to be a less-used part of the package, which had been broken by security changes between Perl 5.8 and 5.10, so I fixed it.
Audacious
Language: | C |
---|---|
Debian bug: | #491655 |
Debugging statements were quickly using up disk space, to the extent that a release-critical bug was logged. I made a patch for the obvious bug, noting that there were still problems. In parallel, Skotlex investigated another bug and produced a better patch.
KSVG
Language: | C++ |
---|---|
Debian bug: | #493363 |
KDE bug: | #106847 |
A malformed SVG file can cause KDE's SVG rendering code to allocate memory in an infinite loop, which leads to the system near-freezing while thrashing, until the Xserver crashes.