Upstreaming

Dev Week -- Forwarding bugs and patches upstream -- pedro_ -- Wed, Jul 14th, 2010

(01:00:47 PM) pedro_: Hello guys! My name is Pedro Villavicencio Garrido and i'm the guy behind the Ubuntu desktop bugs
(01:01:04 PM) pedro_: today together with the awesome nigelb we're going to teach you how to forward bugs and patches upstream
(01:01:33 PM) pedro_: I'm going to introduce you to the workflow we use for the GNOME bugtracker
(01:01:35 PM) ***nigelb wave again
(01:01:42 PM) pedro_: which also applies to the freedesktop tone
(01:01:46 PM) pedro_: s/tone/one
(01:01:51 PM) pedro_: since they're using Bugzilla as well
(01:02:18 PM) pedro_: if you never heard about bugzilla before -> http://www.bugzilla.org/
(01:03:07 PM) pedro_: the GNOME project uses as said Bugzilla for tracking their bugs reports
(01:03:16 PM) pedro_: you can find it at https://bugzilla.gnome.org
(01:03:26 PM) pjarnahom is now known as pjarnahomzz
(01:03:55 PM) pedro_: If a bug in launchpad needs to be send there what you need to do first of all is to well... create an account
(01:04:52 PM) pedro_: assuming you're not familiar with it, at the top of the page there's a 'New Account' link
(01:05:14 PM) pedro_: if you click on that you'll be redirected to a page which is  https://bugzilla.gnome.org/createaccount.cgi
(01:05:39 PM) pedro_: in most of the bug trackers out here the only requirement to create an account is provide a valid email account
(01:05:46 PM) pedro_: and the GNOME Bugzilla is not an exception
(01:06:23 PM) pedro_: so just provide your email account and you'll receive a confirmation email
(01:06:36 PM) pedro_: just follow the steps described on that and your account will be ready to rock
(01:07:28 PM) pedro_: Ok now you created your account so you're ready to start opening bugs upstream
(01:07:39 PM) pedro_: but first!
(01:07:53 PM) pedro_: it's important to search for already reported bugs
(01:08:13 PM) pedro_: we don't want to start flooding upstream with duplicates
(01:08:26 PM) pedro_: it creates a lot of more work for the maintainers and the bugsquad
(01:09:21 PM) pedro_: alright for searching you need to go to
(01:09:28 PM) pedro_: https://bugzilla.gnome.org/query.cgi
(01:09:40 PM) pedro_: and put any text you'd like to search for , for example 'love'
(01:10:42 PM) pedro_: if you did what i did you'll get a bug report
(01:10:47 PM) pedro_: like this one: https://bugzilla.gnome.org/show_bug.cgi?id=438847
(01:10:50 PM) ubot2: Gnome bug 438847 in gnome "i love you" [Normal,Resolved: incomplete]
(01:11:01 PM) pedro_: such of nice report isn't ?
(01:12:01 PM) pedro_: that's how it looks a report on the GNOME Bugzilla ,will go a bit deeper in to that in a bit
(01:12:23 PM) pedro_: now if you didn't find the report you're were looking for
(01:12:29 PM) pedro_: what do to?
(01:12:46 PM) pedro_: well an extra hint would be to search on the list of most frequently reported bugs
(01:12:59 PM) pedro_: which is available here: https://bugzilla.gnome.org/duplicates.cgi
(01:13:14 PM) pedro_: is your report there or not?
(01:13:31 PM) pedro_: let's say : yes
(01:13:45 PM) pedro_: now how can i know if that report is already being tracked on Launchpad?
(01:14:01 PM) pedro_: there's a little trick for doing that
(01:14:07 PM) pedro_: (don't tell anyone!)
(01:14:41 PM) pedro_: for example if we want to know if bug https://bugzilla.gnome.org/show_bug.cgi?id=479979
(01:14:46 PM) ubot2: Gnome bug 479979 in window selector "Crash in wnck_task_button_glow()/cairo_translate()" [Critical,Resolved: incomplete]
(01:14:51 PM) pedro_: is being tracked we need to pass something like this to launchpad
(01:15:09 PM) pedro_: https://bugs.launchpad.net/bugs/bugtrackers/gnome-bugs/479979
(01:15:12 PM) pedro_: click on that url
(01:15:26 PM) pedro_: it will take you to a report in launchpad which is watching that upstream report
(01:15:58 PM) ClassBot: charlie-tca asked: that is a great report!
(01:16:02 PM) pedro_: indeed charlie-tca ;-)
(01:16:39 PM) pedro_: btw you can do that for all the bug trackers which are listed here: https://bugs.launchpad.net/bugs/bugtrackers
(01:16:50 PM) pedro_: it helps a lot when you're searching for upstream reports
(01:17:16 PM) pedro_: ok now let say that the report you're looking for is not on the upstream bug tracker, so you need to open a new one
(01:17:59 PM) pedro_: Click on the New link at the top and a list of parts is going to be presented to you, if you don't know to which set a product belongs, just click on All and search for that program there, for example nautilus
(01:18:19 PM) pedro_: bugzilla is going to show a long list , like the one here:
(01:18:26 PM) pedro_: https://bugzilla.gnome.org/enter_bug.cgi?classification=__all
(01:19:09 PM) ClassBot: devildante67 asked: Can't we do that nice secret trick directly in the site?
(01:19:28 PM) pedro_: not really in launchpad, there's no search box for those, but yeah would a neat wishlist
(01:19:58 PM) pedro_: what i did for my workflow was to create a keyword on firefox so everytime i enter something like: gnome #123456
(01:20:00 PM) ubot2: Gnome bug 123456 in general "ItemFactory.create_items and <ImageItem> bug" [Normal,Resolved: fixed] http://bugzilla.gnome.org/show_bug.cgi?id=123456
(01:20:14 PM) pedro_: it will search automatically for that bugs for me instead of entering the whole url over and over again
(01:20:42 PM) pedro_: ok if you click on the nautilus product you'll see something like this:
(01:20:55 PM) pedro_: http://people.canonical.com/~pedro/new_bug1.jpg
(01:21:22 PM) pedro_: where you have something similar to what we have in launchpad
(01:21:29 PM) pedro_: a field to enter a Summary
(01:21:37 PM) pedro_: Description , add an Attachment etc
(01:22:06 PM) pedro_: now if you click on the "Show Advanced Fields" you'll see something like this:
(01:22:13 PM) pedro_: http://people.canonical.com/~pedro/new_bug2.jpg
(01:22:55 PM) pedro_: You can use either of those to open a new bug
(01:23:08 PM) pedro_: most of the information which is requested there is already available in our bugs at Ubuntu
(01:23:28 PM) pedro_: like the version of GNOME used, the version of the program, the summary etc
(01:23:45 PM) pedro_: Now paste the title of the bug in launchpad and improve it if that title isn't good enough
(01:23:59 PM) pedro_:  it's always better to use something like "nautilus search freeze when searching for odp files" then "nautilus freezes"
(01:24:26 PM) pedro_: also use a good description of the issue, add clear steps to reproduce it if applicable and add all the information that might be relevant like comments from users, screenshots or even screencasts
(01:25:13 PM) pedro_: And if applicable add a keyword
(01:25:43 PM) pedro_: a keyword is similar to what we call 'tags' on launchpad
(01:26:03 PM) pedro_: you can see those used on GNOME at https://bugzilla.gnome.org/describekeywords.cgi
(01:26:23 PM) pedro_: for example: use STACKTRACE for crashes with full debug backtrace
(01:26:35 PM) pedro_: usability for well usability issues
(01:26:48 PM) pedro_: documentation for bugs in the docs, etc etc
(01:27:28 PM) pedro_: ok how a report forwarded from Ubuntu looks like
(01:27:43 PM) pedro_: please have a look to https://bugzilla.gnome.org/show_bug.cgi?id=589386
(01:27:45 PM) ubot2: Gnome bug 589386 in general "Reverting changes when submenus are created make the submenus appear as alacarte-made-#" [Normal,New]
(01:28:16 PM) pedro_: as you can see there, the format we use is to add a Link to the launchpad report
(01:28:38 PM) pedro_: a description of the issue and if we have more information we add it as well like the logs on that particular report
(01:29:07 PM) ClassBot: simar_mohaar asked: does the trick yout told to find bugs in launchpad that is watching a upstream bug is applicable to free desktop also .. say eg - 21614 in freedesktop how to find on launchpad
(01:29:33 PM) pedro_: yes that works for freedesktop too, let me give you the link
(01:29:58 PM) pedro_: https://bugs.edge.launchpad.net/bugs/bugtrackers/freedesktop-bugs/21614
(01:30:28 PM) pedro_: those are the bugs that are watching that upstream report
(01:30:41 PM) pedro_: maybe they could be marked as duplicate if they aren't yet ;-)
(01:31:13 PM) pedro_: Ok If you saw that alacarte report
(01:31:27 PM) pedro_: you'll see that the status are different than in launchpad
(01:31:37 PM) pedro_: for example that bug was confirmed but the status is New
(01:32:11 PM) pedro_: the New status in the GNOME bugzilla is similar to our Triaged status
(01:32:32 PM) pedro_: and our New status there is UNCONFIRMED
(01:32:54 PM) pedro_: there's a few status on bugzilla that you might not familiar with , you can read about those at
(01:33:01 PM) pedro_: https://bugzilla.gnome.org/page.cgi?id=fields.html
(01:33:14 PM) pedro_: so don't change the status to New if you just filed the report and nobody else confirmed it :-P
(01:33:35 PM) ClassBot: simar_mohaar asked: One more thing pedro, that how you create keyword in firefox like #56383 say so we don'y have enter the whole URL always.? Sorry I dinn't get it . :<
(01:34:08 PM) pedro_: simar_mohaar, I can teach you how to do it after the talk ;-)
(01:34:55 PM) pedro_: Alright let's assume you have your bug filed upstream
(01:35:06 PM) pedro_: a shine and new upstream report
(01:35:23 PM) pedro_: what to do now?
(01:35:48 PM) pedro_: well what you need to do is to create a Bug Watch in Launchpad for that upstream report you just filed
(01:36:32 PM) pedro_: how to do it? easy, you need to click on the Also affects project link which is available in every report at launchpad
(01:36:46 PM) pedro_: you'll get something like this: http://people.canonical.com/~pedro/also-affects.jpg
(01:37:24 PM) pedro_: where you can paste the link that bugzilla gives you
(01:37:45 PM) pedro_: then just click on Add to Bug Report
(01:38:03 PM) abhi_nav__ is now known as abhi_nav
(01:38:07 PM) pedro_: and your report will look like this one https://bugs.edge.launchpad.net/ubuntu/+source/gnome-panel/+bug/510322
(01:38:09 PM) ubot2: Launchpad bug 510322 in gnome-panel (Ubuntu) (and 1 other project) "wnck-applet crashed with SIGSEGV in cairo_translate() (affects: 30) (dups: 4) (heat: 139)" [Medium,Incomplete]
(01:38:25 PM) pedro_: a new field is going to appear
(01:38:44 PM) pedro_: with the name of the project, status, importance and a link to that upstream report on the assigned to field
(01:38:59 PM) pedro_: ok we're almost done!
(01:39:33 PM) pedro_: what you need to do now, is to comment on the bug report in launchpad with something as:
(01:39:52 PM) pedro_: Thanks for your bug report. This bug has been reported to the developers of the software. You can track it and make comments here: URL
(01:40:17 PM) pedro_: where URL is of course the link bugzilla returns you previously
(01:40:42 PM) pedro_: then you just need to change the status to Triaged or Confirmed if you don't have the rights to set it as Triaged and that's all!
(01:41:26 PM) pedro_: this same second part of the workflow applies to mostly all of the projects in Ubuntu with upstream projects
(01:42:11 PM) pedro_: what only changes is the how the upstream projects manage their bugs, with more keywords, some different status or severities etc
(01:42:50 PM) pedro_: Ok i know you're all interesting on how to do it for Patches so i pass the mic to the awesome nigelb who is going to talk you about that
(01:42:56 PM) pedro_: nigelb, stage is all yours!
(01:43:04 PM) nigelb: thanks pedro_
(01:43:21 PM) nigelb: He conviniently has a call right now, so he's passed the batton to me
(01:43:56 PM) nigelb: So, in the last session bobbo and I talked about why you need to forward patches, when you need to forward patchs, and to some extend where
(01:44:22 PM) nigelb: I intended to give pedro the task of explaining the "how to forward" patches, but I see its come to me.
(01:44:26 PM) nigelb: ;)
(01:45:01 PM) nigelb: so, you've seen the gnome bugzilla and seen how it works and how to report a bug
(01:45:39 PM) nigelb: if you scroll down a bugzilla bug, you'll see a table that lists the patches available (empty if no patches yet)
(01:45:55 PM) nigelb: It looks like this http://imagebin.ca/view/GBIh_i5.html
(01:47:08 PM) nigelb: if you click on the button, you'll go to another page
(01:47:24 PM) nigelb: it looks like this http://imagebin.ca/view/GtvMF1.html
(01:47:49 PM) nigelb: initially, it asks that you select a file to upload and give a description for it
(01:48:05 PM) mab is now known as Guest87736
(01:48:25 PM) nigelb: its a good idea to give the description as whatever it fixes, like "Fixes the crash that happens when you do $foo"
(01:48:53 PM) nigelb: you can either force bugzilla to consider it as a patch or let it automatically decide whether it was a patch
(01:49:22 PM) nigelb: then, enter a comment and press submit
(01:49:29 PM) nigelb: viola! your patch is submitted upstream
(01:49:45 PM) nigelb: you'll notice there is a field called "obsolete"
(01:50:28 PM) nigelb: thats for when you've rewritten a patch (which was initially written by you) and you upload the new patch
(01:50:38 PM) nigelb: you can mark the old one as obsolte
(01:50:55 PM) nigelb: but they're smart people, they don't let you mark your patch obsolteling someone else's ;)
(01:51:19 PM) ClassBot: penguin42 asked: Is there anything that needs to be done to make sure it's traceable to the original author or the ubuntu bug it came from?
(01:51:51 PM) nigelb: Well, personally a lot of us start the bug with "This bug was orginally reported in Launchpad, bug# 123"
(01:52:00 PM) nigelb: that way other triagers know which one its linked to
(01:52:24 PM) ClassBot: mgamal asked: How should we forward patches to upstream projects that follow a different patch submission procedure (e.g. Linux Kernel)?
(01:52:30 PM) nigelb: very good question
(01:52:59 PM) nigelb: Each project has different specifications and rules, its very importannt that you read their guidelines if any
(01:53:45 PM) nigelb: And, the Kernel is very special from other projects.  Jfo can explain more on that.  I'm not very familiar with their procedures
(01:54:16 PM) nigelb: the freedesktop project also uses bugzilla and their patch submission interface looks very similar to gnome bugzilla
(01:54:34 PM) nigelb: (well, its after all bugzilla with different themes)
(01:54:49 PM) nigelb: here's how that looks http://imagebin.ca/view/BsKUieS.html
(01:55:21 PM) nigelb: http://imagebin.ca/view/X0Fpl-pn.html
(01:55:42 PM) ClassBot: simar_mohaar asked: What exactly is a patch. If a patch provides a fix is it the same thing that we update to our system during Updates?
(01:56:04 PM) nigelb: a patch is essentially a diff file.  Its a diff of current source vs new source
(01:56:20 PM) nigelb: And a patch is not what updates your system during update
(01:56:34 PM) nigelb: I have one more bug tracker to talk about
(01:56:44 PM) nigelb: this tracker deserves a session of its own
(01:57:01 PM) nigelb: its very special in that, its one of the view that doesn't require that you sign up before you report a bug
(01:57:14 PM) nigelb: but it doesn't let you file a bug from a webform
(01:57:30 PM) nigelb: you have to either send a mail in a particular format or use a commandline tool
(01:57:33 PM) nigelb: any guesses?
(01:58:05 PM) nigelb: c'mon, no guesses?
(01:58:23 PM) nigelb: yep, jacob
(01:58:29 PM) nigelb: Its the Debian BTS
(01:58:38 PM) nigelb: Its the tracker we all love to hate.
(01:59:05 PM) nigelb: Its a bit complicated to work with.  I won't be going into detail, but I'll give you some links where you can learn about it
(01:59:18 PM) nigelb: http://www.debian.org/Bugs/Reporting
(01:59:48 PM) nigelb: you can use that debian page to know more about reporting bugs on debian or use reportbug
(02:00:03 PM) nigelb: reportbug is a commandline tool that helps you do it provided you can send email from your system
(02:00:13 PM) nigelb: And with that, my time is done :)
(02:00:26 PM) nigelb: Thanks folks for listening in!

MeetingLogs/devweek1007/Upstreaming (last edited 2010-07-14 18:01:16 by pool-71-123-28-183)