BugFixingInitiative

Revision 28 as of 2012-08-24 15:28:17

Clear message

Bug fixing initiatives

We plan to have regular bug fixing initiatives, which should be particularly interesting for new contributors.

Instructions

If you are interested in helping out, you might want to

Please: If you decide to work on fixing the issues pointed out below, please make sure you add your Launchpad ID next to them, ie:

  • fix bug 12345

turns into

  • fix bug 12345 (dholbach)

Have a great time and be sure to ask questions if you have any.

Forwarding patches to Debian

You can easily verify if the package you are working is in Debian as well. Just open https://packages.debian.org/src:PACKAGNAME in your browser and see if the package is listed there.

If it is, and you can verify if the problem is in Debian too, it will make sense to first get the patch (depending on how urgent it is) into Debian.

To do so, simply follow the instructions on Debian/Bugs#Using_submittodebian_to_forward_patches_to_Debian. The submittodebian tool will take care of it for you.

New contributors

Spelling errors

Here are a few packages which have spelling errors in their package description. An easy way to fix them is:

  • run bzr branch ubuntu:<packagename>

  • edit the debian/control file

  • fix the spelling mistake
  • run dch -i to document the change you did

  • For the ones specifically mentioned below:
    • run debcommit

    • run bzr push lp:~<your LP ID>/ubuntu/quantal/<source package>/typo-fix

    • run bzr lp-propose

This time around we will try to fix the following issues:

  • libboost1.46-dev (binary): unused-override spelling-error-in-description
  • kdevelop-custom-buildsystem (binary): spelling-error-in-description arbitary arbitrary
  • kdevelop-custom-buildsystem (binary): spelling-error-in-description allows to allows one to
  • happycoders-libdbg-dev (binary): spelling-error-in-description This packages These packages
  • strace64 (binary): spelling-error-in-description containts contains
  • sugar-emulator-0.84 (binary): spelling-error-in-description intregral integral
  • sugar-tools-0.84 (binary): spelling-error-in-description intregral integral
  • sugar-session-0.84 (binary): spelling-error-in-description intregral integral
  • sucrose-0.84 (binary): spelling-error-in-description intregral integral
  • python-jarabe-0.84 (binary): spelling-error-in-description intregral integral
  • sucrose-0.88 (binary): spelling-error-in-description intregral integral
  • sugar-emulator-0.88 (binary): spelling-error-in-description intregral integral
  • python-jarabe-0.88 (binary): spelling-error-in-description intregral integral
  • sugar-tools-0.88 (binary): spelling-error-in-description intregral integral
  • sugar-session-0.88 (binary): spelling-error-in-description intregral integral
  • python-sugar-0.86 (binary): spelling-error-in-description intregral integral
  • python-carquinyol-0.86 (binary): spelling-error-in-description intregral integral
  • python-sugar-toolkit-0.86 (binary): spelling-error-in-description intregral integral
  • gambas2-gb-crypt (binary): spelling-error-in-description allows to allows one to
  • linux-tools-3.5.0-10 (binary): spelling-error-in-description dependant dependent
  • message-modules-3.5.0-10-generic-di (udeb): spelling-error-in-description containes contains

There are obviously more packages to be fixed, but as they are also in Debian, we'd prefer to get them fixed in Debian, so you might want to take these steps as well:

Adding Debtags

Quoting an introduction about Debtags by Enrico Zini:

  • The Debian archive is getting larger and larger, and the software more and more diverse and complex. Organising software in the archive is difficult, and the existing section system, designed to cope with a much smaller number of packages, is no longer sufficient.
  • ..
    Debags attaches categories (we call them tags) to packages, creating a new set of useful structured metadata that can be used to implement more advanced ways of presenting, searching, maintaining and navigating the package archive.

There is a web-based Debtags editor, also one can start from the Debtags TODO list

No ${misc:Depends}

http://lintian.ubuntuwire.org/quantal/tags/debhelper-but-no-misc-depends.html lists a lot of packages which use debhelper, but don't have ${misc:Depends} specified in their Depends: line.

Invalid brace expansions in Debhelper config files

Some config files in these packages use {foo,bar} constructs which should be eliminated. They should be either replaced by an explicit list of files, or use one of the features mentioned in the page linked below.

Experienced contributors

GCC 4.7

If you have a bit more experience, you might want to help out with the transition to gcc-4.7.

  • Some hints on fixing these issues can be found at http://gcc.gnu.org/gcc-4.7/porting_to.html

  • To build with GCC 4.7, either set CC=gcc-4.7 CXX=g++-4.7 explicitly, or install the gcc, g++, gfortran, ... packages from quantal.

Here's the list in the Debian bug tracker:

Make sure you use the patch system if available.

Moving away from sqlite

We would like to get away from moving sqlite in favour of sqlite3. http://paste.ubuntu.com/1138024/ has a list of packages which need to be built with sqlite3, sometimes some porting work will be involved in making the switch. Be sure to check for new versions upstream which already moved over. Also are there around 10 packages which depend on python-sqlite and will need to be moved over as well.

Java 7

If you are a bit more experienced and have worked with Java before this might be just the right thing for you.

  • Have a look at JavaTeam/Java7Default and familiarise yourself with the general task of porting packages to Java 7

  • Pick any of the bug list and propose a fix

Make sure you use the patch system if available.

No homepage field

Here are a few packages which don't have homepages listed which are only in Ubuntu, but there are many more to be fixed (http://lintian.ubuntuwire.org/quantal/tags/no-homepage-field.html).

  • libbakery-2.6-doc (binary): no-homepage-field
  • bluez-btsco (binary): no-homepage-field
  • camgrab (binary): no-homepage-field
  • cdi2iso (binary): no-homepage-field
  • chaplin (binary): no-homepage-field
  • cim-schema (binary): no-homepage-field
  • ciso (binary): no-homepage-field
  • classmate-artwork (binary): no-homepage-field
  • classmate-initramfs (binary): no-homepage-field
  • classmate-tools (binary): no-homepage-field
  • cobalt-panel-utils (binary): no-homepage-field

Working with patch systems

Unfortunately, the are many bugs on Launchpad that have patches attached that haven't seen any attention from a developer. Often these patches need intervention by a developer before they are ready for upload. They may just be changes against the upstream code with none of the packaging details taken care of. Often they just need to use the package's patch system, have a changelog entry added, and go through the SponsorshipProcess.

Working on these bugs is a great way to become familiar with patch systems.

Review the patch system documentation before you begin. The ReviewersTeam also has some useful information on getting patches ready to be uploaded.

  • Confirm that the bug still exists.
  • Review and test the provided patch, making sure that it actually fixes the bug.
  • Apply the patch to the package using a patch system.

  • Produce a debdiff and subscribe ubuntu-sponsors or propose a merge.

Below are a few suggested targets, but many more can be found on Launchpad with this bug search.

Make sure you submit your changes to Debian if the problem applies there as well.

More bugs

  • MOTU/TODO lists lots and lots of other tasks you might want to start working on.

Organisation

If you want to help out organising these events, check out our Organisation page and join us at MOTU/Meetings or generally in #ubuntu-motu on irc.freenode.net


CategoryUbuntuDevelopment