=== Andre_Gondim-afk is now known as Andre_Gondim === maco is now known as maco2 === stingernewt is now known as damionloop === IAmNotThatGuy is now known as mohi1 === mohi1 is now known as 15SAAJGOH === IAmNotThatGuy is now known as mohi1 === nhandler_ is now known as nhandler === IAmNotThatGuy is now known as mohi1 [12:14] abhi_nav: hello [12:14] hi abhijain [12:15] actully when i am on ubuntu prefrences window and try to connect devices >connect no connecticvity with my account [12:16] abhijain, but why are you here? this is not the channel to ask question? come in #Ubuntu === pjarnahomzz is now known as pjarnahom [15:03] hi === abhi_nav_ is now known as abhi_nav === abhi_nav_ is now known as abhi_nav [16:41] https://wiki.ubuntu.com/UbuntuDeveloperWeek Day 3 about to start in 19 minutes in #ubuntu-classroom === Hutley is now known as Guest76305 [16:57] HELLO EVERYBODY, WELCOME TO DAY 3 of UBUNTU DEVELOPER WEEK! [16:57] before our first session of today kicks off, just a few organisational things, as usual [16:57] if you made it here, that's great, plus please also join #ubuntu-classroom-chat, which is where you can ask questions (yes, lernid does that for you already) [16:58] when you ask questions, please prefix them with QUESTION:, so they stick out [16:58] ie: QUESTION: What kind of music does Jorge Castro like? [16:58] etc [16:58] https://wiki.ubuntu.com/UbuntuDeveloperWeek/Sessions has some description of all the upcoming sessions, plus also if you need to prepare for them somehow [16:58] hi [16:59] if you didn't get to see all the other sessions, check out https://wiki.ubuntu.com/UbuntuDeveloperWeek - the logs are linked from there [17:00] first on stage are Nigel Babu and David Futcher - enjoy their session about Operation Cleansweep and Patch Review with them [17:00] thanks dholbach :) [17:00] thanks daniel :) === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Operation Cleansweep - Reviewing Patches - Instructors: nigelb, bobbo [17:01] ok! Now, we're kicking [17:01] Hello everyone, I'm Nigel and with me is David. We're going to talk about patch review. [17:01] * bobbo waves [17:01] I'd like you all to take a look at https://wiki.ubuntu.com/OperationCleansweep [17:01] This cycle, this is a very critical operation that we'd like to see carried out. As you can read [17:01] This cycle, this is a very critical operation that we'd like to see carried out. As you can read [17:02] grr [17:02] in the wiki page, operation cleansweep is about reviewing all the bugs in Launchpad against the Ubuntu project which have a patch attached. [17:02] (sorry folks, paste fail ;) [17:02] We have a lot of awesome contributors who write code to fix bugs, but we lose out on this awesomeness because we're slow to review the patches. [17:02] Its not something thats new to an open source project, but its something that we in Ubuntu would like to pay attention to and we NEED your help! [17:03] So how can you help out with patch reviews? [17:03] We have a script which automatically finds bugs with patches that need reviewing [17:03] Of course, it can't decide whether the patch is good or not, we need a human for this. This is where you guys come in [17:03] The script subscribes us to all Ubuntu bugs with a patch attached minus the packages that we exclude (https://wiki.ubuntu.com/ReviewersTeam/ExcludingPackages) [17:04] The first step to reviewing patches is to look at the current work queue. [17:04] We've got a big Launchpad query which filters out all the reviewed patches and just shows the ones we need to look at [17:05] You can find the bug list at http://tinyurl.com/2u7kf3b [17:05] AS you can see was have currently around 1500 bugs in the unreviewed queue [17:06] Those are bugs that have patches that need to be reviewed and we haven't gotten around to do [17:06] Just for perspective, we started out with just under 2000 bugs in that list [17:06] Yeah, we're getting there, but unfortunately new patches are added every day! We get almost 100 new patches a month, maybe more. [17:06] also nigelb's laptop just broke, so that's slowing us down too :D [17:07] heh, its getting fixed :) [17:07] We'll quickly summarize the process and we will show you some specific examples to get a better grasp of the idea. [17:07] Can all of us open the review guide? Its at https://wiki.ubuntu.com/ReviewersTeam/ReviewGuide [17:07] So now you have the list of bugs. Pick a bug to work on. [17:08] Once you pick a bug, you have to reproduce the bug again. Sometimes the bug is fixed and someone forgot to close it from changelog or it was fixed upstream. [17:08] No point of the patch if the bug is already solved. Close the bug as "Fix Released" [17:08] If the bug is reproducible, the next step is to check if the patch applies. [17:09] If the patch is old, the source may have changed so much that the patch does not apply any longer. === daker_ is now known as daker [17:09] If the patch fails to apply or fix the bug, you should add the patch-needswork tag and ideally leave a comment explaining what is wrong with the patch [17:09] and ask the original author if he can re-write the patch. [17:10] f you can make sense of the code enough to correct, that would be even more great [17:10] fail, If* [17:11] This bug though will be off our list since we can't work with the patch unless its reworked. [17:11] If the patch applies and the bug still exists, we need to check if it fixes the bug. [17:11] Again, no point in a patch if the bug is present after applying the patch and run the program again. [17:12] If the patch works, we have a few options [17:12] Ideally we should forward it upstream for their take on it because we don't want to conflict with them if they have a better way of fixing it or if we introduce some dangerous regressions [17:13] Also, since upstream is the original author of the code, they have a good idea of what makes sense. [17:13] Encourage the patch author to forward the bug upstream or forward the bug upstream yourself, once the patch is forwarded upstream, add the patch-fowarded-upstream tag. [17:14] This helps us keep track of the good that came out of it (and jcastro gets the credit :p) [17:14] Depending on what upstream feels about it, you may need to modify the tag to patch-accepted-upstream or patch-rejected-upstream. [17:14] Sometimes though, the bug maybe a bit more critical than to wait for upstream to fix it and we're sure the patch is going to help us. [17:14] In that case, we forward the bug to Debian and add a 'patch-forwarded-debian' tag. [17:15] Again, depending on feedback from Debian, we mark the patch as and patch-accepted-upstream and patch-rejected-upstream. [17:16] In very rare cases though, the patch is just wrong and we have to reject it. [17:16] In that case, we tag the bug with 'patch-rejected' [17:16] In other cases the bug is so severe that the need to deal with it as quickly as possible [17:17] or the patch is so perfect, well tested and unlikely to cause regressions that we won't lose sleep if we apply it without upstream looking at it [17:17] In these cases, the patch is applied in the Ubuntu package, and then forwarded to upstream or debian [17:18] One extra complication is that sometimes patches onfly affect the packaging of an application [17:18] ok, so you've all asked some questions, we'll be answering those now [17:18] devildante67 asked: Does Operation Cleansweep include bzr branches or only patches? [17:19] It includes only patches. the bzr branches would follow udd and are sponsored in directly. [17:19] udd = ubuntu distributed development [17:19] joaopinto asked: when we have the technical ability to do so, is it ok to rework the patch ourselves or should we wait for the path feedback instead ? [17:20] like bobbo said earlier, if you can rework it, by all means, go ahead :) [17:20] AudioFranky asked: How do I know/find the exact Ubuntu source package version against which the original patch submitted created his patch? [17:21] If a bug was reported via apport, should be there in the bug report. Otherwise, its going to be a bit of guesswork based on version of ubuntu, date of filing, etc [17:21] joaopinto asked: are those tags/workflow written somewhere ? [17:21] You can often check using the date the bug was reported and matching it up with the changelog :) [17:21] thanks bobbo :) [17:21] Yes, Review process is documented [17:22] https://wiki.ubuntu.com/ReviewersTeam/ReviewGuide#Workflow [17:22] https://wiki.ubuntu.com/ReviewersTeam/ReviewGuide is your friend :) [17:22] mythos asked: the ability of the reviewer is never checked, so everybody can review patches? [17:22] Yes, everyone can review patches. Noone blocks you on anything. There is a team, but not being a member does not block you from contributing. [17:23] dupondje asked: when a patch is created for a important bug in for example lucid, and its fixed in maverick, do we still need to review it to get it into lucid then ? [17:23] It is a case-by-case situation, but this calls for an sru and the sru process [17:24] often, I've taken up sru for hardy or earlier releases when the patch was there, but it was fixed in a later ubuntu release and everyone forgot about sru [17:24] sru = Stable Release Update [17:25] ok, so ClassBot tells me the good news that question queue is empty [17:25] lets move onto some specfic examples [17:25] Bug #544242 [17:25] Launchpad bug 544242 in empathy (Ubuntu) (and 1 other project) "[PATCH] Empathy should allow users to toggle auto-away mode on/off (affects: 1) (heat: 38)" [Wishlist,Fix released] https://launchpad.net/bugs/544242 [17:25] This bug was opened with a patch provided by the reporter. It was subscribed by the subscription script with the patch tag. [17:26] The patch was forwarded upstream, and recieved the patch-forwarded-upstream tag [17:26] After upstream accepted this patch, it recieved the patch-accepted-upstream tag and is ready to be fixed in Ubuntu. [17:26] Bug #544242 [17:26] Launchpad bug 544242 in empathy (Ubuntu) (and 1 other project) "[PATCH] Empathy should allow users to toggle auto-away mode on/off (affects: 1) (heat: 38)" [Wishlist,Fix released] https://launchpad.net/bugs/544242 [17:27] fail [17:27] Bug #462193 [17:27] Launchpad bug 462193 in djvulibre (Debian) (and 2 other projects) "djvulibre-bin produces garbage in the root (/man1/*) (affects: 16) (dups: 2) (heat: 56)" [Unknown,Unknown] https://launchpad.net/bugs/462193 [17:27] This patch only had to go to Debian as the changes only affected the application's packaging [17:28] it makes non sense in most cases to send patches against the packaging to the upstream as they normally don't touch it at all [17:28] so it was forwarded to Debian and received patch-forwarded-debian [17:28] it was then accepted and receive patch-accepted-debian [17:29] and now we're waiting for the fix to be merged or synced into the Ubuntu archives [17:29] One last example [17:29] joaopinto asked: Once a bug gets patch-accepted-upstream, how do we ensure that the patch is applied to the current development package ? [17:29] bobbo: finish the example and we'll answer this :) [17:29] okay :) [17:30] Bug #33288 [17:30] Launchpad bug 33288 in poppler (Ubuntu Lucid) (and 2 other projects) "Evince doesn't handle columns properly (affects: 28) (dups: 9) (heat: 191)" [Medium,Fix released] https://launchpad.net/bugs/33288 [17:30] ah, that was a famous one :) [17:30] The patch was forwarded upstream, where it was rejected [17:31] it's now been fixed, however with a different patch [17:31] [17:31] heh, thanks bobbo :) [17:32] ok, so about the question [17:32] in our hurry to write this session up, we missed a step, which actually answers the question [17:33] when you decide to change the tga or comment on the bug, subscribe yourself to the bug. That way you can keep track of the bug. [17:33] When the patch is accepted upstream, you can either get it into ubuntu directly if its very severe or wait for it to flow downstream [17:34] But essentially, our mission would be complete, i.e. patches don't rot in launchpad and die [17:34] Also, contributors who write awesome patches don't get discouraged from writing more code [17:35] devildante67 asked: In the last example, the patch has been accepted, but the upstream bug is still set to Confirmed, even with the tag patch-accepted-upstram. How's that possible? [17:35] I've just checked this up [17:35] either the upstream bug report simply hasn't been updated [17:36] the upstream bug hasn't been updated - there is a comment "pushed to git master" [17:36] or it may be because we have cherry picked our patch from their git repository and they don'[t move from COnfirmed until it's actually been pushed out in a final release [17:37] joaopinto: To answer your question, you have to take the initiative. [17:37] If its a main application, talk to desktop team or other subteams if its in their packageset [17:37] they'll glady welcome the help [17:38] If its universe, try mailing the DM who's responsible for the package. [17:38] as long as there is an active package maintainer in Debian, all upstream accepted patches should filter down at some point [17:38] Now, if there is no active maintainer and the patch is good, you have to do some effort on the debian side [17:40] If a package is orphaned in debian, you can do a QA upload. [17:40] You'll need a DD who can sponsor you though. [17:40] A quick mail to debian-mentors mailing list should help you in that case [17:40] If you're not a packager, you can tell a MOTU and they'll hopefully keep track of the package for you [17:41] I'd like to point your attention to a package called galrey [17:41] http://packages.debian.org/sid/galrey [17:41] dropping a mail to the MOTU mailing list or shouting in #ubuntu-motu will at least put it onto a packager's radar [17:41] this package had a patch in ubuntu, its an orphaned package in debian [17:42] I spoke to a MOTU friend and she recommended uploading to debian directly, since we don't want to carry a diff. [17:42] A quick hop into oftc, #debian-mentors and in some time it was awaiting sponsorship and the DD who guided me uploaded into the debian archive [17:43] I put in a sync request and we got into lucid in a few days [17:44] joaopinto: I'll answer in here for that one [17:44] joaopinto asked "that's a bit odd, because a bug reporter expects a bug to be fixed for the current release, isn't that the goal of testing development releases :) ?" [17:45] Expectations are high, but that leads to trouble like diverging from upstream and diverging from debian. [17:45] If you've every done a 3-way merge, you'll know that we *really* don't want that [17:46] When packages are synced that's a better use of our time. Even if we don't work on Ubuntu directly at times. [17:46] Its a bit of a pain, but the reward is much better. More distro's carry the patch and more people have a happy time. [17:47] joaopinto: does that answer your question to some extent? [17:48] Anymore questions folks? [17:48] You see, bobbo and I both lost notes for this session and wrote it in 20 minutes before session started, so its a bit short :) [17:48] dupondje asked: if a bugreport has status 'incomplete' it has been rejected and doesn't need check anymore? Also 'Fix Commited' means is has been accepted? So no check needed neither ? [17:49] incomplete = we need more information abaout the bug from the reporter [17:49] Incomplete means that not enough information has been given in the report and we have asked for more [17:49] Fix Committed is a bit of an odd one in Ubuntu [17:49] it can mean many different things and it's often not used correctly [17:49] and desktop team uses it for a specific purpose which confuses us often. [17:50] Generally, fixed commited means the fix in repositry, but not yet rolled into a release. [17:50] There are are 10 minutes remaining in the current session. [17:50] basically for patch revirew purposes, it's best to ignore Fix Committed and focus on the patch-* tags on the bug instead [17:51] dupondje asked: if a bugreport has status 'incomplete' it has been rejected and doesn't need check anymore? Also 'Fix Commited' means is has been accepted? So no check needed neither ? [17:51] we did that one :) [17:51] fail, I can't work classbot [17:51] heh [17:51] empty queue, does anyone have any questions for the final 9 minutes? [17:52] none? Okay then [17:52] We'd lvoe for you guys to help out reviewing patches and reach the goals of Operation Cleansweep [17:53] Join us in #ubuntu-reviews [17:53] talk about it at your loco events [17:53] if you want more information or would liek some help getting started please feel free to drop into #ubuntu-reviews [17:53] Help us by reviewing 1 patch a day [17:53] Also, we have this beautiful progressbar that daker made for us [17:54] if you can showcase it on your website or blog that would be great [17:54] devildante67 asked: Is Operation Cleansweep a Maverick only operation, or do you plan on extending it for future releases? [17:54] The original plan was to get all 2000 patches reviewed by this cycle's releaase date [17:54] The focus is on getting unreviewed patches to 0 by maverick release [17:55] we'll have more patches and then our focus would be keeping it low all the time, reviewing them instantly [17:55] There are are 5 minutes remaining in the current session. [17:55] This i project was started to get rid of the huge pile of patches sitting in LP [17:56] so that in future, patches will be reviewed much quicker [17:56] jono just spontaneously came up with the idea [17:56] (and spontaneously assigned it to me :p) [17:56] nigelb: you asked for it :) [17:57] dholbach: heh [17:57] ean5533 asked: So who's fault is it that it got this bad? nigelb or bobbo? [17:57] Well, the situation got bad because we never had a system to deal with it [17:57] About 6 months back, I was innocently hanging out in #ubuntu-motu and said "I'm bored" [17:57] (big mistake) [17:58] penguin42 asked: What about patches in debian bug tracking system that fix bugs shared with us? [17:58] yes, in retrospect :p [17:58] Emmet a.k.a. persia said, "go review patches" and I started writing the workflow which we all perfected. [17:58] They are essentially patch-forwarded-debian [17:58] Okay we'd better clear off before the next session [17:59] thanks for listening and please get involved with Operation Cleansweep! [17:59] Yes, Thank you folks. I'm not going anywhere though. I'll talk about the "how to forward patches" with pedro :) [17:59] We're having a bug day for Operation Cleansweep next week so stay tune ;-) === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Forwarding Bugs And Patches Upstream - Instructors: pedro_, nigelb [18:01] Hello guys! My name is Pedro Villavicencio Garrido and i'm the guy behind the Ubuntu desktop bugs [18:01] today together with the awesome nigelb we're going to teach you how to forward bugs and patches upstream [18:01] I'm going to introduce you to the workflow we use for the GNOME bugtracker [18:01] * nigelb wave again === ext2 is now known as ext3 [18:02] which also applies to the freedesktop tone [18:02] s/tone/one [18:02] since they're using Bugzilla as well [18:02] if you never heard about bugzilla before -> http://www.bugzilla.org/ [18:03] the GNOME project uses as said Bugzilla for tracking their bugs reports [18:03] you can find it at https://bugzilla.gnome.org === pjarnahom is now known as pjarnahomzz [18:04] If a bug in launchpad needs to be send there what you need to do first of all is to well... create an account [18:05] assuming you're not familiar with it, at the top of the page there's a 'New Account' link [18:05] if you click on that you'll be redirected to a page which is https://bugzilla.gnome.org/createaccount.cgi [18:05] in most of the bug trackers out here the only requirement to create an account is provide a valid email account [18:06] and the GNOME Bugzilla is not an exception [18:06] so just provide your email account and you'll receive a confirmation email [18:06] just follow the steps described on that and your account will be ready to rock [18:07] Ok now you created your account so you're ready to start opening bugs upstream [18:07] but first! [18:08] it's important to search for already reported bugs [18:08] we don't want to start flooding upstream with duplicates [18:08] it creates a lot of more work for the maintainers and the bugsquad [18:09] alright for searching you need to go to [18:09] https://bugzilla.gnome.org/query.cgi [18:09] and put any text you'd like to search for , for example 'love' [18:11] if you did what i did you'll get a bug report [18:11] like this one: https://bugzilla.gnome.org/show_bug.cgi?id=438847 [18:11] Gnome bug 438847 in gnome "i love you" [Normal,Resolved: incomplete] [18:11] such of nice report isn't ? [18:12] that's how it looks a report on the GNOME Bugzilla ,will go a bit deeper in to that in a bit [18:12] now if you didn't find the report you're were looking for [18:12] what do to? [18:13] well an extra hint would be to search on the list of most frequently reported bugs [18:13] which is available here: https://bugzilla.gnome.org/duplicates.cgi [18:13] is your report there or not? [18:13] let's say : yes [18:14] now how can i know if that report is already being tracked on Launchpad? [18:14] there's a little trick for doing that [18:14] (don't tell anyone!) [18:14] for example if we want to know if bug https://bugzilla.gnome.org/show_bug.cgi?id=479979 [18:15] Gnome bug 479979 in window selector "Crash in wnck_task_button_glow()/cairo_translate()" [Critical,Resolved: incomplete] [18:15] is being tracked we need to pass something like this to launchpad [18:15] https://bugs.launchpad.net/bugs/bugtrackers/gnome-bugs/479979 [18:15] click on that url [18:15] it will take you to a report in launchpad which is watching that upstream report [18:16] charlie-tca asked: that is a great report! [18:16] indeed charlie-tca ;-) [18:16] btw you can do that for all the bug trackers which are listed here: https://bugs.launchpad.net/bugs/bugtrackers [18:17] it helps a lot when you're searching for upstream reports [18:17] 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 [18:18] 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 [18:18] bugzilla is going to show a long list , like the one here: [18:18] https://bugzilla.gnome.org/enter_bug.cgi?classification=__all === ZachK_ is now known as zkriesse [18:19] devildante67 asked: Can't we do that nice secret trick directly in the site? [18:19] not really in launchpad, there's no search box for those, but yeah would a neat wishlist [18:20] what i did for my workflow was to create a keyword on firefox so everytime i enter something like: gnome #123456 [18:20] Gnome bug 123456 in general "ItemFactory.create_items and bug" [Normal,Resolved: fixed] http://bugzilla.gnome.org/show_bug.cgi?id=123456 === Jack is now known as Guest49040 [18:20] it will search automatically for that bugs for me instead of entering the whole url over and over again [18:21] ok if you click on the nautilus product you'll see something like this: [18:21] http://people.canonical.com/~pedro/new_bug1.jpg [18:21] where you have something similar to what we have in launchpad [18:21] a field to enter a Summary [18:21] Description , add an Attachment etc [18:22] now if you click on the "Show Advanced Fields" you'll see something like this: [18:22] http://people.canonical.com/~pedro/new_bug2.jpg [18:23] You can use either of those to open a new bug [18:23] most of the information which is requested there is already available in our bugs at Ubuntu [18:23] like the version of GNOME used, the version of the program, the summary etc [18:24] Now paste the title of the bug in launchpad and improve it if that title isn't good enough [18:24] it's always better to use something like "nautilus search freeze when searching for odp files" then "nautilus freezes" [18:24] 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 [18:25] And if applicable add a keyword [18:26] a keyword is similar to what we call 'tags' on launchpad [18:26] you can see those used on GNOME at https://bugzilla.gnome.org/describekeywords.cgi [18:26] for example: use STACKTRACE for crashes with full debug backtrace [18:26] usability for well usability issues [18:27] documentation for bugs in the docs, etc etc [18:27] ok how a report forwarded from Ubuntu looks like [18:28] please have a look to https://bugzilla.gnome.org/show_bug.cgi?id=589386 [18:28] Gnome bug 589386 in general "Reverting changes when submenus are created make the submenus appear as alacarte-made-#" [Normal,New] [18:28] as you can see there, the format we use is to add a Link to the launchpad report [18:28] a description of the issue and if we have more information we add it as well like the logs on that particular report [18:29] 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 [18:29] yes that works for freedesktop too, let me give you the link [18:30] https://bugs.edge.launchpad.net/bugs/bugtrackers/freedesktop-bugs/21614 [18:30] those are the bugs that are watching that upstream report [18:30] maybe they could be marked as duplicate if they aren't yet ;-) [18:31] Ok If you saw that alacarte report [18:31] you'll see that the status are different than in launchpad [18:31] for example that bug was confirmed but the status is New [18:32] the New status in the GNOME bugzilla is similar to our Triaged status [18:32] and our New status there is UNCONFIRMED [18:33] there's a few status on bugzilla that you might not familiar with , you can read about those at [18:33] https://bugzilla.gnome.org/page.cgi?id=fields.html [18:33] so don't change the status to New if you just filed the report and nobody else confirmed it :-P [18:33] 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 . :< [18:34] simar_mohaar, I can teach you how to do it after the talk ;-) [18:35] Alright let's assume you have your bug filed upstream [18:35] a shine and new upstream report [18:35] what to do now? [18:36] well what you need to do is to create a Bug Watch in Launchpad for that upstream report you just filed [18:36] how to do it? easy, you need to click on the Also affects project link which is available in every report at launchpad [18:37] you'll get something like this: http://people.canonical.com/~pedro/also-affects.jpg [18:37] where you can paste the link that bugzilla gives you [18:38] then just click on Add to Bug Report === abhi_nav__ is now known as abhi_nav [18:38] and your report will look like this one https://bugs.edge.launchpad.net/ubuntu/+source/gnome-panel/+bug/510322 [18:38] 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] [18:38] a new field is going to appear [18:39] with the name of the project, status, importance and a link to that upstream report on the assigned to field [18:39] ok we're almost done! [18:39] what you need to do now, is to comment on the bug report in launchpad with something as: [18:40] 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 [18:40] where URL is of course the link bugzilla returns you previously [18:41] 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! [18:41] this same second part of the workflow applies to mostly all of the projects in Ubuntu with upstream projects [18:42] what only changes is the how the upstream projects manage their bugs, with more keywords, some different status or severities etc [18:43] 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 [18:43] nigelb, stage is all yours! [18:43] thanks pedro_ [18:43] He conviniently has a call right now, so he's passed the batton to me [18:44] 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 [18:44] I intended to give pedro the task of explaining the "how to forward" patches, but I see its come to me. [18:44] ;) [18:45] so, you've seen the gnome bugzilla and seen how it works and how to report a bug [18:45] if you scroll down a bugzilla bug, you'll see a table that lists the patches available (empty if no patches yet) [18:46] It looks like this http://imagebin.ca/view/GBIh_i5.html [18:47] if you click on the button, you'll go to another page [18:47] it looks like this http://imagebin.ca/view/GtvMF1.html [18:48] initially, it asks that you select a file to upload and give a description for it === mab is now known as Guest87736 [18:48] its a good idea to give the description as whatever it fixes, like "Fixes the crash that happens when you do $foo" [18:49] you can either force bugzilla to consider it as a patch or let it automatically decide whether it was a patch [18:49] then, enter a comment and press submit [18:49] viola! your patch is submitted upstream [18:50] you'll notice there is a field called "obsolete" [18:50] There are are 10 minutes remaining in the current session. [18:50] thats for when you've rewritten a patch (which was initially written by you) and you upload the new patch [18:50] you can mark the old one as obsolte [18:51] but they're smart people, they don't let you mark your patch obsolteling someone else's ;) [18:51] 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? [18:52] Well, personally a lot of us start the bug with "This bug was orginally reported in Launchpad, bug# 123" [18:52] that way other triagers know which one its linked to [18:52] mgamal asked: How should we forward patches to upstream projects that follow a different patch submission procedure (e.g. Linux Kernel)? [18:52] very good question [18:53] Each project has different specifications and rules, its very importannt that you read their guidelines if any [18:54] And, the Kernel is very special from other projects. Jfo can explain more on that. I'm not very familiar with their procedures [18:54] the freedesktop project also uses bugzilla and their patch submission interface looks very similar to gnome bugzilla [18:54] (well, its after all bugzilla with different themes) [18:55] here's how that looks http://imagebin.ca/view/BsKUieS.html [18:55] There are are 5 minutes remaining in the current session. [18:55] http://imagebin.ca/view/X0Fpl-pn.html [18:56] 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? [18:56] a patch is essentially a diff file. Its a diff of current source vs new source [18:56] And a patch is not what updates your system during update [18:56] I have one more bug tracker to talk about [18:57] this tracker deserves a session of its own [18:57] its very special in that, its one of the view that doesn't require that you sign up before you report a bug [18:57] but it doesn't let you file a bug from a webform [18:57] you have to either send a mail in a particular format or use a commandline tool [18:57] any guesses? [18:58] c'mon, no guesses? [18:58] yep, jacob [18:58] Its the Debian BTS [18:58] Its the tracker we all love to hate. [18:59] 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 [18:59] http://www.debian.org/Bugs/Reporting [19:00] you can use that debian page to know more about reporting bugs on debian or use reportbug [19:00] reportbug is a commandline tool that helps you do it provided you can send email from your system [19:00] And with that, my time is done :) === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Daily Builds And You - Instructor: jcastro [19:00] Thanks folks for listening in! [19:01] alright! [19:01] hello everybody :) [19:01] welcome to our class [19:01] this session will be about daily builds, I'm Jorge Castro ... [19:01] and I'm Daniel Holbach [19:01] and we're working with the launchpad team to make daily builds a reality [19:02] before I start [19:02] let me give you some information that you need to follow along in this class [19:02] https://help.launchpad.net/Packaging/SourceBuilds [19:02] and all the pages in that section of the wiki will help you out [19:02] so first off, what the heck is a daily build? [19:02] Yes, https://help.launchpad.net/Packaging/SourceBuilds/GettingStarted is the page you should probably bookmark :) [19:02] simply put [19:03] a daily build is a PPA that contains software from a project that is updated every day [19:03] so for example, if we have daily builds of gedit, then the daily build will have the code from that day in the PPA [19:03] so why would we do this? [19:03] First of all, the main reason is testing [19:03] if you're writing a program, you want to be able to test it [19:04] however because ubuntu releases are stable (meaning we don't update to new versions generally) [19:04] then this can be hard to get people to test. [19:04] ideally we want any upstream project to be able to fix a bug and enable users to check to see if it's fixed [19:04] and we plan to do this by offering the latest builds of things [19:05] it can be annoying when a developer tells you "try it with this patch, let me know if it works!" [19:05] with daily builds we can now easily test that software [19:05] and enable the upstream developer to get those fixes out to their users [19:05] which is what it's all about [19:05] however, there can be badness too, it's not all cupcakes and unicorns [19:06] if you commit broken code, it shows up in the daily build [19:06] since dailies are automated, if you break your code, this can break the software [19:06] some well run projects use things like distributed version control and unit testing to make sure that trunk always builds [19:06] this is a Good Thing(tm) [19:07] also, if your project is starting out and you're not ready for feedback then dailies can be a waste for you while you make major changes [19:07] or if you rewrite entire chunks and don't have a good way for users to move back and forth between versions [19:07] and lastly, the world is full of people who love crack, and might use daily builds for day-to-day usage instead of testing [19:08] so you might get some bad feedback from people complaining that the software is broken half the time [19:08] but whatever. :D [19:08] ok so now that's daily builds [19:08] now Daniel is going to show you how they work. [19:08] and with a PPA it's incredibly easy to get users to test software, if they're interested in that particular package, it's just a "sudo add-apt-repository …" away (or well they use the GUI option :-)), so for an upstream or somebody who "adopted an upstream" it couldn't be easier to get willing testers :) [19:09] I wanted to add a note on "warning users", etc. because I think it's very important that you as an upstream or you as somebody who wants to test a particular piece of software tell people very carefully what's going to happen :) [19:10] in https://help.launchpad.net/Packaging/SourceBuilds/KnowledgeBase we have a bunch of good information on how to tell people what's happening, which cases it makes sense to have daily builds etc [19:10] https://help.launchpad.net/Packaging/SourceBuilds/GoingBack for example explains in a visual way how to "go back to an old version" [19:10] are there any questions up until now? [19:11] alright, seems what Jorge and I said made at least a bit of sense :-) [19:11] first of all: this feature is BETA and we have already found a few bugs that still need to be ironed out [19:11] https://help.launchpad.net/Packaging/SourceBuilds/KnownLimitations is what's on our list right now [19:11] ok, so how does this work [19:12] first of all: all the code needs to be in launchpad [19:12] so if you're interested in some project that is hosted somewhere in a cvs repository somewhere, you need to import it into launchpad [19:12] luckily, that's very easy [19:12] we have links in the knowledge base about how to do exactly that [19:12] (... we also support svn and git imports) [19:13] yes, that's all explained in there :) [19:13] ah, we have the first few questions [19:13] QUESTION: Are daily builds targeted for every supported release ? [19:13] joaopinto: you can target them to releases as you like it [19:13] QUESTION: Whats a PPA? [19:13] simar_mohaar: it's a Personal Package Archive [19:14] in addition to the ubuntu archive people or teams can set up their own archives in Launchpad [19:14] https://help.launchpad.net/PPA has more detail about this [19:14] it's the best thing since sliced bread [19:14] ok, now that we have the code in Launchpad, what's next [19:14] there's the "recipe" [19:15] this gets a little bit more complicated, so hold tight and relax - we'll get to the actual builds in a bit :) [19:15] a recipe is instructions how launchpad is going to assemble the source package on its own [19:15] (from which source branch, how does the version numbering work, etc.) [19:16] it's crucial that you write up that recipe (we have a few nice examples) and TEST it locally [19:16] and when I mean test [19:16] I mean [19:16] _____ _____ ____ _____ _ [19:16] |_ _| ____/ ___|_ _| | [19:16] | | | _| \___ \ | | | | [19:16] | | | |___ ___) || | |_| [19:16] |_| |_____|____/ |_| (_) [19:16] [19:16] luckily we have tools for that and we'll cover that in a bit [19:17] ok so let's start with a simple recipe [19:17] # bzr-builder format 0.2 deb-version {debupstream}+{revno} [19:17] lp:gtg [19:17] nest packaging lp:~gtg/gtg/debian debian [19:17] 3 lines! [19:17] let's go over each [19:17] the first one defines the recipe [19:17] the 0.2 is the version you want the package to be [19:17] I usually derive this from the upstream version [19:18] (remember that you need the version numbers to be close to what upstream is [19:18] actually, wait [19:18] I totally messed that up [19:18] let's start with line 1 again [19:18] "bzt-builder format" is needed to start the recipe [19:19] 0.2 is the version of the recipe formate [19:19] so for those you can just leave those the same [19:19] deb-version describes what the resulting package in the PPA will have as version number [19:20] you need to be a bit careful there [19:20] {debupstream} will be replaced with the version number in the packaging (debian/changelog - more on that in a sec) [19:20] {revno} is the revision number of the upstream branch [19:21] the second line is easy [19:21] it's where in launchpad the upstream source is [19:21] so in this example, since gtg is hosted in launchpad, we can use lp:gtg [19:21] for imports it might be more comples [19:21] complex I mean [19:21] then the last line is where the packaging is [19:22] so we're basically telling launchpad "grab the code from lp:gtg, and nest the packaging from lp:~gtg/gtg/debian which is a debian directory, and spit it out." [19:22] so in this case we have the following case [19:22] lp:gtg contains no packaging at all [19:23] it's just the upstream source [19:23] usually if you get the source of a source package, you can see a debian/ directory in there which contains all the packaging information [19:23] so on its own lp:gtg would not build [19:24] so what we do here is: check out a branch that contains the current packaging and stick it in to a debian/ directory in what we checked out as trunk [19:24] the second branch does ONLY contain packaging, nothing else [19:25] so "nest" is the keyword that means "ok, check out this second branch and just put it where I tell you" [19:25] ok, that was case one and what we think is a very common one [19:25] for case two, I'd like to highlight fabrice_sp's question :) [19:25] QUESTION: what if upstream ships a debian directory? [19:26] that case is simple: you just drop the third line, you have a two line recipe then :-D [19:27] and now we have case three which is a bit more complicated - I hope you're a little bit familiar with distributed revision control, so I don't look stupid [19:27] let's recap: case 1) pristine trunk, does not have packaging, so "nest" packaging branch into debian/ dir [19:27] case 2) upstream has packaging already, so you get a simple recipe [19:27] case 3) [19:27] you have two branches you're going to merge [19:28] so for example you have the upstream trunk that does not have any packaging included [19:29] and the other branch was branched off of upstream and you added packaging in there, maybe you just wanted to ship a particular release [19:29] as you can see the third one is a bit more complicated, but as I said we have tools to test and see if it works :-) [19:29] hey wait a minute! [19:29] so let's say I have my upstream [19:29] and the packaging [19:29] but someone out there made bug fixes in a branch [19:30] I want to be able to try those fixes in a build [19:30] so can I merge in branches with fixes from launchpad? [19:30] like say .... [19:30] merge fix-build lp:~bzr/bzr/fix-build [19:30] exactement - that's exactly what you can do now :) [19:30] so we can combine stuff! [19:31] yeah :-) [19:31] so let's check out a more convoluted example [19:31] # bzr-builder format 0.2 deb-version 1.0+{time} [19:31] lp:bzr [19:31] merge fix-build lp:~bzr/bzr/fix-build [19:31] nest pyfoo lp:pyfoo foo [19:31] merge branding lp:~bob/pyfoo/ubuntu-branding [19:31] merge packaging lp:~bzr/bzr/packaging [19:31] wow :) [19:31] I can even specify revisions! [19:31] merge packaging lp:~bzr/bzr/packaging revno:2355 [19:31] whoa, now I see why this is so powerful! :) [19:32] yeah, that takes a bit to understand, but if you do it step by step, it'll all be nice and easy [19:32] as an added bonus you get an email if the fixed branch does not apply any more in trunk :) [19:32] QUESTION: Is there some middle ground official project, technically similar to daily builds but providing stable releases instead ? [19:33] joaopinto: good question: sometimes upstream will have a stable branch, so you could have multiple PPAs: one for beta, one for stable, one for crack of the day, etc. [19:33] in the other cases, you could supply revision numbers, etc. [19:33] this technology is still quite new, but we'll figure out over time how to make the best use of it [19:33] so if we have the packaging, the upstream, and PPAs ... then really it's up to me if I want to publish it daily [19:33] right now we still have to do it carefully [19:33] or just follow stable branches [19:33] jcastro: exactly :) [19:34] ok so before we go off and flood lp [19:34] can you tell me why it's so important to test locally? [19:34] and then show me how? [19:34] sure, will do :) [19:35] there's still a couple of bugs the Soyuz team (which does the building and PPA part of things), the bazaar team (who deals with all the branch goodness) and the launchpad-code team (the folks who work on merge proposals, code import, etc.) and lots of others are working on [19:35] plus, there's currently a bunch of builds in PPAs piled up [19:36] (I hear they're sprinting right now to fix these bugs!) [19:36] so if you know the build is not really important or you don't know it works, it's unfair to others if this hammers launchpad [19:36] you mean I can't just set up 50 of them and then just fire and forget? [19:37] I don't know if there's any limit hardcoded in LP, but we should all bear in mind that it's BETA, that it's a service that other folks use and that we should all take it nice and easy :) [19:37] matttbe37 asked a question about this too [19:37] QUESTION: Hello! Do you know when the version of 'bzr-builder' will be updated in launchpad? => because it seems there is a bug with the current version (Bug #604837) and also because I need the new {date} variable :) ? [19:38] matttbe37: honestly I don't know right now, but I'll make sure to get some feedback on it and make sure that it's addressed somehow [19:38] alright [19:38] let's get to testing it [19:38] this is not a demo or packaging session, so we'll just give you the quick instructions here and you can go and try this out later on [19:39] basically you write your recipe based on the instructions [19:39] then you save it locally [19:39] then install bzr-builder [19:39] https://launchpad.net/builders has build stats (and yes there are more resources coming) [19:39] and then you just run "bzr dailydeb package.recipe working-dir" [19:39] which will try out just what launchpad is going to do for you [19:40] (it'll get the branches you specified and assemble the source package for you) [19:40] (this way you can also build the packages locally and make sure they work before asking launchpad to do it for you) [19:40] there's one particular big guy in the launchpad team (bigjools) who'll be unhappy if you don't try this out first [19:40] so don't say I didn't warn you :) [19:40] then you can use pbuilder to test build the package locally [19:41] and that's a good exercise as well :) [19:41] and it's easy to do [19:41] sudo apt-get install pbuilder [19:41] add COMPONENTS="main universe multiverse restricted" to ~/.pbuilderrc [19:41] sudo pbuilder create; sudo pbuilder build /_.dsc [19:41] done [19:42] If the build succeeds, you can test-install the resulting package from /var/cache/pbuilder/result/. [19:42] but that means that you need to have the packaging sorted out before, the tools won't "make that happen for you" [19:42] on the plus side we have good info on how to get that done :) [19:42] in the knowledge base [19:42] QUESTION: Do daily builds, PPAs, and official archives share the same infrastructure resources ? [19:42] joaopinto: yes, it's all the same infrastructure, but build machines are assigned specific tasks [19:43] and some builds have a higher priority than others [19:43] ok so one last example [19:43] (this is the OOOOH moment. [19:44] so, in case you didn't know, some teams in ubuntu are already putting their packaging in bzr [19:44] and eventually the entire distro will be in there [19:44] so if we know where upstream is [19:44] and where the packaging is ... [19:44] we /should/ be able to make dailies out of almost anything! [19:44] so ... I tried this: [19:44] https://code.edge.launchpad.net/~jorge/+recipe/shotwell-daily [19:45] (note the +recipe in the url, this is how we'll keep track of the recipes) [19:45] shotwell is a photo editor [19:45] I knew where upstream SVN is [19:45] so I imported it into launchpad [19:45] and I knew the ubuntu desktop team kept the packaging in bzr. So I tried to mush it together. [19:46] and this is also where you see the "not finished" bits yet [19:46] right now we don't have an easy way to do this, but it's a goal [19:46] but from looking at that page you can get an idea of where we're going with this [19:46] and yes, we're going to need more hardware. :) [19:46] are there any more questions up until now? [19:47] also, some tips here [19:47] first off, we can't work in a vaccum, so while it may be fun to set up 50 dialy builds for your favorite project [19:47] remember that they're not as useful if the upstream projects themselves don't know about it [19:47] or know how to deal with it [19:48] imagine if you were a developer and someone on the internet made daily builds available, and your bug tracker started getting alot of traffic [19:48] and you weren't ready for it! [19:48] so I encourage you not to just set these up, but work with app developers [19:49] so that they can use these tools to make better releases and better software [19:49] yeah, good thinking, plan with upstream [19:49] more questions? [19:49] talk to them, and go adopt-an-upstream [19:49] yes, I personally plan on perfecting a few recipes locally [19:49] and then mailing someone upstream [19:49] (more info on that on Friday 16th, 18 UTC, same place :-D) [19:49] and then have them set up their own based on my initial work, so that they can use them as they see fit [19:50] There are are 10 minutes remaining in the current session. [19:50] more questions? or anything else you're wondering about? [19:50] and of course, if you know projects interested in dailies, please let me know! [19:51] I'm looking forward to seeing all the recipes people come up with [19:52] yeah, me too [19:52] we're working on listing some dailies here: https://wiki.ubuntu.com/DailyBuilds/AvailableDailyBuilds [19:52] Since right now launchpad doesn't have a way of just showing them all at once [19:52] maybe you have some suggestions or crazy ideas what you want to do with daily builds? [19:53] and please: if you find bugs, file them, talk to the people in #launchpad about them, so we can iron all of them out [19:53] oh, I forgot to mention [19:53] this isn't just for desktop stuff [19:53] chuck short has been offering dailies of mysql, puppet, and a ton of other server stuff [19:53] QUESTION: Ah, there's a good question - if you find a bug in a daily, do you file it in the normal way? [19:53] this is great for testing the entire platform you deploy on! [19:54] penguin42: I think you can start with the launchpad-code project, but if bzr gives you an error message, or bzr-builder acts up, file the bug there [19:54] if you're unsure, talk to the folks in #launchpad [19:55] sorry, one thing we missed: you need to be part of the ubuntu beta testers team [19:55] it's currently only available on edge [19:55] https://edge.launchpad.net/~launchpad-beta-testers [19:55] join that team if you want to test this feature! [19:55] dholbach: I meant a bug in a particular daily built package, not in the daily-build mechanism [19:55] There are are 5 minutes remaining in the current session. [19:55] sorry I misunderstood penguin42's question [19:55] in that case it makes sense to file the bug upstream and let them know about it [19:56] this is why it's important to talk to them [19:56] apport for example will tell you that it's not an ubuntu package, but something else [19:56] they might say "yeah, I know that's broken, don't file bugs" [19:56] or they might appreciate a bunch of testing [19:56] if you give out daily build packages to users, let them know what to do with bugs they found, give them detailed instructions [19:56] if you haven't, bookmark https://help.launchpad.net/Packaging/SourceBuilds/GettingStarted :-) [19:57] jcastro: I'm done - what about you? [19:57] awesome, thanks for the tour daniel [19:57] I am looking forward to seeing how app developers use this! [19:57] thanks jcastro - these daily builds ROCK and will make life a lot more fun :) [19:57] I think it'll go a long ways to getting fixes out to people much quicker! [19:57] thanks everyone for participating! [19:57] who is next? [19:57] you have 3 minutes break until tedg talks to you about indicators :) [19:57] thanks a lot everybody [19:58] app indicators are great [19:58] * dholbach hugs you all [19:58] did you know that the KDE folks kicked it off with KStatusNotifierItem? [19:58] (it's the reason app indicators are so wonderfully crossdesktop) [19:59] jcastro, Hey, you stealing my material? ;) === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Making Your Application Shine With Application Indicators - Instructor: tedg [20:01] I'm not sure if I'm comfortable being an "Instructor" (sounds so official), but hello everyone! [20:01] So this session is about Application Indicators. [20:02] For those who aren't familiar with them they're basically the small custom menus that are put in the panel by applications. [20:02] These provide extra functionality that is persistent. Things like your music player, where you'll keep it running, but not want the full window all the time. [20:03] While we'd all love to have 40" screens, that's rarely practical, so we allow an easy way to do minimized status. [20:03] That doesn't mean that every application under the sun should have an application indicator. [20:03] For most it really doesn't make any sense what so ever. [20:04] It's rare that you'd want continuous status on your word processor for instance. [20:04] mpt has written up some practical guidelines on what should and shouldn't be an application indicator. [20:05] https://wiki.ubuntu.com/CustomStatusMenuDesignGuidelines [20:05] That page goes into a lot more, but it starts off talking about how to think about the application indicators. [20:05] Our long term goal with Application Indicators is to replace the Notification Area. [20:06] Which, has become a usability ghetto. Everything behaves differently, which makes them difficult to use overall. Sure you can learn them, but really you shouldn't have to. [20:06] For a discussion on the notification area and application indicators there a good post on the Canonical Design Blog. [20:06] http://design.canonical.com/2010/04/notification-area/ [20:07] So to get to more predictability on how the icons behave, we took an opinionated tact to say that all of them are menus. [20:07] This provides some limitations, but it also can be a very flexible interfaces for providing rich functionality to users. [20:09] I just realized I wasn't in the chat room. [20:09] Sorry about that. [20:09] If people have posted questions please repost them. [20:09] Okay, back on track :) [20:10] So, how does all of this work? [20:10] The basis is the KDE Status Notifier Item specification. [20:10] http://www.notmart.org/misc/statusnotifieritem/index.html [20:11] KSNI provides an interface for status notifier items that is independent of how they can be displayed. [20:11] While we have a particular ideas on how that display should work, KNSI doesn't provide anything on that. [20:12] So it is possible to link KSNI supporting applications in a variety of displays, but we're not currently using any of those. [20:12] There are some available on KDE for Plasma. [20:12] On top of that we added the ability to export a menu across dbus. [20:12] That is implemented using the Dbusmenu protocol and librarly. [20:12] If you're interested in dbusmenu you can start on Launchpad at http://launchpad.net/dbusmenu [20:13] For the most part, application developers don't need to know anything about either of these protocols because they're hidden behind libappindicator which provides a pretty simple interface to both. [20:14] That interface is the AppIndicator object who's C Language documentation is available here: http://people.canonical.com/~ted/libappindicator/current/AppIndicator.html [20:15] Muscovy, Working windicators are on the todo list, but with the shorted development time in the Maverick cycle they probably won't make the Feature Freeze cutoff. [20:16] So if you're wanting to implement Application indicators there are a few guides available. [20:16] There is the reference documentation above, but you probably want one of the guides. [20:16] https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators#Porting%20Guide%20for%20Applications [20:16] The Wiki goes through examples in a variety of languages. [20:17] There are Mono, Python and Vala bindings in Maverick. Including GObject Introspection support. [20:17] So I haven't heard of anyone doing it, but Javascript should work too :) [20:18] matttbe, I believe that we are using the same address as KSNI names, so KDE applications do work with the application indicators. [20:18] matttbe, We do register with dbus for two names, one for dbus activations purposes and the other to connect with the KSNI protocol. [20:19] On the topic of application work, I want to again mention the design guidelines. [20:19] https://wiki.ubuntu.com/CustomStatusMenuDesignGuidelines [20:19] The reason being is that many times an Application Indicator isn't what you need. [20:19] We don't want to end up in a situation where people need a 40" screen just to show all the app indicators! [20:20] It's also important to not that the category indicators like the Messaging Menu and/or the Sound Menu might be a better solution for your particular application. [20:21] matttbe, I'm not sure about Cairo Dock in particular, but if the address has changed we'd change too. We're not intentionally using a different name. I haven't switched to Maverick yet *blush* :) [20:22] So I wanted to talk a little about an issue that comes up a lot and that's falling back to the notification area. [20:23] Of course the default Ubuntu/UNE desktop isn't what everyone on the planet uses (we're working on it, not there yet :) ) [20:23] So it's important that we can fallback to using something compatible in the end. [20:23] So libappindicator by default provides a fallback to a GtkStatusIcon that behaves very similar to the Application Indicators. [20:24] Some people don't necessarily want to make the same opinionated choices on the design when they're falling back. [20:24] Which is fine, but we don't take in enough information to do anything else. [20:25] So what we instead provide is a way to change how the fallback is handled via subclassing. [20:25] There is two virtual functions fallback and unfallback that can be used to handle the fallback differently. [20:25] This could include anything you possibly want, it's just a function call. [20:25] If you'd like to see an example of that there is a fallback test included in the test suite of libappindicator. [20:26] http://bazaar.launchpad.net/~indicator-applet-developers/indicator-application/trunk/annotate/head:/tests/test-libappindicator-fallback-item.c [20:26] For those who aren't C/GObject programmers there is a lot there that you dont' need to understand. [20:26] You're probably just most interested in the two functions. [20:26] In this case it marks the test as passed/failed based on the calls to the fallback/unfallback functions. [20:27] So, if you're using those functions, you know that they're tested as the test suite uses this feature as well :) [20:27] There is also a signal when a fallback occurs. [20:27] I don't think that this is as useful for implementing a fallback, but it could be used in other parts of your code. [20:28] That signal is "connection-changed" which will give you a boolean on the status. [20:29] Again, I don't really recommend that route for fallback, but you *could* do it if you wanted :) [20:30] When jcastro was asking me about doing this session he said "talk about what's new". I want to stress, there is nothing new -- we're polishing at this point. [20:30] But that does introduce some change, but there shouldn't be any API breakage, just extensions. [20:31] One of the things that we're planning on supporting is KNSI's support for mouse scroll wheels. [20:31] We'll be adding signals to the object for the scroll event. [20:31] And then when the mouse is over your icon users can have a "power user" function with the scroll wheel. [20:32] The important thing to realize is that this isn't something most folks will find on their own, so don't make that a critical feature of the app. [20:32] Try to keep it something that your advanced users can use as they become more comfortable with it. [20:33] We're also working on adding label into the interface. [20:33] The reason for this is that some applications need custom icons with some text on this. [20:33] them [20:33] Things like the temperature or the batter percentage. [20:33] battery [20:33] (typing too much) [20:34] There is no reasonable way for them to really make these icons as they don't know the theme that the panel is rendering with. [20:34] So if they make an icon that has black text, they could end up on a dark panel and be unreadable. [20:34] You can see this today with the keyboard selector in gnome-settings-daemon. [20:35] We hope to fix that by rendering the test panel side. [20:36] jacob, That is basically the icon policy that GNOME and Ubuntu would like to get to. Unfortunately we're not close to that overall. [20:36] jacob, So hopefully all applications, even with icons on, will end up with something similar. [20:37] matttbe, We try to release version every week for Maverick on Thursdays. [20:37] matttbe, Those in general are pretty stable as we use a Continuous Integration server to make sure they all pass the test suite on every commit. [20:37] matttbe, But, I'm sure there's bugs -- it's software :) [20:38] Back to talking about new things we want to provide a way for applications to control some of their ordering, and also allowing users to override this. [20:39] The idea being that if you have two applications, say Getting Things GNOME! and Hamster, you probably want those two next to each other. [20:39] It makes a lot of sense. [20:40] For the first pass we'll probably just provide the mechanisms without any UI or real configurability, but we want to grow that in the future. [20:40] As currently the order is dependent on the users system, so even from Ubuntu machine to Ubuntu machine they could be different. [20:40] This increases "support costs" as if someone calls you on the phone you get to describe the icon instead of saying the "third one" [20:42] Last up we want to provide a way to associate the AppIndicator item with the desktop file. [20:42] So we're working with the KDE folks to come up with a key in the desktop file to hold the AppIndicator IDs. [20:42] This will give us a static way to determine which applications we can expect application indicators from. [20:43] We hope to use this to provide better user experiences in the future. [20:43] I think the Unity guys might try to get things into Maverick, but I doubt we'll use it for anything in Desktop for Maverick. [20:43] Okay, so that's all the material that I wanted to go through. [20:44] Is there any other questions? [20:45] sao, I believe that the Weather Indicator is being written in Vala. jcastro do you have a link? [20:46] jacob, There is currently an applet that you can install called "indicator-applet-complete" that brings all the indicators into a single menu bar. I doubt that we'll use that by default in Maverick, but that's the call of the Ubuntu Desktop Team. The main issue being that the clock indicator doesn't provide all the functionality of the GNOME Applet yet. [20:46] jacob, Though, personally, I've switched as I think the tradeoff is worth it. [20:48] Okay, thanks everyone for attending. [20:48] I'm usually in #ayatana or #ubuntu-desktop if you have further questions. [20:48] Or you can join the Ayatana mailing list at http://launchpad.net/ayatana [20:48] Sorry, that should have been http://launchpad.net/~ayatana [20:49] One is the projects, the "~" is the mailing list. [20:50] There are are 10 minutes remaining in the current session. [20:55] There are are 5 minutes remaining in the current session. === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Kernel Triage - Instructor: JFo [21:01] Hi folks, I'm JFo (Jeremy Foshee) and I am the Kernel Bug Triager [21:01] Today we are going to discuss a bit about triaging kernel package bugs. [21:02] this class is going to be something of a follow along for the chat from Saturday's Ubuntu User days [21:02] logs can be found here for that talk: https://wiki.ubuntu.com/UserDays/07102010/What%20is%20a%20kernel,%20and%20why%20do%20i%20need%20it [21:02] so several of the things I'd like to cover are: [21:02] 1) duplicate bugs and the Ubuntu Kernel [21:03] 2) The subsystem tagging of kernel bugs [21:03] 3) triage statuses and the kernel bugs [21:03] and 4) The Kernel Triage Summit [21:03] please feel free to ask questions as you see fit by prefacing them with QUESTION: [21:03] those of you using Lernid will not need to enter that [21:04] ok, duplicates :) [21:04] For those of you who may not be aware, the Ubuntu kernel team have decided not to continue using duplicates in the current way [21:05] this means that, where you would normally have marked bugs that were on the same laptop model, we'd now ask that you do not [21:05] this is due to several things, most notably, the fact that not all of the same laptop models carry the exact same chipsets [21:06] in some cases bus chips and minor board processors could be from different manufacturers etc. [21:06] we have found that minor differences such as these cause us issues when solving bugs [21:06] as we have many cases where a fix for one user did not solve other affected users [21:07] it was decided that we prefer for anyone affected by a bug to file a ticket for their own issue. [21:07] as such we have asked the launchpad team to provide us a way to turn off the ability to mark duplicates [21:08] and we are working on ways to preclude apport from recommending apparently related tickets [21:09] while this will add a heavy load to myself and the team, we feel it is imperative that we are able to work seemingly related issues differently [21:09] this will also allow us to get a better picture of who is affected by a bug and in what way [21:09] any questions on the change to the policy on dupes? [21:10] ok, moving on to item 2 :-) [21:10] subsystem tagging [21:10] penguin42 asked: OK, so what do you do when you think you have 50 related bugs - do you hae some common bug to attach them all to? [21:10] penguin42, no, in that case we would take a look at all of the bugs to identify underlying similarities [21:11] we'd then try to fix the underlying problem versus trying to fix symptoms [21:11] this would allow us to narrow our work to address the issue in a better manner. [21:12] It is also important to note that it is not the primary goal of the team to solve issues upstream [21:12] but this has the added benefit of helping us identify what upstream bugs could be related to a particular group of issues [21:12] simar asked: Regarding your duplicate policy, if we have duplicate bugs still the developers can have bugs grouped so they can work on like workable bugs in one go? [21:13] simar, we'd prefer not to use the duplicate feature in that way [21:13] in a perfect world, we could identify which bugs are actually duplicates and mark them such, but that takes a lot of overhead [21:14] in my perfect world, each of our bugs has an upstream bug watch :-) [21:14] and we would use those to identify related bugs [21:14] now, let me get back to subsystem tagging :) [21:15] https://wiki.ubuntu.com/Kernel/Tagging is the exhaustive listing of tags currently used by the team [21:15] there are tags listed from Bugs/Tags/ that have been used for some time [21:15] and you will also see that there are subsystem specific tags [21:16] this is an effort for us to break down kernel bugs in to a few subsystem categories [21:16] this will allow us to triage specific sections that triagers have knowledge in [21:16] while also enhancing our documentation of those subsystems [21:17] this will have the added benefit of helping those individuals interested in a particular subsystem to focus their energy and move their knowledge forward as they learn more about the kernel [21:18] i hope for this to empower community members to learn more about the bugs they file too [21:19] Please keep in mind that we are currently refining our wiki documentation, so these links I am giving you are probably going to change in the near future [21:19] the content on them, that is [21:19] any questions on the subsystem tags? [21:20] ok, we will move on to statuses in that case. [21:20] most of you are familiar with the bug status, "NEW", "INCOMPLETE", etc. [21:21] what you may not be aware of, is how I use those to process kernel bugs programmatically [21:22] given that at any particular time we currently have over 6000 bugs open against the kernel, it is not realy possible for me to provide a focused answer to each. [21:22] this is where the arsenal scripts i use come in handy [21:22] and also, in some cases, cause me headaches ;-) === ext2 is now known as ext3 [21:23] the scripts are meant as a method to keep information current in bugs as to testing based on updates we pull in from upstream stable and Debian [21:23] as well as determining what information is missing from a bug and requesting that [21:24] some people get annoyed with me for sending them an automated response, and I'd prefer not to have to, but this is just not possible. [21:25] i am working on a definitive page identifying the benefits of using the scripts, but i have not yet made it available [21:25] I hope to do so and link to it from the automated response as soon as next week. [21:25] this page should also provide some further information on the scripts themselves and what they do [21:26] any questions on the statuses? [21:27] charlie-tca asked: should we as triagers be using triaged, or leave that one for you to set? [21:28] charlie-tca, I am perfectly happy for you to set bugs to triaged [21:28] the only thing i want for them is that they have all the logs, have checked upstream kernels and latest development [21:28] :) [21:29] my goal is for most of the bugs to be in a triaged state so that they can be pinged when there are relevant updates to the kernel that may affect the specific issues encountered. [21:29] ok, Kernel triage summit [21:30] This will be like an ubuntu user day session in the -classroom channel here [21:30] but it will be geared toward the subsystems, and providing those of you interested with a deeper understanding of what information is helpful for what subsystems [21:31] my goal is to provide a bit of professional development for those of you interested in a specific piece of the kernel [21:31] we will have sessions much like these on bugs in graphics, sound etc. [21:32] and there will be representatives from the kernel team, and hopefully some upstreams so that there will be greater coverage for Q&A [21:32] one of the main focuses of this summit will be knowledge and documentation [21:33] I want the interested parties to broaden their understanding, while at the same time fleshing out or subsystem wiki pages. [21:33] This will most likely be held at the end of August or the first part of September [21:33] any questions on that? :) [21:34] ok, I'm going to add a point that I missed earlier [21:34] the Live ISO testing images === ext2 is now known as ext3 [21:34] It has been my goal for a while now to provide a testing ISO based off of the daily LiveISO image [21:35] this ISO will boot straight into the desktop as the ubuntu user [21:35] and will provide a series of tests against the most common kernel issues we see [21:36] it will enable LoCo teams to do localized testing of the machines available at meetings and Global days [21:36] while at the same time providing the ubuntu kernel team with much needed information on failures [21:36] my goal, thanks in very large part to the efforts of bjf [21:37] is to have these building daily by the end of next week so that we can test them out and start making them available [21:37] whether or not that happens... we shall see :-) [21:37] any questions on the Triage Summit? [21:37] or the Live ISO testing images [21:38] I'll take that to mean I have covered these topics thoroughly :-D [21:39] simar asked: good work for Live ISO testing images. Great Idea. will this be available on internet. [21:39] they will be available via the kernel PPA [21:39] I will also have a wiki page describing them and how to create and submit tests for inclusion in the test suite [21:40] there will also be a description of the current tests that are available [21:40] simar asked: we will be really happy to test !!! [21:40] charlie-tca asked: they will include a daily kernel ? [21:40] simar, :-) [21:41] charlie-tca, they will have what is available to the Live ISO, so it will be the most current development kernel [21:41] along with all other available development packages, with the notable exception of Open Office [21:41] and a few others [21:42] this is mainly to allow us to add the testing stuff and not go over our space allowance [21:42] a brief idea of the tests we have currently are: suspend/resume [21:42] video modesetting [21:42] sound [21:43] recording [21:43] among others [21:43] all things that are built on the kernel or have kernelspace items [21:43] any other things you want to talk about? [21:44] ok, well, thanks for listening and asking questions. It is a lot of information to parse :) [21:44] penguin42 asked: Which X version is on those disks? Latest for the distro or an edgers? [21:45] penguin42, it will be whatever is rolled for the daily ISO [21:45] I couldn't say for sure [21:45] I'll hang around until the end of the session if you have further questions. [21:45] after this, i am always available in the #ubuntu-kernel channel along with the rest of the team [21:46] thanks everyone :-) [21:50] I should also mention, the Triage Summit idea came from sconklin :) [21:50] There are are 10 minutes remaining in the current session. [21:55] Thanks folks! I really appreciate all of your questions! :-) [21:55] see you next time. [21:55] There are are 5 minutes remaining in the current session. === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi === pgraner is now known as pgraner-afk === bauerj is now known as bauerj|away === dave is now known as Guest98544 === Guest98544 is now known as arbleow