=== ssweeny_ is now known as ssweeny
=== txwikinger is now known as txwikinger_work
=== txwikinger_work is now known as txwikinger
=== txwikinger is now known as txwikinger3
=== txwikinger3 is now known as txwikinger_work
=== txwikinger_work is now known as txwikinger
udssr_shortydate -u06:38
=== Gonzofox_ is now known as Gonzofox
=== croppa_ is now known as croppa
=== bluesmoke_ is now known as bluesmoke
=== asac_ is now known as asac
JohaneHello everybody10:45
somaunnhello johane10:46
MarkoKaaHi guys10:47
JohaneYou are Ubuntu developers?10:47
somaunnjohane: No10:50
somaunnJohane: just someone who's trying to be more integrated in ubuntu & linux life cycle10:50
JohaneGood job and keep up the good work10:51
JohaneI'm using ubuntu too10:51
JohaneI'm helping myself with bits and tights10:52
somaunnjohane: good thing, i encourage you10:54
JohaneI'm also learning programing10:56
somaunnjohane: programming ? good thing to do with linux10:57
=== KennethP_ is now known as KennethP
somaunnjohane: i'm watching a video concerning notifications in jaunty (Ubuntu 9.04)10:58
somaunnjohane: telling you that thing is crazy10:58
somaunnjohane: i mean hot and different than what i've seen in linux before10:59
JohaneCan you give me the link?10:59
somaunnjohane: http://www.markshuttleworth.com/wp-content/uploads/2008/12/jaunty904_notifications_example1_web_092.swf11:01
JohaneHoly got :Looks very nice11:03
kentcMore info on notifications: http://www.markshuttleworth.com/archives/25311:03
JohaneY can't wait for it tobe released11:03
JohaneVista and WinShit 7 are babies next to the upcomming Ubuntu11:05
somaunnjohane: :D right11:07
somaunnif someone have links containing the same video please don't hesitate11:08
somaunnto send it11:08
Johanesomaunn:Where you from?11:11
somaunnjohane: from congo, but actually in south africa11:12
Johanesomaun: Is it hot there?11:12
somaunnjohane: yeah, i mean sometimes11:14
somaunnjohane: but it's a nice place11:14
JohaneWhere i live i have only 5*C maximin11:15
JohaneIs winter here in Romania11:16
JohaneYou heard of Romania?11:16
somaunnjohane: yeah11:21
somaunnjohane: was there long time ago for studies11:22
JohaneWow-Can you remember the city?11:26
JohaneAnd what studies you made there?11:29
somaunnjohane: it wasn't me, but my father11:33
somaunnjohane: and he was in sovata if remenber11:33
Neithan__hola, hay alguien por aqui?12:46
munkhuhi all!13:24
=== ursula_ is now known as Ursinha
=== jyeager is now known as duanedesign
=== Obama is now known as Guest2079
somaunnhello guys ...14:10
somaunnget a question right here14:12
somaunncan someone help me ?14:12
jribsomaunn: #ubuntu for help with ubuntu14:13
=== sdx24 is now known as sdx23
fondjohow are you doing today?15:31
Archey seb12815:54
seb128hi Arc15:54
Ape3000Hi everyone15:54
dholbachHELLO EVERYBODY!15:55
Arcmorning dholbach!15:55
dholbach... also known as the Week of Awesome!15:55
dholbachHow are you all doing?15:55
dholbachWho's excited for another day of UDW?15:55
Arcgroggy with green tea in hand :-P15:55
Ape3000Me, me15:55
Arcbut ready :-)15:56
DasEi /brewing a coffe15:56
dholbachwho else? don't be shy :)15:56
dholbachOk... there's a bunch of names I spotted in here that look familiar, for everybody who's new:15:56
cool2kMe, yeah!!!!!15:56
dholbachplease... don't be shy! If you have questions, please ask!15:57
dholbachbut please.... ask in #ubuntu-classroom-chat and prefix them with QUESTION:15:57
* directhex is excited for day 4. day 4 is more awesome15:57
dholbachie: QUESTION: seb128: are you really German?15:57
seb128and I'm not from Alsace15:57
* dholbach hugs seb12815:57
* seb128 hugs dholbach15:57
* dholbach hugs seb128 back15:57
dholbachwe still have 3 minutes left until seb128 takes over, so grab a coffee, tea or any other drink and enjoy it15:58
dholbachSebastien Bacher will talk about a topic he's very familiar with: Pushing out GNOME releases to millions of users15:58
dholbachROCK ON! :)15:58
Ape3000Still 30 seconds..15:59
DasEino join in #ubuntu-classroom-chat  ??15:59
seb128ok, good ;-)16:01
seb128good morning, afternoon, evening to everybody!16:01
seb128I'll do a presentation of what the ubuntu desktop team is doing first16:02
seb128and then we can do questions-answers16:02
seb128The Ubuntu Desktop Team is the team working on most of the Ubuntu GNOME desktop applications.16:02
seb128The team is a mix of people working full time for canonical and rocking contributors16:03
seb128we have some contributors around I see ;-)16:03
seb128hey crevette, pochu (and probably others) ;-)16:03
seb128* Where we are16:03
seb128- #ubuntu-desktop on irc.ubuntu.com16:03
seb128- ubuntu-desktop@lists.ubuntu.com16:03
seb128- launchpad: desktop-bugs and ubuntu-desktop teams16:04
seb128* What we do16:04
seb128- work on the desktop packages, the rough list is on https://launchpad.net/~desktop-bugs/+packagebugs16:04
seb128- update the desktop packages when new versions are available16:04
seb128- work on the corresponding bugs lists, triage the bugs and work with upstream to get those resolved16:04
seb128* How we work:16:05
seb128- most of the packages are coming from the debian pkg-gnome team16:05
seb128- we try to keep those packages in sync as much as possible and send their our changes to them16:05
seb128- we do package unstable version earlier and carry ubuntu specific changes though16:05
seb128- the packaging is mostly done using cdbs16:06
seb128- we mostly updates packages when GNOME roll new tarballs and backport upstream fixes16:06
seb128 16:06
seb128* How we do updates:16:06
seb128- we current have somebody looking at the new upstream tarballs and noting what upgrade we need to do in ubuntu16:07
seb128- tasks are usually splitted on IRC (ie, upgrade are assigned to people there)16:07
seb128- people are free to claim tarballs they want to work on16:08
seb128- contributors use bugs on launchpad to get their work reviewed16:08
seb128usually it's easy to get review since the team is quite active16:08
seb128and you often find people to help on IRC16:09
seb128 16:09
seb128the current workflow has some limitation and we will try to improve it16:10
seb128some packages are moving to bzr for the packaging work and we will probably try to standardize that16:10
seb128didrocks started some documentation on the topic and you can find details on the ubuntu desktop wiki: https://wiki.ubuntu.com/DesktopTeam16:10
seb128we also want a system which allow to set a todolist and let people claim work directly there rather than using IRC16:11
seb128some people started to work on a website listing all the versions available in ubuntu, debian and upstream for the team packages16:11
seb128we will probably try to continue this way and have a website which allow people to claim work they are doing16:12
seb128on a technical side upgrades are usually standard version updates16:12
seb128some are easy enough for beginner so if you want to get started that's no issue16:13
seb128some other are tricker (soname changes, change to build system, new binaries added)16:13
seb128the things we usually check for updates16:13
seb128- the configure requirement and if they changed16:13
seb128if they changed the (build-)depends need to be updated to reflect that16:14
seb128- that the update builds and work correctly16:14
seb128- the bugs closed in the upgrade16:14
seb128library are also checked for abi changes (in which case the soname should be updated if the new abi is not compatible, or the shlibs updated if there is new functions but the abi is still compatible)16:15
seb128 16:15
seb128that was it for the summary of what the team is doing on how16:15
seb128we also discuss desktop changes, new components to install by default or not, configuration changes, etc16:15
seb128 16:16
seb128we can do questions and answers now ;-)16:16
DasEican't join #ubuntu-classroom-chat16:16
DasEigood question16:16
pochuQUESTION: Off-topic: Can someone work remotely for Canonical?16:16
pochuDasEi: /msg me and I'll try to help you16:17
seb128pochu: can you write the nickname of whoever asked too maybe?16:17
pochusure, sorry16:17
pochucreek23> QUESTION: Off-topic: Can someone work remotely for Canonical? :-/16:17
seb128creek23: most of the people working on Ubuntu for canonical are working remotely16:17
seb128so yes it's possible16:17
seb128the job offers are on the website and that's specified in the descriptions16:18
seb128 16:18
pochufta> QUESTION: seb128: you said "somebody looking at the new upstream tarballs", d'oh! manually? how often? why somebody and not some script?16:18
seb128fta: GNOME has a mailing list which gets mails about all the tarballs uploaded so that's easy to keep track ... why not a script because nobody wrote one yet ... interested? ;-)16:19
seb128in fact somebody started working on a website listing ubuntu, debian and upstream version as said before16:19
seb128would be good to continue this work16:19
DasEiQUESTION:seb128:  I'm not ready for doing development, but could help translating to german, where to go ?16:19
seb128that would show what is to update16:19
pochuDasEi: please write questions in #ubuntu-classroom-chat16:20
seb128DasEi: questions on #ubuntu-classroom-chat16:20
seb128pochu: NEXT16:20
pochudirecthex> QUESTION: how often does the desktop team reassess which app is used to accomplish a given task (e.g. pidgin vs empathy), and what are the criteria for a change?16:20
ftaseb128, ok (a pointer would be nice). Thanks16:20
seb128fta: there is a discussion about it on the ubuntu-desktop@lists.ubuntu.com started some months ago if you want to check the archives16:21
seb128directhex: good question, that's not a periodic tasks, we do look at suggestions though so that's whenever somebody do one16:21
seb128you can do a suggestion on the mailing list or during the weekly meetings16:21
seb128the team has weekly IRC meeting on #ubuntu-desktop, they are at 16:30utc on tuesday16:22
seb128pochu: NEXT16:22
pochuhggdh> QUESTION: we are based on Debian. But every so often a Debian package is found to be older than a new requirement. What is the procedure?16:22
pochufta: btw, the page is this: http://norsetto.890m.com/desktop_packages.php16:23
seb128hggdh: we try to get work done there so we don't block on Debian16:23
seb128pinging the debian maintainer before starting on an update can be a good idea16:23
seb128usually we don't block on a reply as said though16:23
seb128sending the debdiff back to the debian pts is good practice too16:23
seb128or at least a bug there request for the update and pointing to the ubuntu work16:24
seb128if they do the update and we can sync we lower the ubuntu-debian delta which means less work for everybody16:24
seb128pochu: NEXT16:24
pochuArc> QUESTION: whats the future for the default XMPP client look like?16:24
seb128this cycle is focussed on stabilization since we have quite some users annoying but how much rewrittes or GNOME changes have been breaking in previous cycle so we will not likely change that, it should still be pidgin16:25
seb128we will probably look again at empathy next cycle16:25
seb128pochu: NEXT16:25
pochuDasEi> QUESTION:seb128:  I'm not ready for doing development, but could help translating to german, where to go ?16:25
seb128(urg should read what I type16:26
seb128annoying but how -> annoyed by how16:26
seb128yes, I suggest contacting the german translation team for that though16:26
seb128ubuntu-l10n-de on launchpad, they probably have a mailing list too16:26
seb128translations are made on launchpad or directly upstream, check with your locale team to know the details16:27
seb128pochu: NEXT16:27
pochucreek23> QUESTION: Who makes the Ubuntu theme? Wallpaper? etc?16:27
seb128the ubuntu artwork team16:27
seb128they have their own channel and I don't know how they decide on changes exactly16:27
seb128pochu: NEXT16:28
pochuI think we are running out of questions16:29
pochucreek23> QUESTION: Lots of opening from China, Taiwan? Why no Philippines?16:29
pochu(relating to job offers)16:29
seb128pochu: yeah, replying to those on the other channel ;-)16:30
pochufta> QUESTION: what about daily builds, or builds for each commit (i refer to the last UDS opening from Mark)16:30
fta(i meant "each upstream commit")16:31
seb128fta: that's out of the scope of the current #ubuntu-desktop ressources to do that I think but it's possible that some other team is wanting to put ressources on that, I don't know about it though, that's being discussed for some years but nobody got to do it yet16:31
ftafair enough :)16:31
seb128that would be a good thing, a bit tricky to get right though16:31
pochucreek23> QUESTION: Why is "Windows key" (from the keyboard) not supported as it does in KDE?16:32
seb128creek23: that's a bug, what you expect to do? open the menu? or use it in shortcut16:32
seb128there is a gnome-control-center about it not working in shortcuts16:32
pochupochu> QUESTION: there has been a opening position for a desktop developer in terms of packaging for some time. Did you find anyone yet?16:33
seb128pochu: it would not still be open if we did ;-)16:33
creek23(hmm, so it is a bug.)16:34
seb128we are still interviewing candidates16:34
pochuif you keep it open for a few more time, I may apply :)16:34
seb128we didn't had some many matches for the job until now and some of those who were good decided to take a job somewhere else16:34
pochuArc> QUESTION: is there any specific programming tasks open that would help gnome integration with Ubuntu?16:35
seb128pochu: you have the good profile so feel free to apply when you are done with universtity ;-)16:35
seb128hum, good question16:35
seb128what sort of integration you are looking at exactly?16:35
seb128the next canonical dx team is going to work in those area16:35
seb128otherwise they is a lot of open bugs and request on launchpad16:36
seb128there is no specific list though16:36
pochucreek23> QUESTION: How many exactly are the developers in the Desktop Team?16:37
seb128hum, good question16:37
seb128the ubuntu desktop team has probably around 7-8 regular contributors16:38
seb128and around the same number of people hanging around and doing some work every now and then16:38
creek23whoah! just 8?!?... o_O16:38
seb128so let's 7-8 people doing active work (some of them being full time canonical employees) and double the number if you count people helping on bug triage, etc16:39
seb128bug triage being active work too ;-)16:39
pochupochu> QUESTION: regarding the move to bzr for packaging, one of my reservations is that there will be a branch per package instead of one repository for all the desktop packages (as with pkg-gnome). Do you think this will be an advantage or a drawback?16:39
seb128that's something we already discussed, I don't think that makes a real different16:40
seb128there is some wrappers around to bzr get everything for a team16:40
seb128which would give you a full checkout16:41
seb128and that let you the option to just get and work on one component16:41
pochuah, makes sense16:41
pochucreek23> QUESTION: Ubuntu Netbook Remix out, is there a chance for Ubuntu Mobile Remix with GNOME in it?16:41
seb128I don't know enough about remix to reply to that I think16:41
seb128they do use GNOME applications now?16:41
seb128the purpose of the remix edition is that GNOME doesn't really fit on those screen16:42
seb128you need different interfaces on different devices16:42
creek23oh, I thought GNOME was used in it.16:42
pochuI think they modified some apps (e.g. liferea) for them16:42
seb128ie, the user experience is different on a notebook or tablet than on a desktop16:42
directhexthe netbook remix uses gnome, albeit with some hacks here & there to fill more of the screen. mobile ed is something else16:43
seb128not the same input device, screen space, etc16:43
pochuSUGGESTION: it would attract more programmers to help with Ubuntu desktop if there was a "wishlist" for applets or specific added features, vs mixing them with "bugs"16:43
pochu(not really a question (: )16:43
seb128that's a good remark though16:44
seb128the wiki has a todo and we try to tag some bugs16:44
seb128we could do a better job to make lists, it's not easy to classify by tasks and how easy they are though16:44
pochulooks like there are no more questions16:45
seb128the todolist thing16:45
seb128you can send emails to the list if you have suggestions16:46
seb128or look at specs for the current cycle16:46
seb128those are usually tasks the team is working on16:46
seb128no other question?16:47
seb128let me summarize what we need help on maybe then ;-)16:48
seb128- doing regular desktop updates and package new components16:48
seb128- triage bugs, send those upstream when they are upstream issue and get them resolved16:48
dholbach<creek23> what does he mean by "triage"?16:50
seb128- organize the workflow: documentation, create activity on the mailing list to encourage people to join, switch to bzr, tools to automate verifications done on every updates for example, work on the website to summarize work to get done, etc16:50
seb128ok, so we push software to users, ie you16:50
seb128the users happily update to new version and notice that things stopped working the way they did16:51
seb128or they have request to had a feature16:51
seb128they open bugs on launchpad16:51
seb128our work is to review those bugs to decide on what is important to fix and what can wait16:51
seb128we don't have the resources to work on everything16:51
seb128and lot of those issues are in code ubuntu is not writing16:52
seb128ie if you get a bug in gedit it's likely in the GNOME gedit code and it should be sent to bugzilla.gnome.org so the people who are writting the code know about the issue16:52
pochu(there are a few questions now)16:53
seb128NEXT ;-)16:53
pochuia> QUESTION: if you've heard about gnome-macmenu-panel, then could you tell, please, does gnome or ubuntu-desktop team plan include it "right-in-box", so user right after installation could  select, which type of menu he would like to use - global(one, at top panel, for all windows) or not(traditional usage, when each window has its own menu bar)16:53
seb128no, first time I read about this name16:53
seb128feel free to discuss it on #ubuntu-desktop or mail the ubuntu-desktop mailing list to suggest that we look at it16:54
pochuApe3000> QUESTION: So how can we help in triaging in practice?16:54
seb128dholbach: do you have a pointer on how to start on bug triage? ;-)16:54
dholbach... and https://wiki.ubuntu.com/Bugs/HowToTriage too16:55
pochuperhaps https://wiki.ubuntu.com/Bugs/Triaging16:55
seb128basically pick an application you use and know and look on launchpad to bugs which are not Confirmed or Triaged16:56
seb128ask for details if required, etc16:56
seb128#ubuntu-bugs is a good place to start16:56
seb128pochu: NEXT ;-)16:56
pochuDasEi> QUESTION/idea :though not hard for me to figure out, I think it'll be nice for new users to see the files (and maybe harddrives/dev's) on their desks, as they are used from other16:56
seb128we decided back in warty to have a clean desktop because that's usually where people have the files they use, their background image they like to look at, etc16:57
seb128there is enough way to access those drivers, the computer location, the places menu, etc16:57
seb128I don't think we want to change the default setting but that's just a gconf setting to switch if you want to do that16:57
pochuthat was the last question :)16:58
seb128ok, thanks everybody!16:58
creek23thanks seb!16:58
DasEiseb128: in ibex first even files created on desk didn't show up, is what I meant16:58
pochuthanks seb128!16:58
* creek23 claps! :D16:58
dholbachthanks a lot seb12816:59
dholbachexcellent - I hope you guys are going to help out seb128 in #ubuntu-desktop soon! :)17:00
dholbachso who's here for fixing Ubuntu bugs? who's excited? :-)))17:00
* Flimm waves hand17:00
dholbachwho else? :)17:00
rugby471You told me on Packaging 101 to come and listen here for the answer to my question, so here I am17:00
Arcsorry not at this point :-P17:00
* creek23 is.17:01
dinxteryep, partly excited because i've got a steak though too :)17:01
mnemodholbach: do you know when pitti will run his gdb/crash session btw? the one that didnt happen yesterday?17:01
* charlie-tca waves17:01
* porthose waves17:01
dholbachmnemo: it'll be announced broadly - no worries :)17:01
dholbachok my friends - let's talk about fixing bugs17:01
dholbachit's really not difficult to be part of the revolution, to help out and make Ubuntu better17:02
dholbachespecially with helpful people in #ubuntu-bugs and #ubuntu-motu17:02
dholbachagain let me point you to https://wiki.ubuntu.com/MOTU/GettingStarted as it links to all the important stuff17:02
dholbachthe important skill you need to have or develop is what I like to refer to as 'detective skills'17:03
dholbachit sometimes takes some searching on the web, some reading of docs, some talking to people17:03
dholbachand checking out what happened in the upstream revision control system, etc. to find a fix that's ready already or find a way to develop a simple fix17:04
dholbachbecause that's what it's all about: make Ubuntu better, be part of an awesome team :)17:04
dholbachOK, enough hand-waving - let's get to work and fix a few open bugs :)17:04
dholbachwe have myriads of lists of open bugs, lists with CD building problems, lists of packages that don't build anymore and so on and so forth17:05
dholbacha bunch of them are linked from the MOTU/GettingStarted page17:05
dholbachI put some efforts into agreggating those lists in Harvest17:05
dholbachit's a tool that pulls information about various 'opportunities' from various lists and displays them per package17:06
duanedesigndholbach: how do you" check out what happened in the upstream control system?"17:06
dholbachduanedesign: we'll get to that in a bit in one of the examples17:06
dholbachduanedesign: can you ask the next questions in #ubuntu-classroom-chat prefixed with QUESTION: please? :)17:06
=== KennethP_ is now known as KennethP
dholbachI picked a few easy ones from harvest and hope we'll get through them in time17:06
dholbachlet's start off with empathy17:07
dholbachit displays opportunities from various lists - not very nice, but it does its job - if you want to help out making harvest better, let me know - the code is in Launchpad17:08
dholbachlet's click on the 291533 link17:08
dholbachit'll take us to one of the bugs that is on the "resolved-upstream" list17:08
dholbachwhich means: fixed upstream, broken in Ubuntu17:08
dholbachyou can see the bug is about intrepid, version 2.24.1 all tabs having the same name17:09
dholbachnow let's click on the "gnome-bugs #535042" link17:09
dholbach(if I'm too quick or anything is not clear, let me know in #ubuntu-classroom-chat please)17:09
=== bluesmoke is now known as Amaranth
dholbachso the upstream developer says on 2008-11-24 this is fixed already and that we should check if it really is17:10
dholbachintrepid will still have the same version, but let's check if we have a newer version in jaunty to play with17:10
dholbachclick on the 'overview' link on the launchpad bug, it'll take you to https://launchpad.net/ubuntu/+source/empathy17:11
dholbachjaunty has 2.25.4-1ubuntu117:11
dholbachand if you check ftp://ftp.gnome.org/pub/GNOME/sources/empathy/2.25/ (where new GNOME releases end up at), you'll see that 2.25.4 was released at 06.01.200917:11
dholbachwhich is way after 2008-11-2417:12
dholbachthis means: the bug can theoretically be closed in Ubuntu17:12
dholbachwhat's important now?17:12
dholbach _____ _____ ____ _____ ___ _   _  ____ _17:12
dholbach|_   _| ____/ ___|_   _|_ _| \ | |/ ___| |17:12
dholbach  | | |  _| \___ \ | |  | ||  \| | |  _| |17:12
dholbach  | | | |___ ___) || |  | || |\  | |_| |_|17:12
dholbach  |_| |_____|____/ |_| |___|_| \_|\____(_)17:12
dholbach                                          17:12
dholbachsorry for the bold letters and stuff, I thought I'd point it out clearly :)17:12
dholbachwho here runs jaunty?17:13
* dholbach does17:13
* mnemo too17:13
* fta does too17:13
* charlie-tca too17:13
* seb128 does17:13
* creek23 uses Intrepid :(17:13
dholbachif nobody else does that's fine... here's how you can still SAFELY test jaunty:17:13
dinxterme too17:13
dholbachit will tell you how to make use of virtual machines, separate partitions or whatnot to safely run and test the development release17:14
dholbachso going back to our nice empathy bug17:14
dholbachwe're <-> this close to closing it and having another bug fixed17:14
dholbachwe just need to test it :)17:14
dholbachthis was a very cheesy example, but you see what it took to get to the point of "ah, this should be fixed already"17:15
dholbachjust a bit of digging and checking some other sites17:15
dholbachand that's what it's all about :)17:15
dholbach<creek23> QUESTION: Will VirtualBox run Jaunty on WUBI? o.O17:15
dholbachcreek23: I'm sorry, I'm the wrong person to ask that, I did not use WUBI yet - you could try it :)17:15
dholbachalright... let's move on to the next example ;-)17:16
dholbachgtksourceview is the piece of code that does syntax highlighting in places like gedit and stuff17:16
dholbachlet's click on the 242920 link17:16
dholbachanother one on the list of resolved-upstream bugs17:17
dholbach<benste> Question: Don't you close the bug now?17:17
dholbachbenste: did you test if it was really fixed? :)17:17
dholbachclosing on hearsay does not count :)17:17
benstethought someone else did it here :-)17:17
dholbach _____ _____ ____ _____ ___ _   _  ____ _17:17
dholbach|_   _| ____/ ___|_   _|_ _| \ | |/ ___| |17:17
dholbach  | | |  _| \___ \ | |  | ||  \| | |  _| |17:17
dholbach  | | | |___ ___) || |  | || |\  | |_| |_|17:17
dholbach  |_| |_____|____/ |_| |___|_| \_|\____(_)17:17
dholbach                                          17:17
dholbach<duanedesign> QUESTION: how do you "close" a bug?17:17
dholbachduanedesign: you click on the dropdown thingie next to "empathy" on the launchpad page (in the yellow bar)17:18
dholbachit'll open a menu where you can change the status to "fix released"17:18
dholbachalright, let's crack on with the gtksourceview bug17:18
dholbachagain it's supposed to be fixed upstream, so let's take a look at the upstream bug17:19
dholbach"gnome-bugs #139968"17:19
dholbach<benste> question: fix released on LP only care about the latest development version and eg not about a LTS version?17:19
dholbachbenste: yes17:19
dholbachbenste: else you need to open a bug task for the old version17:19
dholbachhttps://wiki.ubuntu.com/StableReleaseUpdates is the policy for SRUs (stable release updates)17:20
dholbachwhich is only for very important stuff17:20
dholbachOK, seems like a new file was added to allow ASP stuff with gtksourceview (comment 18)17:21
dholbachlet's see what we need to do17:21
dholbachso it was talking about it not working in gedit, let's check in jaunty17:22
dholbachthis is what I get in Jaunty17:22
dholbachdaniel@bert:~$ apt-cache showsrc gedit | grep Depends17:22
dholbachBuild-Depends: cdbs (>= 0.4.41), debhelper (>=, gnome-pkg-tools (>= 0.10), dpkg-dev (>= 1.13.19), python-support (>= 0.3), intltool (>= 0.35.0), gnome-doc-utils (>= 0.3.2), gtk-doc-tools (>= 1.0), libenchant-dev (>= 1.2.0), iso-codes (>= 0.35), libattr1-dev, libsm-dev (>= 2:1.0), libxml2-dev (>= 2.5.0), libglib2.0-dev (>= 2.16.0), libgtk2.0-dev (>= 2.13.0), libgtksourceview2.0-dev (>= 2.2.0), libgconf2-dev, python-dev (>= 2.317:22
dholbach), python-gobject-dev (>= 2.15.4), python-gtk2-dev (>= 2.12.0), python-gtksourceview2 (>= 2.2.0), scrollkeeper, liblaunchpad-integration-dev (>= 0.1.17)17:22
dholbacherm, sorry17:22
dholbachthis is what I meant to do:17:22
dholbachdaniel@bert:~$ apt-cache show gedit | grep ^Depends17:22
dholbachDepends: gconf2 (>= 2.10.1-2), python, python-support (>= 0.7.1), libatk1.0-0 (>= 1.20.0), libattr1 (>= 2.4.41-1), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libenchant1c2a (>= 1.4.2), libgconf2-4 (>= 2.13.5), libglib2.0-0 (>= 2.18.0), libgtk2.0-0 (>= 2.14.0), libgtksourceview2.0-0 (>= 2.3), libice6 (>= 1:1.0.0), liblaunchpad-integration1 (>= 0.1.17), libpango1.0-0 (>= 1.22.0), libsm6, libx11-6, libxml2 (>= 2.6.27), python2.5 (>= 2.5), scro17:22
dholbachllkeeper, gedit-common (>= 2.25), gedit-common (<< 2.26), python-gtksourceview2 (>= 2.2.0), python-gobject (>= 2.15.4), python-gtk2 (>= 2.12.0), iso-codes17:22
dholbachyou can see that gedit links against libgtksourceview2.0-017:23
dholbachand this shows us which package we need to look at:17:23
dholbachdaniel@bert:~$ apt-cache showsrc libgtksourceview2.0-0 | head -n217:23
dholbachPackage: gtksourceview217:23
dholbachBinary: libgtksourceview2.0-0, libgtksourceview2.0-common, libgtksourceview2.0-dev, libgtksourceview2.0-doc17:23
dholbach(just as a side-note: the bug was filed against gtksourceview, but it's actually gtksourceview2 we need to look at!)17:24
dholbachif you're on jaunty, please run17:24
dholbach  apt-get source gtksourceview217:24
dholbachif not, please run17:24
dholbach   sudo apt-get install devscripts; dget -x https://launchpad.net/ubuntu/jaunty/+source/gtksourceview2/2.5.3-0ubuntu1/+files/gtksourceview2_2.5.3-0ubuntu1.dsc17:24
dholbachwith these commands we download the gtksourceview2 package and see if it was fixed already17:25
dholbachonce that's done, please17:25
dholbach  cd gtksourceview2-2.5.317:25
dholbach  find . -name '*asp*'17:25
dholbachon my machine it spits out   ./gtksourceview/language-specs/asp.lang17:26
dholbachso it seems an ASP language definition was added17:26
dholbachwhat do we need to do now? :)17:26
dholbach _____ _____ ____ _____ ___ _   _  ____ _17:26
dholbach|_   _| ____/ ___|_   _|_ _| \ | |/ ___| |17:26
dholbach  | | |  _| \___ \ | |  | ||  \| | |  _| |17:26
dholbach  | | | |___ ___) || |  | || |\  | |_| |_|17:26
dholbach  |_| |_____|____/ |_| |___|_| \_|\____(_)17:26
dholbach                                          17:26
dholbachand we can close the bug :)17:26
dholbachhttps://wiki.ubuntu.com/UbuntuDevelopment/UsingDevelopmentReleases if you don't want to run jaunty on real hardware17:28
dholbachthat was another cheesy example, this time we checked the upstream bug tracker and we downloaded the source package to verify in the code17:28
dholbacheverybody having fun so far? :)17:28
dholbachopen questions?17:28
dholbachguess not, so let's crack on17:29
dholbachplease run this now:17:29
dholbach  sudo apt-get install subversion cdbs devscripts gnome-pkg-tools17:29
dholbachwe're going to need the tools mentioned there17:29
dholbach<Ape3000> QUESTION: Do you recommend installing on virtualbox?17:30
dholbachApe3000: whatever works for you, if it's KVM or virtualbox doesn't matter :)17:30
dholbachthey both work great for me17:30
dholbachalright, let's take a look at http://daniel.holba.ch/harvest/handler.py?pkg=gnome-utils17:30
dholbachand let's click on the 301952 link17:31
=== KennethP_ is now known as KennethP
dholbachit's another bug that was resolved upstream17:31
dholbachthis time we'll get the patch for it and see what we need to do17:31
dholbach<duanedesign> Question: how about closing a bug that turns out was a config problem that the submitter solves in the process of the triage?17:31
dholbachduanedesign: fine to close it, if you give a nice response explaining where the user went wrong17:32
dholbachOK, "gnome-bugs #567834" seems to be the upstream bug that fixed the issue17:32
dholbachlet's see what the upstream guys say17:32
dholbachFabio says it was fixed in the development version, let's check in SVN17:33
dholbachhttp://svn.gnome.org/viewvc/gnome-utils/trunk/ is where you can see what's going on in upstream's subversion repository17:33
dholbachthe first check can always be the ChangeLog file17:33
dholbachso http://svn.gnome.org/viewvc/gnome-utils/trunk/ChangeLog?revision=8374&view=markup17:34
dholbachunfortunately it just says that the last release was pushed out on 2009-01-0917:34
dholbachso let's take a look at http://svn.gnome.org/viewvc/gnome-utils/trunk/baobab/17:34
dholbachwe'll find it has a separate ChangeLog17:34
dholbachThe last entry was on 2009-01-15, from Fabio17:35
dholbachsaying that he fixed the issue we are talking about17:35
dholbachthat means we can't just grab a new release and upgrade the package to it17:35
dholbachwe need to grab the patch17:36
dholbachif you want to use svn to do it (you can do it through the Web UI too), run this17:36
dholbachsvn checkout http://svn.gnome.org/svn/gnome-utils/trunk17:36
dholbachit will download the trunk of gnome-utils17:36
dholbachin the Web UI you can also see that the commit that fixed it was r837817:37
dholbach  cd trunk17:37
dholbach  svn diff -r 8377:837817:37
dholbachit shows the changelog entry and a small fix in baobab/src/baobab.c17:38
dholbachwe're just interested in the fix, we'll document the fix ourselves, so:17:38
dholbach  svn diff -r 8377:8378 baobab/src/ > ~/patch17:38
dholbachnow we have the patch file in ~/patch17:38
dholbach<charlie-tca> QUESTION: Is there something that tells where SVN is for various projects?17:39
dholbachcharlie-tca: google is always a good place to check, or the upstream homepage, some packages have it documented in the source package itself17:39
dholbachif you have a set of packages you're interested you find out very quickly where to check17:39
dholbachunfortunately there's no "big shopping list of upstream revision control systems" yet17:39
dholbachbut we're working on importing lots of upstream RCS data into Launchpad, so we can use just launchpad and bzr everywhere17:40
dholbachwhich is going to be a glorious, golden and sunshiny day17:40
dholbachto get the newest source package of gnome-utils in jaunty (so we can patch it), please run17:40
dholbachin jaunty:17:41
dholbach  apt-get source gnome-utils17:41
dholbachelse, please run17:41
dholbach  dget -x https://launchpad.net/ubuntu/jaunty/+source/gnome-utils/2.25.2-0ubuntu1/+files/gnome-utils_2.25.2-0ubuntu1.dsc17:41
dholbachthe package gnome-utils (as almost all GNOME source packages) makes use of a tool called CDBS (and CDBS patch system) to make the packaging a bit easier17:42
dholbach<rugby471> Question: what is dget?17:42
dholbachrugby471: yes, it uses wget (or curl) to download not only the .dsc file, but also the .diff.gz and .orig.tar.gz which in summary make up the source package17:42
dholbachnow please:17:43
dholbach  cd gnome-utils-2.25.217:43
dholbachmaxb just tells me:17:43
dholbach<maxb> dholbach: Rather than dget, maybe mention pull-lp-source from ubuntu-dev-tools? e.g. $ pull-lp-source gnome-utils jaunty17:43
dholbachthere you go: just learned something new (just install ubuntu-dev-tools too)17:43
dholbachrugby471 just tells me he had trouble, because the tarball was not extracted, if that happened to you, please run17:45
dholbach  dpkg-source -x gnome-utils*dsc17:45
rugby471cool that works now17:45
dholbachsorry folks, no idea what happened there, but let's crack on :)17:45
dholbachnow we'll use a cool feature of CDBS17:45
dholbachplease run17:45
dholbach   cdbs-edit-patch 20_fix_fat32_scan_crash17:45
dholbachwhat it does is:17:45
dholbach - open a "sub shell" where you can edit the source and do all you need to make it work again17:46
dholbach - when you type exit (or just Ctrl-D) it will close the subshell and create debian/patches/20_fix_fat32_scan_crash.patch for us17:46
dholbach - which is the patch of the changes we did17:46
dholbachwhich is awesome17:46
dholbachin this subshell, please run17:46
dholbach  patch -p0 < ~/patch17:46
dholbach(which will use the patch we extracted from SVN)17:47
dholbachthen, please type17:47
dholbach  exit17:47
dholbachor hit Ctrl-D17:47
dholbachthis means we have succeeded and added the patch to the source package - fantastico17:48
dholbachI said we're going to document it, so please run17:48
dholbach  dch -i17:48
dholbachwhich will add a boilerplate changelog entry for you17:48
dholbachnow what we put in there should be quite verbose17:49
dholbachwe want to document well what we did and why we did it17:49
dholbachI'll put in there something like this:17:49
dholbach  * debian/patches/20_fix_fat32_scan_crash.patch: fix segmentation fault when trying to performe "scan folder" on a fat32 partition. Taken from Upstream SVN r8378 (LP: #301952)17:51
dholbachof course add some line wrapping to it17:51
dholbachlet's take a look at it step by step17:51
dholbach - I reference the file I added, so it's easier to spot which files exactly I changed17:51
dholbach - I mentioned what the bug was all about and that it's fixed now17:52
dholbach - I mentioned where I have the patch from (add extra authority by saying that it comes from upstream)17:52
dholbach - I mention the SVN revision, so the uploader who works on gnome-utils the next time will now: with the next upstream release I can drop the patch again17:52
dholbach - and I refer to the Launchpad bug in a special notation: this way the bug will get automatically fixed on upload17:53
dholbach<Ape3000> QUESTION: Shouldn't I use my pgp key with the dch?17:53
dholbachApe3000: if you mean the email address you have on your GPG key, yes17:53
dholbach<mnemo> QUESTION: does the debian build process automatically apply debian/patches/* to the orig before compiling?17:53
dholbachmnemo: yes, that's what simple-patchsys.mk in debian/rules does17:53
dholbach<porthose> QUESTION: Would you also push this patch to debian?17:53
dholbachporthose: I'm going to say a bit more about what we're going to do with it in a sec17:54
dholbachnow let's save the file and please run17:54
dholbach   debuild -S -us -uc17:55
dholbachto rebuild the source package with the new entry17:55
dholbachif all goes well a17:55
dholbach   ls ..17:55
dholbachshould show you gnome-utils_2.25.2-0ubuntu2.dsc amongst others17:55
=== Philipp_ is now known as HEP85
dholbachnow please run17:55
dholbach  cd ..17:55
dholbach  debdiff gnome-utils_2.25.2-0ubuntu1.dsc gnome-utils_2.25.2-0ubuntu2.dsc17:56
dholbachand post the output to a pastebin and post the link in this channel17:56
dholbach<WalterMundt> QUESTION: is there a good reference for all of the options of debuild?  I notice some mentioned in HOWTO's that aren't in the manpage directly, so either I'm missing them or there's something a bit more complex going on.17:56
dholbachWalterMundt: check https://wiki.ubuntu.com/PackagingGuide and   man dpkg-buildpackage   and    man debuild17:57
dholbachok, a few words until you posted your results somewhere:17:57
dholbach - in the specific case of gnome-utils you would probably just wait for the next release (which is regular and in just a few days)17:57
dholbach - in all other cases, you would17:57
dholbach   + attach the resulting patch to the bug report17:58
dholbach    + and subscribe ubuntu-main-sponsors, who will review the patch and upload it for you because they like it17:58
dholbachdinxter: I'd wrap the text at 80 chars per line, other than that: good work17:58
dholbachApe3000: same as for dinxter :)17:59
Ape3000You mean I should wrap the ChangeLog line?17:59
dholbachrugby471: good work, I'd add a reference to where the patch comes from and which LP bug it fixes17:59
dholbachApe3000: yep17:59
dholbachQuintasan: good work, same as Ape300017:59
dholbachwow... any more patches?17:59
dholbachand don't forget one thing:18:00
dholbach _____ _____ ____ _____ ___ _   _  ____ _18:00
dholbach|_   _| ____/ ___|_   _|_ _| \ | |/ ___| |18:00
dholbach  | | |  _| \___ \ | |  | ||  \| | |  _| |18:00
dholbach  | | | |___ ___) || |  | || |\  | |_| |_|18:00
dholbach  |_| |_____|____/ |_| |___|_| \_|\____(_)18:00
dholbach                                          18:00
dholbachfor more info :)18:00
dholbachget wild, use harvest, make me proud! :)18:00
dholbachthanks a bunch everybody18:01
dholbachyou are awesome18:01
* dholbach hugs y'all18:01
* james_w hugs dholbach 18:01
dholbachnext up is Mr james_w!18:01
dholbachbig round applause for James!18:01
* rugby471 feels his life is now complete18:01
rugby471thanks daniel!!!18:01
Ape3000This was very good session and I really learned lots of things.18:01
dinxterthanks daniel18:01
dholbachhttp://daniel.holba.ch/harvest for more Harvest goodness :-)18:01
* porthose *applause18:02
porthosethanks daniel great session18:02
FlimmHarvest looks especially interesting18:02
dholbachjames_w is going to talk about Bazaar and Packaging which is going to make 1) your life easier, 2) you very happy18:02
dholbachRock On everybody!18:02
james_wI'm just getting set up still, I had a great idea about 10 minutes ago, so I'm changing the session a bit18:03
cool2kthnks it was great!!18:03
james_wis anyone still running Hardy?18:03
FlimmNot me18:03
FlimmI borrow somebody else's comp to test stuff on Hardy18:04
james_was Mr. Holbach said, we're going to be looking at bzr for packaging18:04
james_wwe're actually going to fix that baobab bug again, but this time using bzr18:05
james_wfor that we need some extra tools, so if you would all18:05
james_wsudo aptitude install bzr bzrtools bzr-svn bzr-builddeb18:05
james_wthat would be fantastic18:05
james_wI'm working on a project called "Distributed Development" that aims to make bzr really useful for packaging18:08
james_wand at the same time use bzr for packaging more in Ubuntu18:08
james_was part of that I have created the branches you can see at http://package-import.ubuntu.com/18:08
james_wthese will be moved to launchpad soon, the launchpad developers are working hard to accommodate them.18:08
james_wuntil that time they live there18:09
james_wso you can click through there and find the gnome-utils branches18:09
james_w<Arc> QUESTION: is this currently supported for PPAs on launchpad?18:09
james_wArc: you mean bzr for PPAs?18:09
james_wsort of18:09
james_wyou can use bzr and then upload a source package18:10
james_wthere are plans in the works to allow you to just point to a branch and ask for it to be built in your PPA18:10
james_w<Flimm> QUESTION: packages-import for both main and universe?18:10
james_wto show off some of the things that it will be possible to do I have created a project on staging.launchpad.net18:11
james_wyou can see it at https://code.staging.launchpad.net/gnome-utils-ubuntu18:11
james_wand once you have the above packages installed you can grab the source by typing18:12
james_wbzr branch lp://staging/gnome-utils-ubuntu18:14
james_w(the staging is just there as we are experimenting)18:14
james_walso it will be written "lp:ubuntu/jaunty/gnome-utils-ubuntu" once launchpad hosts the branches18:15
james_w<Flimm> QUESTION: where can I upload any commits I make to bzr branches from packages-import?18:15
james_wI would just recommend pushing them to your +junk area for now18:15
james_wonce launchpad hosts them you will be able to push to18:16
james_wonce you have branched the code then we can work on the fix18:17
james_wMr. Holbach helpfully told us that the fix is between revisions 8377 and 8378 of http://svn.gnome.org/svn/gnome-utils/trunk18:17
james_wnow, we installed bzr-svn, meaning we can access this URL using bzr18:18
james_w(I've just noticed I also have a bzr plugin named "sandwich", I wonder what that does)18:19
james_wbzr diff http://svn.gnome.org/svn/gnome-utils/trunk -c  837818:21
james_wthat will show us the changes in revision 8378 in SVN18:21
james_wexcept that we are not accessing a native bzr branch, so we have to say18:21
james_w bzr diff http://svn.gnome.org/svn/gnome-utils/trunk -c  svn:837818:21
james_wbecause 8378 is an svn revision number18:22
james_w(when you run these commands it will spin a progress bar for a little while as it does the translation)18:22
james_was well as making packaging branches available we are working on making bzr versions of the SVN projects available18:25
james_wso one day you won't have to wait for this translation to be done, you can just access the bzr version18:26
james_wso it's the same diff we saw an hour ago :-)18:33
james_winteresting eh? :-)18:33
james_wbut we don't just want to see the diff, we want to pull in the changes18:34
james_wwe want to merge them18:34
james_wbzrtools provides a nice "patch" command we can use for this18:34
james_wso you can "bzr patch file" and it will apply it18:34
james_wor you can pipe in a patch so "bzr diff http://svn.gnome.org/svn/gnome-utils/trunk -c  svn:8378 | bzr patch" should work18:35
james_wif you were in the last session and have the patch file laying around then "bzr patch thatfile" will work18:35
james_winterestingly, it should also work over any transport18:36
james_wso "bzr patch http://some-server/some-patch-someone-has-pointed-you-to" should work18:36
james_we.g. "bzr patch http://svn.gnome.org/viewvc/gnome-utils/trunk/baobab/src/baobab.c?view=patch&r1=8378&r2=8377&pathrev=8378"18:37
james_wto apply the part of the patch that makes the code change18:38
james_wonce you've applied the patch however you chose to do it18:38
james_wyou can write a changelog entry to go along with it18:39
james_wrun "dch -i -D UNRELEASED"18:39
james_wand type in your message18:39
james_wonce done, save and quit18:39
james_wand run "debcommit"18:39
james_w(I assume you all have devscripts installed from the last session for those last two commands)18:40
james_wmake sure include the bug number as "LP: #301952" in the changelog18:41
james_wonce you are done you can run "bzr log -r -1" and "bzr diff -c -1" to see your message and the changes18:42
james_w(or install bzr-gtk and run "bzr viz")18:42
james_wnow you want to build the package to test it18:42
james_wsimply run "bzr builddeb -S"18:42
james_wthat will download the tarball that you need, and build you a source package18:43
james_wyou can then build that in pbuilder or similar, or sign it and push it to your PPA18:43
james_w<Quintasan> bzr: ERROR: A Debian packaging error occurred: uscan failed to retrieve the upstream tarball18:43
james_wah, you don't have deb-src entries for jaunty in your sources.list18:43
james_wyou can add them or run "(cd .. && wget http://archive.ubuntu.com/ubuntu/pool/main/g/gnome-utils/gnome-utils_2.25.2.orig.tar.gz)"18:45
james_wonce you are happy with the fix you want to get this uploaded to Ubuntu18:45
james_wso it needs to be merged in to the main packaging branch18:45
james_wfor that we use launchpad18:45
james_wso first you need to push your changes back to launchpad18:45
james_w"bzr push lp://staging/~YOUR_LP_USERNAME/gnome-utils-ubuntu/fix-301952"18:46
james_wwhere YOUR_LP_USERNAME is your launchpad username, and the last part of the URL is anything you want18:46
james_wthis will fail if you haven't registered you SSH key with launchpad yet18:47
james_woh, and also if you haven't yet run "bzr launchpad-login"18:48
james_w"bzr launchpad-login YOUR_LP_USERNAME"18:48
james_whttps://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair for information on registering your launchpad SSH key18:49
james_wiulian> QUESTION: Can Ubuntu devs commit to the main branch?  If yes, where will it be located?18:49
james_wiulian: yes, if they can upload the package18:49
james_wonce the branches are hosted on launchpad18:49
james_wonce you have pushed you can go to https://code.staging.launchpad.net/gnome-utils-ubuntu and you should be able to see your branch18:50
james_wwhen you can see your branch the next step is to propose it for merging in to the main branch18:54
james_wif you click on the link to your branch you can click "Propose for merging in to another branch"18:54
james_win the next form you can just add your explanation of what you have done, the "cover letter" of the change18:56
james_wyou will end up with something like https://code.staging.launchpad.net/~james-w/gnome-utils-ubuntu/fix-301952/+merge/299918:57
james_wwhich a developer can then review and merge18:57
james_wand if you also look at the bug report on staging you will see that under the description it now links to a branch that has the fix https://bugs.staging.launchpad.net/ubuntu/+source/gnome-utils/+bug/30195218:58
james_wthis went from the changelog -> bzr because of debcommit18:58
james_wthen launchpad noticed that and added the link for us18:59
james_wwe're out of time unfortunately18:59
james_wsorry for rushing the last bit19:00
james_wthat's what happens when you decide to change your session at the last minute :-)19:00
dinxterthanks james19:01
=== pochu_ is now known as pochu
porthosejames_w: thanks for the great session :-D19:01
james_wI'm happy to help people with things outside the session, but we have to make way for the next session now19:01
FlimmThank you james_w19:01
iulianThanks James, that was great.19:01
james_wthanks for playing along19:01
Quintasanthanks, some knowledge wont hurt ;)19:02
james_wWalterMundt> QUESTION: I notice that committing to bzr this way doesn't create a patchfile under debian/ -- does that get handled at some other stage?19:02
james_wgood question19:02
james_wyou can still create that patch file manually if you like19:02
james_wit's better not to do that if you are using bzr, but while we still use patch systems you can do that step19:02
james_wbzr doesn't stop you, it could automate it better though19:03
james_wbut now we have JontheEchidna with "Kubuntu Bug Squishing"19:03
JontheEchidnaHi, my name's Jonathan19:03
JontheEchidnaWelcome to my course on bug squishing in Kubuntu.19:04
JontheEchidnaAs you may recall, this previous Ubuntu OpenWeek I did a course on triaging bugs.19:04
JontheEchidnaEven though triaging bugs is an important part of Quality Assurance, you do have to eventually, well, fix bugs. :-P19:04
JontheEchidnaA properly triaged upstream bug usually does get fixed by upstream. But some times, for various reasons, we must make fixes to our KDE packages ourselves before the next KDE release.19:05
JontheEchidnaThis is especially true when the problem is not with KDE itself, but with our packages.19:05
JontheEchidnaAside from packaging bugs, we may also need to apply upstream fixes to our packages when the following happens:19:05
JontheEchidnaa) A severe bug has been fixed upstream for a future release, but the severity of the bug warrants early inclusion of packages.19:05
JontheEchidnab) At the end of a development cycle especially, we start including bugfix patches. This is because once we include the most recent upstream release before the next Kubuntu release, some upstream bugs get fixed. Since the next bugfix release won't be coming by default, we take the patch and apply it to our KDE packages. An excellent example would be bug 314016, which has yet to be fixed.19:06
JontheEchidnaLuckily, in most cases, upstream has done most of the bug fixing. Aside from packaging bugs, all we need to do is include the upstream patch in our packaging.19:07
JontheEchidna<DoruHush> QUESTION: How are treated .po file for localization, for languages with more then 2 forms of plurals (eg. nplurals=3), in Kubuntu.19:07
JontheEchidnaOur packaging extracts the .po files and through some magical way or another Rosetta imports them19:08
JontheEchidnaRight before the intrepid release there were a few serious bugs found with rosetta in regards to how it imported translations19:08
JontheEchidnaand once they did get imported, there were some bugs with plural forms, etc19:08
JontheEchidnaThe last time I checked there were some updates langpacks released to intrepid-updates19:09
JontheEchidnaWhile this is quite unforunate, it's not exactly a bug with our KDE packages, and is somewhat out of the scope of this talk.19:09
JontheEchidnaSteps have been taken to fix this for the future though. :-)19:10
JontheEchidnaIt has been a source of frustration for all of us, I assure you19:10
JontheEchidnaFor this session I will walk you through fixing a bug that has been fixed upstream for KDE 4.2.19:10
JontheEchidnaThis is how myself or another kubuntu hacker would go about fixing a bug19:11
JontheEchidnaSince the fix was brought about by a change in behavior, it was not added as a bugfix for the KDE 4.1 branch.19:11
JontheEchidnaThe bug is somewhat more than trivial, though, so it would be a good idea to fix it since we do have to support KDE 4.1.4 in Intrepid for a year.19:11
JontheEchidnaThe bug in question is bug 314016. (https://launchpad.net/bugs/314016)19:12
JontheEchidnaBasically, a new feature in KDE 4.1 crapped up Left-to-Right text handling in Kate, severly crippling its usefulness for LTR languages19:13
JontheEchidna QUESTION: What do you mean by "KDE 4.1 branch"? I thought that KDE 4.1 is a release.19:13
JontheEchidnaGood question!19:13
JontheEchidnaRight before every 4.x release, trunk is branched19:13
JontheEchidnaFrom the release on, bugfixes will be aggregated to that branch and be released in bugfix releases19:14
JontheEchidnaRight before KDE 4.1 was released it was branched into the "4.1 branch". Since then fixes have been backported from trunk by KDE to this branch, and they have released 4 bugfix releases since then19:15
JontheEchidnawith the most recent one being 4.1.419:15
JontheEchidnaThese branches are for bugfixes only, so new features and bugfixes with rather widespread changes are generally not included19:16
JontheEchidnaSo we as a distro can choose to include fixes ourselves19:16
JontheEchidnawhich is what we're going to do today19:16
JontheEchidnaSince Kate (the application affected by the bug) is part of the kdesdk package, we need to get its source19:17
JontheEchidnaSince this would be an update to a stable release of Kubuntu we will need to modify the current kdesdk for intrepid-updates: https://edge.launchpad.net/ubuntu/intrepid/+source/kdesdk/4:4.1.3-0ubuntu1~intrepid119:17
JontheEchidnaI should note that we do have kdesdk 4.1.4 in intrepid-proposed which will be copied to -updates after proper testing is done. The bugfix update we are doing today won't be uploaded to -proposed until KDE 4.1.4 is out.19:18
JontheEchidnasince having two stable release updates in -proposed is generally frowned upon19:18
JontheEchidnaGoing through the Stable Release Update could be half of another session itself, so we will focus on including the fix to our packages19:19
JontheEchidnaTo start off, we will download the 3 files listed under "download" in the page I just linked to.19:19
JontheEchidnaI don't exactly know the exact technical range of those of you reading, so bear with me if this seems like common knowledge19:20
JontheEchidnaand don't be afraid to ask me to explain better19:20
JontheEchidnaI'll give y'all a chance to download the source for a bit whilst I compose what I want to do next19:22
JontheEchidnaOnce we've downloaded the source package, we'll need to unpack it.19:23
JontheEchidnanavigate to the directory and do a standard "dpkg-source -x *.dsc" to unpack the source package.19:23
JontheEchidnaIf you're using dolphin you could just press alt+f4 to get a terminal in the directory you are in :D19:24
JontheEchidna<3 KDE19:24
JontheEchidnaer, not alt+f419:24
JontheEchidnajust f419:24
JontheEchidnaOnce extraction is done there should be a folder entitled "kdesdk-4.1.4" in your directory19:25
JontheEchidnaThis is the unpacked source + our packaging. The packaging is located in the debian/ directory19:25
JontheEchidnacd to kdesdk-4.1.4, this is where we'll mostly be working from19:26
JontheEchidnaI think I'll take this time for questions if there are any :-)19:27
JontheEchidnaor wait for people to catch up ;-)19:30
JontheEchidnaThe Debian and Kubuntu KDE packaging teams generally favor quilt as their patch system. It is quite nice once you get used to it.19:31
JontheEchidnaQuilt is a system for managing patches for programs19:32
darkblue_B'ello.. I am new.. there is a list of events on UbuntuDeveloperWeek but it is not clear to me how to actually attend one19:32
JontheEchidnaand for keeping them all in order19:32
JontheEchidnadarkblue_B: you're in the right place. The talks are being given here. You can chat and ask questions in #ubuntu-classroom-chat :-)19:33
JontheEchidnato attend a session all you need to do is just join this channel and listen19:33
JontheEchidnaUsing quilt we will add the patch KDE has made to our packages19:33
JontheEchidnato start off we make a symlink from kdesdk-4.1.3 to kdesdk-4.1.3/debian/patches19:34
JontheEchidnaso from kdesdk-4.1.3 directory:19:34
JontheEchidnaln -s debian/patches patches19:35
JontheEchidnathis is so we can work from the top level of the source tree19:35
JontheEchidnaand quilt will still think we're in the patches directory19:35
JontheEchidnaso first we'll need to give our new patch a name19:36
JontheEchidnaquilt new kubuntu_03_fix_paragraph_direction.diff19:37
JontheEchidnaThis will "create" a new patch entitled kubuntu_03_fix_paragraph_direction.diff19:37
JontheEchidnanow that we have the patch named we will need to get the actual patch from upstream19:38
JontheEchidnaAs it so happens, the bug report handily links to the webpage of the svn revision that fixed this bug: http://websvn.kde.org/?view=rev&revision=90511219:38
JontheEchidnaFrom that page, open the "text changed" links for both files in new tabs19:39
JontheEchidnaand in these tabs click the "patch" link on the top toolbar19:39
JontheEchidnaboth should open up the patch in Kate or whatever your default text editor is if you are using Konqueror19:40
JontheEchidnayou can save them as patch1.diff and patch2.diff19:40
JontheEchidnaoh crap, actually I had you guys download the wrong source package19:41
JontheEchidnaI forgot that Kate actually has some of its code in kdelibs19:41
JontheEchidnadownload kde4libs from here: https://edge.launchpad.net/ubuntu/intrepid/+source/kde4libs/4:4.1.3-0ubuntu1~intrepid1 or via apt-get source as before19:42
JontheEchidnaextract, make the symlink, etc19:42
JontheEchidnamy bad :-(19:43
JontheEchidnaI'll give everybody time to catch up19:43
JontheEchidnadownload, dpkg-source -x *dsc; cd kde4libs-4.1.4; ln -s debian/patches patches; quilt new kubuntu_03_fix_paragraph_direction.diff19:43
JontheEchidnaand we should be back where we were after that19:44
* JontheEchidna takes this opportunity to throw away his empty soda can19:44
JontheEchidnaok, so is everybody good up to this point?19:45
JontheEchidnaOk, I would recommend saving patch1 and patch2.diff to the same directory kde4libs-4.1.4 is in19:45
JontheEchidnaas we can see from the svn page, 2 files are affected:19:46
JontheEchidnawe need to tell quilt that we are going to be changing these two19:46
JontheEchidnafrom the kde4libs-4.1.3 directory:19:47
JontheEchidnaquilt add kate/render/katerenderer.cpp19:47
JontheEchidnaquilt add kate/render/katerenderer.h19:47
JontheEchidnanow we will make the changes to the actual files themselves19:48
JontheEchidnasince the kde svn structure is a bit different that the folder structure we have now, the patches won't apply as they are19:48
JontheEchidnaWhere you see this:19:48
JontheEchidna--- trunk/KDE/kdelibs/kate/render/katerenderer.cpp2009/01/03 17:58:1690511119:49
JontheEchidna+++ trunk/KDE/kdelibs/kate/render/katerenderer.cpp2009/01/03 17:58:4290511219:49
JontheEchidnait should probably be more like:19:49
JontheEchidna--- kate/render/katerenderer.cpp2009/01/03 17:58:1690511119:49
JontheEchidna+++ kate/render/katerenderer.cpp2009/01/03 17:58:4290511219:49
JontheEchidnamake the changes for both files and save19:49
JontheEchidna(patch1.diff and patch2.diff19:49
JontheEchidnaonce that's done we can apply the patches using linux's patch command19:50
JontheEchidnapatch -p0 < ../patch1.diff19:50
JontheEchidnapatch -p0 < ../patch2.diff19:50
JontheEchidnaoh, uh, actually I forgot something important before that19:51
JontheEchidnanow run quilt refresh19:52
JontheEchidnawith luck it should say that the patch was refreshed19:54
JontheEchidnaand if you'll check you should see a new file in debian/patches19:54
JontheEchidnanamely your patch :-)19:55
JontheEchidnathe patch's name will also have been added to the series file19:55
JontheEchidnarun quilt pop -a to revert the changes you have made directly to the source files19:55
JontheEchidnawhen the package is built your patch will be applied automagically19:56
JontheEchidnaOh, I should say that at the beginning it's a good idea to apply all existing patches after you make the patches symlink19:56
JontheEchidnaquilt push -a would do that19:56
JontheEchidnait helps prevent things from going wrong19:57
JontheEchidnaanyway, after that you'd run dch -i from kde4libs-4.1.4 to add a changelog entry19:57
JontheEchidnait'd look something like this:19:59
JontheEchidnakde4libs (4:4.1.3-0ubuntu1~intrepid1.1) intrepid; urgency=low19:59
JontheEchidna  * Add kubuntu_03_fix_paragraph_direction.diff to fix KDE bug19:59
JontheEchidna    178594. (LP: #314016)19:59
JontheEchidna -- Jonathan Thomas <echidnaman@kubuntu.org>  Wed, 21 Jan 2009 14:57:50 -050019:59
JontheEchidnaafter that you'd run debuild -S -sa and you'd have yourself a fixed package20:00
JontheEchidnayou coudl then speak to the kubuntu doods about sponsoring your package20:00
JontheEchidnawhich we would be glad to help out with20:01
JontheEchidnaMy time is just about up, feel free to throw questions, tomatoes, Windows 7 beta CDs, etc at me in #kubuntu-devel20:01
QuintasanThanks :D20:02
nijabaThanks JontheEchidna20:02
JontheEchidnaNext up is g VMBuilder to create tests environments -- Søren Hansen and Nicolas Barcet will entertain you with virtual machines and the fantastic vmbuilder. Need a clean test environment for something? Don't want to run the latest development release on actual hardware yet? These two fine men have the answer for you.20:02
nijabaWelcome everyone and thanks for attending this presentation about20:03
nijaba                   __                   ___       __20:03
nijaba                  /\ \              __ /\_ \     /\ \20:03
nijaba __  __    ___ ___\ \ \____  __  __/\_\\//\ \    \_\ \     __   _ __20:03
nijaba\ \ \_/ |/\ \/\ \/\ \ \ \L\ \ \ \_\ \ \ \ \_\ \_/\ \L\ \/\  __/\ \ \/20:03
nijaba \ \___/ \ \_\ \_\ \_\ \_,__/\ \____/\ \_\/\____\ \___,_\ \____\\ \_\20:03
nijaba  \/__/   \/_/\/_/\/_/\/___/  \/___/  \/_/\/____/\/__,_ /\/____/ \/_/20:03
* nxvl waver20:03
nijabaOriginally Soren Hansen, the author and maintainer of vmbuilder was supposed to run this presentation with me, but he unfortunately got a bad flu and I'll therefore will have to do this alone.20:03
nijabaWell not completely alone, I bet mathiaz and zul are around to make sure I don't say anything stupid ;)20:04
* zul waves20:04
Koonif it's really stupid, I will make sure everyone notices.20:04
nijabasoren, what is vmbuilder? (you may ask)20:04
nijabaehe, I meant so not soren ^ :)20:04
nijabavmbuilder is a python tool that allows to create virtual machine images on the fly, without the need to start an installer in an hypervisor.20:05
nijabavmbuilder can create images for KVM, Xen, VMWare and for Amazon EC2.20:05
jmarsden|workAnd soon hopefully for virtualbox too...20:05
nijabaOn a reasonably powerfull machine with a local package cache (for example apt-proxy or apt-cacher), the creation of a minimal virtual server (aka JeOS) can take less than a minute.20:05
nijabajmarsden|work: please use #ubuntu-classroom-chat for comments20:06
nijabaAs a python tool, it is first of all a library with a very powerfull plugin architecture.20:06
nijabaOne of the plugins that is provided is a CLI (command line interface), and anyone could write another plugin to provide a GTK interface or use the vmbuilder library to create a web service.20:07
nijabaApart for the front end plugin mechanism, there are 2 other types of plugins that are used in vmbuilder: Hypervisors and Distributions.20:07
nijabaThe distribution plugin would allow for someone to easily extend vmbuilder for other distributions, but at this time the only available one is Ubuntu.20:07
nijabaThe same is true for the hypervisor plugin, and it seems that jmarsden|work is voluteering some work :)20:08
nijabaContributions are always welcome!20:08
nijabaThe first implementation of vmbuilder was on hardy as a shell script that used to be called ubuntu-vm-builder.20:09
nijabaWhen Soren rewrote in python for intrepid, the source package was renamed python-vm-builder and contains a binary package called ubuntu-vm-builder which is just a wrapper to the old CLI to maintain upward compatibility.20:09
nijabaNow that we have covered what vmbuilder is (in a nutshell), let's explore what you could use it for as a developer.20:10
=== weboide_ is now known as weboide
nijabaA couple scenarios come to mind, but I'm sure there are many others.20:10
nijaba1/let's imagine that you want to test something (a program that you wrote, an upgrade, a bug) in a clean environement.20:11
nijabachroot is generally great for this, but is not really what we could call a complete environment.20:11
nijabaUsing vmbuilder, you can generate a virtual machine on the fly that contains whichever package and configuration that you want almost as quickly as you would generate a chroot environment.20:11
nijabaYou can then start the machine in your favorite hypervisor and start testing.20:12
nijabaSome of the great options vmbuilder provides are the ability to chose wich series you want (dapper, gutsy, hardy, intrepid, ...) and, to the difference of pre-built images that you would duplicate, is building machines from the latest versions of the packages in the repositories.20:12
nijabaSince vmbuilder does not require any user interaction to run, this can be scripted and made part of build or test process.20:13
nijaba2/let's imagine that you want to deliver your package/packages/application/integration as a pre-built virtual machine for various hypervisor (providing so called "virtual-appliances", for example).20:14
nijabaThe traditional way would imply creating reference virtual images for each target environements and each time you updated your code, after building your package you would have to:20:14
nijabaa- start each vm20:15
nijabab- update your package in each vm manually20:15
nijabac- clean up the vm20:15
nijabad- save it20:15
nijabae- send it to testers/users20:15
nijabaSince vmbuilder knows about your various Hypervisors, it is very easy to integrate this work in your build scripts so that your virtual images are almost ready to ship once your build process is completed.20:16
nijabaTo make things even easier, vmbuilder includes three "sub-scripts" features that can be specified:20:16
nijabaa- an "exec" script that is called during the machine build process just after finishing the the installation.  The script can chroot within the target machine and make additional changes.20:17
nijabab- a "first-boot" script that is copied to the virtual machine and executed in batch mode the first time the vm will boot20:17
nijabac- a "first-login" script that is copied as well to the vm and executed as the user the first time someone logs-in to the vm (and therefore allows to perform some final interactive setup).20:18
nijabaok, now that I have covered the main use cases, I'll try to answer the first few questions before we move on20:18
nijabaQUESTION: What do I need to use KVM?20:18
nijabaYou need a processor that supports hardware virtualization20:19
nijabathere is a detailed step by step procedure to test this on http://help.ubuntu.com/communtity/KVM20:19
nijabaerr community20:20
nijabaQUESTION: are there plans to also support qemu/kqemu?20:20
nijabaThat really should no be too hard to had, but it is not on any official roadmap, AFAIK20:21
nijabacontributions, again, are very welcome20:21
nijabaQUESTION: vmbuilder on gutsy?20:21
nijabaunfortunately not.  ubuntu-vm-builder was first developped on hardy20:22
nijabawe badly need kpartx for it, and it is not available before hardy20:22
nijabaQUESTION: which one should I choose between KVM, Xen, VMWare and for Amazon EC2 (if I got a machine that supports hardware virtualization and I want to do ubuntu package testing for instance) ???20:23
nijabait all really depends on your use case20:23
nijabaVMWARE (esx) is certainly the most complete virtualization solution available today20:23
nijababut it has some hard dependency, and is not really free software20:24
nijabaXen is nice if you processor does not have hardware virtualization extension20:24
nijababut then it will only provide paravirtualized os virtualization20:24
nijabaand it is a BULKY thing to maintain in a distro20:25
nijabaso that's mainly why, if your use case is server virtualization, we prefer KVM20:25
nijabaok, lets move on20:25
nijabaTo start using vmbuilder, you need to first install its package:20:26
nijaba$sudo apt-get install python-vm-builder20:26
nijabanote that if you want to create EC2 images, you will need to install the python-vm-builder-ec2, which, for licence reasons on the AMI tools, had to be made a separate package and placed into multiverse.20:26
nijabaOnce the install is complete, the first thing to do is to have a look a the help.20:27
nijabaAs I said before, python-vm-builder uses a plugin mechanism.20:27
nijabaThis implies that you will have different sets of options depending on the hypervisor and distribution that you pick.20:27
nijabaThis is the reason why the man page or a basic 'sudo vmbuilder --help' will only list options that are common to all hypervisors or distributions.20:28
nijabaTo get all options displayed, you need to specify your target hypervisor and distribution.  For example try doing:20:28
nijaba$sudo vmbuilder kvm ubuntu --help20:28
nijaba$sudo vmbuilder xen ubuntu --help20:29
nijabaand notice the additional options provided in each case.20:29
nijabaSo now, assuming that you all are going to use vmbuilder intensively, let's start setting up a package caching system.20:29
nijabaSoren likes apt-cacher while I've preferred apt-proxy.20:30
nijabaSince the later is what I know and is quite simple to enable, I'll invite you to:20:30
nijaba$sudo apt-get install apt-proxy20:30
nijabaonce this is done, apt-proxy will immediately start listenning on all your interfaces on port 9999.20:30
nijabaThere are multiple options you can set on /etc/apt-proxy/apt-proxy.conf, but the default will work very nicely for our purpose.20:31
nijabaIn order for apt-proxy to be used by vmbuilder automatically, we could very well20:32
nijabaadd the option "--install-mirror" each time we would invoke vmbuilder, but since I am quite lazy, I have defined this as a permanent option in my ~/.vmbuilder.cfg file by putting in the following two lines:20:32
nijabainstall_mirror =
nijabain fact, any command line option that can be passed to vmbuilder can added to this config file, and you can even specify an additional config file that uses the same format using the --config option.20:33
nijabanot that the format of the config file changed between hardy and interpid... so I assume your are all on intrepid or jaunty here20:34
nijabaAnother option that speeds up the creation of vm is the --tmpfs one, which will use a ramdisk to store temporary file.20:35
nijabaI have added in my ~/.vmbuilder.cfg file the following 2 lines:20:35
nijabatmpfs = -20:35
nijabahow is everyone doing so far?20:36
* rmcbride nods20:36
nijabaok, so we are now ready to start building our first image.20:36
nijabaFor this example we'll build and equivalent of an Intrepid JeOS using the following command:20:37
nijaba$sudo vmbuilder kvm ubuntu --suite intrepid --flavour virtual --arch i386 --verbose20:38
nijabaI do not think the above options need much comments, do they?20:38
nijabaThe first time you will build a machine for a new suite, it will obviously take a bit longer as apt-proxy is not loaded.20:39
nijabaWhile your vm is building, let's open the floor to questions.20:40
nijabaIn the absence of Soren, I may not be able to answer some of them20:40
nijabain which case I'll make sure to write them down and provide you with valid answers on my blog as soon as I can get them20:40
nijabaQUESTION: sry to dwell on this but why could KVM only be used for server testing? cant I run X.org inside a KVM?20:40
nijabawell, sure you can run X.org inside a KVM20:41
nijababut the interface has not really been tuned to provide you with the best experience possible for full desktop vritualization20:41
nijababut, I do use kvm for testing gnome once in a while20:42
nijabaand apart from a few quirk, it is quite useable20:42
nijabaI would not recommend it for any real usage on a daily basis though20:42
nijabaqUESTION:  what I have done in the past is boot from an .iso and then use rtegular tools to make mods20:43
nijabathis is a CLI approach based on, listing all the pkgs you want to install in a text file, for example?20:43
nijaba(please try to write your question starting with QUESTION without breaks)20:44
nijabayes, this is the general approach, yes20:44
nijabaUESTION: when running vmbuilder, it printed a bunch of these: "Can not write log, openpty() failed (/dev/pts not mounted?)"   is that a problem?20:45
nijabano, actually the reason why you saw those is because we enabled the --verbose option20:45
nijababut, unless vmbuilder stops before sayng it is done, these error are just transient20:46
nijabaQUESTION what about custom downloads.. eg not debian/ubuntu packages.. not covered by this approach?20:46
nijabathis is the reason why we have multiple scripts options20:46
nijabaas I described earlier20:46
nijabayou could have a --exec script20:47
nijabathat download something with wget20:47
nijabaand untars it wherever you want20:47
nijabaok, is everyone done building their first vm?20:48
* sebp nods20:49
* Quintasan nods20:49
nijabaanother very inresting part of vmbuilder are templates20:49
nijabahave a look at what is inside /etc/vmbuilder/20:50
nijabaeach of these directory contains base templates for file that we'll use for configuration during the build process20:50
nijabafor example, to enable bridging in our vm, we'll need to modify the libvirt template20:51
nijaba$mkdir -p mytemplates/libvirt20:51
nijaba$cp /etc/vmbuilder/libvirt/* mytemplates/libvirt/20:52
nijabawe can then edit mytemplates/libvirt/libvirtxml.tmpl20:52
nijabaand change the interface section of it to:20:52
nijaba    <interface type='bridge'>20:52
nijaba      <source bridge='br0'/>20:52
nijaba    </interface>20:52
nijabaand then specify which template set to use by adding the following to our command line:20:53
nijaba--templates mytemplates20:53
nijabaQUESTION: how can I start the kvm I just built?20:54
nijabathis brings me to the --libvirt option20:54
nijabaassuming that libvirt is installed and running20:54
nijaba(if it is not, have a look at https://help.ubuntu.com/community/KVM/Installation )20:55
nijabathen you can pass "--libvirt qemu:///system" to the command line20:56
nijabawhich will automatically add the generated vm as a livirt domain20:56
nijabawhich can be started immediately20:56
nijabahttps://help.ubuntu.com/community/KVM/Managing#From%20the%20shell gives an overview of how to manage running vm20:57
nijabaI you do not want to use libvirt, see https://help.ubuntu.com/community/KVM/Directly20:58
nijabaQUESTION: kvm is a standard'ish ubuntu VM I take it?20:59
nijabayes, it is the official virtualization technology since hardy20:59
nijabahave a look at http://www.ubuntu.com/products/whatisubuntu/serveredition/technologies/virtualization20:59
nijabaFor additional reference, apart for the --help, I would like to point you to a tutorial I have writen on using VMBuilder which is available at https://help.ubuntu.com/community/JeOSVMBuilder21:00
nijabaHope this was a useful session for most of you and feel free to drop by #ubuntu-virt at any time if you have additional questions or just want to say hi :)21:00
QuintasanThanks nijaba, this is very helpful :)21:01
jdstrandthanks nijaba!21:01
nijabaThanks for attending and asking very good questions everyone :)21:01
thekornthanks nijaba21:01
nijabaI'm glad I could answer most of them21:02
mnemonijaba: hey, I started run.sh and I get to the prompt... but what is the password to my new VM ??21:02
nijabamnemo: by default user and password are ubuntu21:02
nijabaof course there is a command line option to change that too :)21:03
mnemogreat session btw!! :)21:03

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!