January 2010

Ubuntu27 Jan 2010 10:50 am

I sometimes find the Launchpad Release Notes somewhat lacking as they don’t mention new features added to the API. So then I either stumble upon it much later when reading the API documentation or hear about it from a friend. However, this time I happen to be well aware of some of the new API features – since I added them!

In bug, I’ve exposed ‘can_expire’, ‘heat’ (a numerical representation of the bug’s heat) and ‘number_of_duplicates’.

In bug_task, I’ve added a ‘task_age’ attribute which is the age of the particular task in seconds. This will hopefully save some calculations on the client side.

Additionally, bug has a couple of new or modified attributes, not added by me. They are ‘users_affected_count’ and ‘users_affected_count_with_dupes’ and ‘users_unaffected_count’. The ‘users_unaffected_count’ is rather interesting as it is a count of people who have marked the bug as affecting them and then unmarked it.

I’ve another branch awaiting sponsorship that will also add ‘messages_count’ to a bug.

Ubuntu15 Jan 2010 05:35 pm

The other week Rick blogged about some work I’d done for bughugger. I’ve written more than just some team assigned JSON queries for bughugger though.

An additional one that I wrote is for no package bug reports, it is just a json file of all the open bug reports without a package. However, you can do some very very interesting things with it. In the following screenshot I’ve filtered for all bug reports that are tagged ‘needs-packaging’ and sorted them by name.

Marking Duplicate

Then of course I found duplicates! Another feature of bughugger that I’ve worked on is writing plugins for it. A plugin is python launchpadlib script for modifying a bug report or bug reports. You can see in the screenshot that I am marking bug 286716 as a duplicate of 282467. This plugin confirms the duplicate bug, adds a comment about the bug being a duplicate and actually marks the bug as a duplicate. I love bughugger’s ability to filter and sort very large groups of bugs. Combining this with the power of plugins for modifying bugs is awesome!

You can even combine multiple layers of filtering. As I going through the bugs I thought I saw a request for KBasic more than once. Here I’ve filtered on the tag ‘needs-packaging’ and ‘asic’ in the bug title.

Additional Filtering

More duplicate bugs consolidated! Looking at the ‘needs-packaging’ bug reports there is some further cleanup to the titles that could be done so it is easier to sort the list by title and identify the software to be packaged. Some of the titles had stuff like “Create Package: xyz” or “Please package: uvw”. Unfortunately, there is no plugin for mass modification of bug titles using regular expressions – yet!

However, there are plugins for tagging a bug based off the apport release information in a bug’s description. There is also one for adding any tag you want to a bug report, and another for marking a bug as incomplete and asking people to run apport-collect for their bug. The plugins are installed in /usr/lib/bughugger/plugins/ (if you want to check them out) but ~/.bughugger/plugins/ is also checked if you want to write your own. All of the features I’ve written about are available in the latest PPA version of bughugger. Go bear hug some bugs!

Ubuntu06 Jan 2010 07:24 pm

I’ve released a new version of the Launchpad Improvements Firefox extension and it contains a couple of notable changes. The script lp_patches.user.js is no longer included as that functionality now exists in Launchpad! This is really quite exciting and I was happy to remove that script.

However, the other day I was reviewing regression-potential tagged bug reports and trying to figure out if they applied to Karmic or Lucid. Scanning the apport information in the bug description for DistroRelease was getting tedious so I wrote a new Greasemonkey script that highlights words in bug reports.

LP_HighlightWords Screenshot

As you can see it is highlighting release code names (Jaunty, Karmic, Lucid), the DistroRelease line from apport and the SourcePackage line from apport. In addition to these it will also highlight old releases orange and the word regression red. Suggestions of other words to highlight are welcome. The script only affects +bug pages as I found it annoying in lists of bugs. Enjoy!