Strict Standards: Redefining already defined constructor for class wpdb in /home/bdmurray/murraytwins.com/blog/wp-includes/wp-db.php on line 52

Deprecated: Assigning the return value of new by reference is deprecated in /home/bdmurray/murraytwins.com/blog/wp-includes/cache.php on line 36

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/bdmurray/murraytwins.com/blog/wp-includes/cache.php on line 389

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 537

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 556

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 653

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 653

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 653

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 653

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /home/bdmurray/murraytwins.com/blog/wp-includes/classes.php on line 678

Deprecated: Assigning the return value of new by reference is deprecated in /home/bdmurray/murraytwins.com/blog/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/bdmurray/murraytwins.com/blog/wp-includes/theme.php on line 508

Warning: Cannot modify header information - headers already sent by (output started at /home/bdmurray/murraytwins.com/blog/wp-includes/wp-db.php:52) in /home/bdmurray/murraytwins.com/blog/wp-includes/feed-rss2.php on line 2
Brian's Blog » Launchpad http://www.murraytwins.com/blog Personal log, Brian Murray Thu, 05 Dec 2013 01:13:40 +0000 http://wordpress.org/?v=2.2.2 en Easily getting information about duplicate bugs in Launchpad http://www.murraytwins.com/blog/?p=122 http://www.murraytwins.com/blog/?p=122#comments Mon, 18 Jun 2012 22:47:06 +0000 Brian Murray http://www.murraytwins.com/blog/?p=122 Somewhat recently I was looking at the Ubuntu Foundations team’s bugs with the most duplicates. In a couple of cases I wanted to find out more information about the properties of the duplicate bug reports. For example, I was looking at one package installation failure and searching for duplicates of the same issue and wasn’t finding any at all which seemed rather strange to me. I looked at a couple of the 48 duplicates of this bug report and noticed they were reported by the same person. It occurred to me that I really wanted to check all the the duplicates and see who the reporter was, so I wrote a tool to do just that.

./lp-bug-dupe-properties --reporter --bug 1234567

LP: #1234567 has 40 duplicates
brian-murray: 2345678 3456789 …

So bug 1234567, a fake example, isn’t as important as the duplicate count would have led you to believe, but there are more things it would be good to know about duplicate bugs. Like when they were reported:

./lp-bug-dupe-properties --bug 902603 --day

LP: #902603 has 250 duplicates
2011-12-10: 902605 902606 902607 902608
2011-12-11: 902775 902776 …

Or the release tags that the duplicates possess.

./lp-bug-dupe-properties --bug 902603 --rtags

LP: #902603 has 250 duplicates
precise: 902605 902606 …

Finally one thing specific to Ubuntu that would be quite helpful are the values of apport keys that appear in the bug description. For example:

./lp-bug-dupe-properties --bug 708517 -D Package

LP: #708517 has 52 duplicates
plymouth 0.8.2-2ubuntu17: 725753 725754 730377 734480
plymouth 0.8.2-2ubuntu18: 738127 738374 739290 739712 740071

Here we’ve checked the bug description of every duplicate to see what value appears in the Package key of the description that was created by apport. This was useful to tell what the latest version of the package the bug was reported about.

lp-bug-dupe-properties was just merged into the bzr branch of lptools. I hope you find it useful.

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=122
Confirming a bug task in Launchpad http://www.murraytwins.com/blog/?p=113 http://www.murraytwins.com/blog/?p=113#comments Fri, 09 Mar 2012 22:45:23 +0000 Brian Murray http://www.murraytwins.com/blog/?p=113 In the Ubuntu Bug Squad we frequently talk about how to perform tasks on IRC but for some people it is a lot easier to learn something by seeing it done. Subsequently, I’ve created a video of how to confirm a bug task in Launchpad. There are actually three different ways to do it and the best is the last one in the video.

I created the video mostly following the instructions at the Canonical design blog. I recorded separate screencasts for each way of confirming the task, that way they can be easily replaced if Launchpad changes. Text slides, instead of audio, were used to make production easier and also to allow for easy translations.

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=113
You have how many duplicates‽ http://www.murraytwins.com/blog/?p=100 http://www.murraytwins.com/blog/?p=100#comments Fri, 22 Apr 2011 15:03:34 +0000 Brian Murray http://www.murraytwins.com/blog/?p=100 I was looking at a bug with a large number of duplicates the other day and found my self wondering exactly how many duplicates it had. This information actually appears in the page source for the bug report however its a bit hard to read there!

So I wrote a new Launchpad Greasemonkey Script to display the quantity of duplicates in the duplicates portlet.

Modified Duplicates Portlet

I’ve hightlighted the duplicate count in the screenshot to really point out where it is.

I’ve also updated the firefox-lp-improvements PPA which contains a Firefox extension collecting all of the Launchpad Greasemonkey scripts with the new script.

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=100
A Holiday Tale http://www.murraytwins.com/blog/?p=96 http://www.murraytwins.com/blog/?p=96#comments Tue, 21 Dec 2010 00:13:30 +0000 Brian Murray http://www.murraytwins.com/blog/?p=96 When the Launchpad API first came out one of the first things I noticed was that it was possible to set your latitude and longitude via the API.  After seeing this I remembered some book called Cryptonomicon where one of the protagonist’s has their geolocation in their email signature and thought it would be neat to update my geolocation in Launchpad as I traveled.  Alas, I wasn’t able to get setLocation to work at all with the API.

When I was working on the Launchpad team at the EPIC in July I remembered the issue I was having and discovered that I was doing it wrong.  I needed to use launchpad.people[’brian-murray’].setLocation() and not launchpad.me.setLocation().  Then Google Maps were removed from people pages like mine and I was sad again.

Surely, there is is a happy ending to this sad tale?

Indeed, Santa has arrived a bit early and brought me a Launchpad Greasemonkey script that displays Google Maps on Launchpad user pages again.  It is now available in firefox-lp-improvements.  So please set your location to interesting and approximate places!

Return of the Map

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=96
More Bug Links thanks to Greasemonkey http://www.murraytwins.com/blog/?p=95 http://www.murraytwins.com/blog/?p=95#comments Wed, 03 Nov 2010 22:16:12 +0000 Brian Murray http://www.murraytwins.com/blog/?p=95 During my time working on Launchpad I didn’t work on the Launchpad Greasemonkey Scripts very much. However, when I was talking to Carlos at UDS for Natty it occurred to us that it might be useful to have a greasemonkey script to help with repeated searches for bug reports. While there are currently searches for New bugs, Critical bugs, Bugs assigned to me … there are some others that might be useful. To that end I’ve written lp_more_bug_links.user.js.

More Bug Links

It appends some additional bug searches to bugfilters portlet on Launchpad. A question mark is displayed for the bug count as there isn’t an easy way to discover this number. I think there are some really powerful searches included (Incomplete w/ response, Bugs I reported, Bugs I am subscribed to) which are quite handy to have one click away. I’ve also added this to the firefox-lp-improvements ppa.

If you have any ideas of additional searches to add in please let me know!

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=95
Who did that and when? http://www.murraytwins.com/blog/?p=93 http://www.murraytwins.com/blog/?p=93#comments Fri, 24 Sep 2010 19:28:08 +0000 Brian Murray http://www.murraytwins.com/blog/?p=93 Occasionally, I think it would be useful to know who added a tag to a bug report and when it happened. It’s possible to determine this information at a bug reports +activity page. However, this can be hard to parse as you have something like old value = “apport-bug i386 maverick”, new value = “apport-bug i386 kubuntu maverick regression-potential”. Then you have to manually figure out the diff.

Of course this would be much more useful if you could access it using python-launchpadlib. So I’ve exported bug.activity in the devel version of the API and now you can do interesting things like the following:


bug = launchpad.bugs[630580]
[(a.datechanged, a.person.display_name) for a in bug.activity if a.newvalue
and "regression-potential" in a.newvalue]
[(datetime.datetime(2010, 9, 5, 1, 50, 30, 602479, tzinfo=TimeZone(0)),
'Scott Kitterman')]

Now we know that Scott added the tag regression-potential to the bug on September 5th. Pretty neat!

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=93
Making Launchpad more informative http://www.murraytwins.com/blog/?p=91 http://www.murraytwins.com/blog/?p=91#comments Mon, 20 Sep 2010 22:02:18 +0000 Brian Murray http://www.murraytwins.com/blog/?p=91 Have you ever been subscribed to a bug report with a lot of duplicates? How about not directly subscribed to the bug report with the duplicates but one of the duplicates?

I have and thought it would be helpful to know which duplicate I was subscribed to rather than having to look at every duplicate to see which one was mine. You can now determine this on edge by mousing over your name in the “From duplicates” portion of the subscribers portlet.

lp-from-duplicates-mouse-over.png

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=91
Shining a light on hidden bugs http://www.murraytwins.com/blog/?p=90 http://www.murraytwins.com/blog/?p=90#comments Thu, 16 Sep 2010 20:03:35 +0000 Brian Murray http://www.murraytwins.com/blog/?p=90 There are a couple of situations where Launchpad hides some bug reports from searches that really shouldn’t be hidden in my opinion.

I recently fixed one of these cases - where if you were to search a distribution series, Maverick for example, for bug tasks via the API you would receive an empty collection. Of course, this makes no sense as Maverick is being actively worked on and it has bug tasks targeted to it. The bug tasks are hidden because omit_targeted parameter had a default value of True. While it is easy to work around by setting omit_targeted to False, this isn’t easily discoverable nor should it even be necessary. If you are searching tasks for a series you want to see the targeted ones!

Anyway, its fixed now but you need to be using the devel version of the API.

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=90
Faster launchpadlib clients http://www.murraytwins.com/blog/?p=86 http://www.murraytwins.com/blog/?p=86#comments Fri, 23 Jul 2010 19:38:43 +0000 Brian Murray http://www.murraytwins.com/blog/?p=86 At the Launchpad EPIC, Leonard gave a lightning talk indicating that we should use the latest version of launchpadlib as it contains some performance improvements. As a heavy user of the API, I followed up with him and discovered that these performance improvements are only available in the Maverick version of the package which doesn’t help everyone. He gave me a set of patches, which really affect python-lazr.restfulclient, that contained the fixes so I could work on getting them in Lucid. With the upcoming point release of Lucid it won’t be possible to get the new package in -updates right away. Subsequently, I’ve created made the package available in my PPA. If you are using python-launchpadlib a lot I recommend using the updated lazr.restfulclient. If you have any issues with the package please comment on the SRU bug.

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=86
Launchpad bug mail changes http://www.murraytwins.com/blog/?p=77 http://www.murraytwins.com/blog/?p=77#comments Fri, 25 Jun 2010 00:20:24 +0000 Brian Murray http://www.murraytwins.com/blog/?p=77 As a part of my rotation with the Launchpad bugs team I am currently working on a Launchpad Enhancement Proprosal dealing with improved bug notifications and subscriptions. As a part of this work I thought I’d work on an easy bug about modifying the string in a new bug message to say “You have been assigned” instead of “You have been subscribed”. This ended up being more complicated than I had initially thought because there are actually multiple issues in that report and I had to learn the email notification system. But this makes the fix that much more rewarding.

So now when you are assigned a bug report you will receive an email with following in the body.

You have been assigned a bug task for a public bug by Brian Murray (brian-murray):

Its more than just s/subscribed/assigned/ because the assigner is actually identified - something that was not done before. Another fix made was preventing the assignee transition email notification from going to the assignee. You previously would get 2 emails when assigned, if you were not a bug subscriber, a notification about the new to you bug report and the assignment transition.

After fixing that bug I went ahead and fixed a bug that was bothering me in 2007! I wanted, and still want, to be able to filter on bug reports that I’ve reported which isn’t possible since I’m just listed as a subscriber. This particular bug really was easy (3 lines of code, 2 lines of comments and 7 lines of test) and now you can filter on an “X-Launchpad-Reporter:” header.

Okay not really now. Due to the way email notifications are sent you won’t actually be able to see these changes until they land on the production server next week.

]]>
http://www.murraytwins.com/blog/?feed=rss2&p=77