/srv/irclogs.ubuntu.com/2011/03/03/#ubuntu-classroom.txt

=== chin is now known as Guest36963
=== sjokkis_ is now known as sjokkis
=== jasono_ is now known as jasono
changed_nickwhen is next lecture going to start and what will be the topic?04:21
chandan_kumarchanged_nick, https://wiki.ubuntu.com/UbuntuDeveloperWeek04:27
chandan_kumarchanged_nick, go to that url ,you will got all the details regarding the classs....04:28
changed_nickchandan_kumar: thank you :)04:49
chandan_kumarchanged_nick, yours welcome.04:53
=== qwebirc73447 is now known as geco2
=== head_v is now known as head_victim
=== angeldaker is now known as daker
raki_what is the time for developer week today?13:11
Mkaysiraki_: http://is.gd/8rtIi13:12
raki_thank you!!13:14
raki_are there any logs forthe previous days13:18
MkaysiMaybe https://wiki.ubuntu.com/Classroom has link.13:18
MkaysiThere should be logs.13:19
Mkaysiraki_: https://wiki.ubuntu.com/Classroom#Logs/Transcripts13:19
Pendulumwiki.ubuntu.com/UbuntuDeveloperWeek has links to logs (just yesterday's are in progress but will be up in about 5 minutes as long as the wiki cooperates with me)13:24
Pendulumall the logs from Developer Week so far are now up at https://wiki.ubuntu.com/UbuntuDeveloperWeek/13:34
Fvicplease guide me how to use this channel?someone told me this is best place to learn about linux...15:06
MkaysiFvic: https://wiki.ubuntu.com/Classroom15:20
techbreakwhich session today ?15:54
dholbachHELLO MY FRIENDS! WELCOME TO DAY 4 of UBUNTU DEVELOPER WEEK!15:55
dholbachif you need any information at all (which sessions, etc.) head to: https://wiki.ubuntu.com/UbuntuDeveloperWeek15:56
dholbachalso... if you haven't joined #ubuntu-classroom-chat yet, you might want to do that now15:56
dholbachbecause that's where we chat and ask questions15:56
dholbachif you have questions, please ask - we want our sessions to be as interactive as possible15:56
dholbachif you do ask, please make sure you prefix your question with QUESTION:15:57
dholbachie: QUESTION: Which language should become default language of Ubuntu?15:57
dholbachThe first session of the day is lead by an awesome guy, a friend and colleague of mine, who probably has an opinionated answer to the last question15:58
dholbachit's David Planella, Mr. dpm15:58
dholbachwho is going to talk about hooking up your application with Launchpad Translations15:58
dholbachdpm, you still have a few minutes until you get started :)15:59
dholbachhave a great day 4 every one - enjoy the sessions!15:59
dpmThanks dholbach, I've got the right answer to that question, but we'll leave it for another full session :)16:00
dholbachof course you do :)16:00
dholbachenjoy!16:00
dpm;)16:00
=== 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: Integrating your package with Launchpad Translations - Instructors: dpm
dpmLet's wait a couple of minutes for everyone to join in, and then we can get started16:01
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/03/03/%23ubuntu-classroom.html following the conclusion of the session.16:01
dpmOk, let's get started...16:03
dpmHi all16:03
dpmWelcome to this Ubuntu Developer Week talk on integrating your package with Launchpad Translations16:04
dpmI'm David Planella, from the Community team at Canonical, and my job as the Ubuntu Translations Coordinator is to make sure, with the help of our awesome translations community, that Ubuntu rocks equally hard in every language.16:05
dpmToday I'd like to get a bit more technical and explain how you can make sure your package is well integrated with the Launchpad Translations web app,16:05
dpmso that Ubuntu translators can happily do their work and provide a well localized OS to our users.16:06
dpmJust to give you a brief summary, here's how it will go:16:06
dpmWe'll first start with a couple of background subjects, then we'll go more into the details related to packaging and finally we'll wrap it up with a Q+A session16:06
dpmIf you have questions during the session though, feel free to interrupt and ask me on #ubuntu-classroom-chat16:07
dpmSo, without further ado...16:07
dpmLet's roll16:07
dpmIntegrating Your Package with Launchpad Translations16:07
dpm====================================================16:07
dpmSo, as mentioned in the intro, the idea of this talk is to give you an overview of what is needed in your package to play well with Launchpad and for their translations to be exposed to translators there.16:07
dpmNote that this only essentially applies to packages in the main and restricted repositories (and additionally for the -security, -proposed and -updates pockets).16:08
dpmOnly their translations will be imported into Launchpad and delivered in language packs (more on this in a few minutes).16:09
dpmPackages in universe, multiverse, etc. will not be translatable in Launchpad, and translations will be shipped with the packages and have no direct interaction with Launchpad or the language pack infrastructure.16:09
dpmi.e. they will be shipped as they come from upstream16:09
dpmFirst of all, I'll start with a bit of background for those of you not yet too all familiar with translations16:10
dpmLaunchpad Translations16:10
dpm----------------------16:10
dpmAs you might know, in Ubuntu we use our very own translations tool: Launchpad Translations16:10
dpmLaunchpad Translations allows distributed translation of our Operating System, by a large number of volunteer contributors, who work hard to ensure Ubuntu is well localized for everyone to use it in their own language.16:11
dpmYou can see the Ubuntu translations here: https://translations.launchpad.net/ubuntu16:11
dpm(you can choose a distro series there, e.g. Natty to see the stats)16:11
dpmThere you'll see a list of translatable applications and documentation, ordered by priority16:12
dpmUbuntu is currently translated in more than 200 languages, with different levels of coverage, and can easily support more.16:12
dpmYou can see the languages supported of in the last stable version of Ubuntu here:16:12
dpmhttp://people.ubuntu.com/~dpm/ubuntu-10.10-translation-stats.html16:12
dpmMany of those translations are done by upstream translation communities, and they also get imported into Launchpad during package uploads16:12
dpmThe Ubuntu Translations Community16:13
dpm---------------------------------16:13
dpmI won't dwell too much on this subject, as I think as a packager you might be more focused on the technical side of things.16:13
dpmNevertheless, I'd like to add a few words about the Ubuntu Translations community, since I think, be it for the subject of this talk, or be it because we are all part of the bigger Ubuntu family, it is important for those working directly or indirectly with translations to know more about it.16:13
dpmUbuntu Translators are a vast number of volunteers who organise themselves in translation teams, appointed to be responsible for the translation of a given language.16:14
dpmAnd they just rock.16:14
dpmYou can see the full list of Ubuntu translation teams here:16:14
dpmhttps://translations.launchpad.net/+groups/ubuntu-translators16:15
dpmWith your translation uploads you'll be enabling them to deliver Ubuntu in hundreds of languages, to many, many people16:15
dpmSo time to feel proud now :)16:15
dpmLanguage Packs16:15
dpm--------------16:15
dpmbtw, I guess there were no questions so far, if there is anything that was not clear, feel free to ask16:16
dpmIn Ubuntu we ship all translations in dedicated .deb packages called language packs16:17
dpmPackages in main and restricted don't contain translations in the form of .mo files themselves16:17
dpm(if you are not familiar with them, .mo files are a type of binary files where translations are loaded from at runtime. The source for translations are textual .po files that get compiled into the final .mo files)16:18
dpmThey are stripped during the build on the Launchpad buildds and put into the language-pack-* packages instead.16:18
dpmThere is a set of language packs per language16:19
dpmThey are divided roughly between generic translations and those which are used in a GNOME-based desktop and those used in a KDE-based desktop16:20
dpmWe essentially make use of language packs to deliver translations independently from applications and thus we're able to ship regular translation updates throughout a distro series lifecycle.16:20
dpmTranslations Import Workflow16:21
dpm----------------------------16:21
dpmOn a 1000 feet view, what happens when you do a package upload is that their translations get stripped by a tool called pkgbinarymangler, and they are put in a translations tarball containing a translations template (more on this later on) and the translations themselves.16:22
dpmThis tarball is then fed to Soyuz, which ends up handing it to the translations imports queue. There, they will be eventually processed, approved and imported into Launchpad, at which point they will be exposed in the translations web interface ready for translators to do their job.16:22
dpmIf you are interested in seeing what the imports queue looks like, you can see the translation uploads currently pending review here:16:24
dpmhttps://translations.launchpad.net/ubuntu/natty/+imports?field.filter_extension=pot&field.filter_status=NEEDS_REVIEW&start=75&batch=7516:24
dpmThat's the global imports queue, but you can see it per package as well16:24
dpmhttps://translations.launchpad.net/ubuntu/natty/+source/gtkhtml3.14/+imports16:25
dpmThere's an example ^16:25
dpmSo now we come to the nitty gritty details... :)16:26
dpmlet's try to answer some of the questions first...16:27
ClassBotmonish001 asked: Are we taking here about the time of package installation - "stripped during the build on the Launchpad buildds and put into the language-pack-* packages instead."16:27
dpmNo, the translations are stripped during the package build. By the time the package is installed, translations are no longer in the package16:28
dpmThey will be in the language packs instead16:28
ClassBotchadadavis asked: when translations from different packages are merged into a language pack, how do you check that expressions like "File not found" are translated consistently between applications?16:28
dpmThat's something that as a packager you cannot ensure, so you'll be relying on translators to work consistently16:29
dpmLaunchpad also helps on that, giving global suggestions for translations which have the same original message in other projects16:29
dpmWhat I'm trying to say is that this is something translators are used to deal with16:30
dpmand translation consistency is part of their work16:30
dpmok, let's move on then16:30
dpmPackage Modifications for a better Ubuntu integration16:30
dpm-----------------------------------------------------16:30
dpmIn order for translations to be imported to Launchpad and in order to direct translators to the translations page to start contributing straight away,16:31
dpmwe make two main changes to the application at the packaging level:16:31
dpm* Creation of a POT file on build - We require the .deb package to produce a .pot translation template during the build, which will be imported into Launchpad and be used to expose translations for translators to do their work.16:31
dpm* Addition of the Launchpad integration library - We add some functionality to display some additional entries to the Help menu, to direct contributors to Launchpad to report bugs, submit translations and get help.16:31
dpmFor those not familiar with the concept of a POT template:16:32
dpmIt's a textual file with the .pot extension16:32
dpmand it's what Launchpad use as the source for exposing translations16:33
dpmall translations in all languages will be based on that template, which contains the translatable messages in English16:33
dpmIt's generally built by gettext-based tools16:34
dpmwhich extract translatable messages from the code in an application16:34
dpmand put them in the textual .pot file16:34
dpmGenerating POT templates16:34
dpm~~~~~~~~~~~~~~~~~~~~~~~~16:34
dpmFor pkgstriptranslations (in the pkgbinarymangler package) to do the job right and translations to be imported into Launchpad,16:34
dpmyou should make sure that your package in main or restricted generates a POT translation template during the build.16:35
dpmIt does not necessarily need to be shipped in the source or in the binary package.16:35
dpmGenerating it during the build is good enough.16:35
dpm-> Note that if your package does not generate a POT template on build, its translations will remain as Blocked in the Launchpad Translations import queue and will not be imported16:35
dpmSo it's important to get this right16:35
dpmThe most common approaches are running either of the following in the debian/rules file:16:36
dpm* For packages using CDBS and automake:16:36
dpm  * You just need to include /usr/share/cdbs/1/rules/langpack.mk in debian/rules16:36
dpm  * If the package is a GNOME one, and you are using the gnome.mk CDBS class already, you should be good to go, since it already includes langpack.mk16:36
dpm  * If for some reason the POT template cannot be generated during the build, see the next points below.16:36
dpm* Other packages, using intltool usually require:16:37
dpm  * A call to intltool-update -p in debian/rules, or16:37
dpm  * a call to an already existing Makefile target to build the POT (this does exist quite often in fact).16:37
dpm* For packages which don't use intltool:16:37
dpm  * Need to get fixed individually:16:38
dpm  * Usually by adding a call to xgettext and po/POTFILES.in, or16:38
dpm  * Finding an already existing Makefile target. e.g. Use $(MAKE) -C po update-po instead of (cd po; make update-po; cd ..). Example in the debian/rules file from upower:16:38
dpm    common-post-build-arch::16:38
dpm            make -C po upower.pot16:38
dpm* Packages which use python-distutils-extra:16:38
dpm  * Template creation should happen automagically :)16:39
dpmoh, btw:16:39
dpmGettext is the underlying and most widely used technology to enable translations of Open Source projects.16:40
dpmIntltool is a higher level tool that adds functionality to gettext by allowing the extraction of translatable strings from a variety of file formats.16:40
dpmQuestions so far?16:40
dpmIs it clear that Ubuntu packages need to generate a .pot file during the build?16:41
dpmok, next then16:41
dpmThe Launchpad Integration Library16:41
dpm~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~16:41
dpmUbuntu applications use the Launchpad integration library to provide shortcuts to Launchpad to obtain help, report bugs and submit translations.16:42
dpmYou can see it in action in every application's help menu, and it lives here:16:42
dpmhttps://launchpad.net/launchpad-integration16:42
dpmNote that this only works for Ubuntu packages available in the repositories. The Launchpad integration library does not work with PPAs or other projects hosted in Launchpad.16:42
dpmIt has bindings for several languages. An example in Python:16:42
dpm        import LaunchpadIntegration16:43
dpm        LaunchpadIntegration.set_sourcepackagename('my_app')16:43
dpm        LaunchpadIntegration.add_items(self.builder.get_object('menu_help'), 0, False, True)16:43
dpmUnless the packaged application itself makes use of it already, you should add it as a patch.16:43
dpmIf you want to see a couple of examples, these bugs will help you learning how you can add support for the Launchpad Integration Library to your package:16:43
dpmhttps://bugs.launchpad.net/bugs/43674216:44
dpmhttps://bugs.launchpad.net/bugs/50839516:44
dpmVerifying Packages16:44
dpm------------------16:44
dpmFinally, here is a small recipe and some guidelines to help you test and optimize your packages, so that translation-related files get automatically imported seamlessly into Launchpad.16:44
dpmGenerally, you will only need to do this once when setting up your package the first time, altough it can also be useful to debug import problems, for example16:44
dpmTesting the package locally16:49
dpm~~~~~~~~~~~~~~~~~~~~~~~~~~~16:49
dpmTo test if your package conforms to the requirements of the import script in the Launchpad imports queue, you can do the following:16:49
dpmoops short disconnection :)16:50
dpmanyway, let's continue...16:50
dpm* Template name and domain: the filename of the template (.pot file) should be the same as what the expected translation domain is.16:50
dpm* Translation filenames: the actual translations (.po files) must have a filename of the format $LANGUAGECODE.po or $LOCALECODE.po (e.g. de.po, pt_BR.po, zh_TW.po)16:51
ClassBotThere are 10 minutes remaining in the current session.16:51
dpm* Template and translations location: all translation-related files (the .pot template and its corresponding .po templates) must end up in the same (sub-)directory if possible.16:51
dpm* Obsolete translations: if there are .po files present in the package but no associated .pot template, please remove them, since they cannot be used without a .pot template.16:51
dpm* Valid POT template: please check if the .pot file has any meaningful content. Empty .pot files should best be removed and the package build rules be fixed.16:51
dpm* Templates generated by patches: if your package contains patches and those patches result into extra templates, like patches.pot, please merge those changes into the main template16:52
dpmAnyway, that was it for the session content,16:52
dpmI hope you found it useful16:52
dpmIf you've got any questions related to the session or to translations in general, now feel free to ask! :-)16:53
dpmQ+A16:53
dpm---16:53
ClassBotchadadavis asked: does the Launchpad integration provide any services for PPA packages? Since it's not officially supported/working on those?16:53
dpmAs far as I know, it works only if there is a package available in the Ubuntu repositories, but I haven't tried it with PPAs16:54
dpmAny more questions?16:55
ClassBotThere are 5 minutes remaining in the current session.16:56
=== mdeslaur_ is now known as mdeslaur
dpmok then, if there are no more questions we'll wrap up early16:58
dpmThank you very much for your attention, I hope you enjoyed it and I hope to see you soon!16:58
dpmI'll now leave you in the able hands of Kaleo, who'll tell you all about Getting Started with Unity 2D!!16:59
dpmEnjoy!16:59
dpmit seems Kaleo is not here yet, and I see there is a question, so I'll try to answer that one in the meantime17:00
ClassBotmonish001 asked: What if i want the enduser to choose the language?17:00
=== 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: Getting Started with Unity 2D - Instructors: Kaleo
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/03/03/%23ubuntu-classroom.html following the conclusion of the session.17:01
dholbachKaleo has been caught up in something else important. I'll keep you posted. Hold tight.17:02
dholbachthanks a lot Kaleo17:05
dholbachwith just 5 minutes delay, I give you Florian "Kaleo" Boucault, one of the masterminds behind Unity 2D17:05
dholbachenjoy the session :)17:05
KaleoThanks people for joining in17:06
KaleoI will give a brief overview of Unity 2D17:06
KaleoAnd let you guys shoot questions my way17:06
KaleoUnity 2D is essentially an implementation of the Unity user interface using Qt and QML17:07
Kaleoit reuses the same backend technologies used in Unity proper17:07
Kaleolibbamf, libdee, libunity, places, etc.17:07
Kaleoand intends to provide a UI that matches Unity proper as much as possible17:08
KaleoThe rationale behind Unity 2D is that we want to run on platforms that do not provide accelerated OpenGL17:08
KaleoQUESTION: < jack002> what are those: libbamf, libdee, libunity, places,17:08
KaleoBAMF provides application matching services: it tells you what applications are running on the desktop and informations about them17:09
Kaleolibdee is a way to publish lists of data over D-Bus17:09
Kaleoplaces are the providers of data for the dash (the dash is the thing that comes up when you click on the Ubuntu button in the top left corner)17:10
KaleoFor those who want to try out Unity 2D, you can find it in a PPA for Natty17:11
KaleoWe also provide a stable version for Maverick in the same PPA but it does not contain the latest features17:11
Kaleo< monish001> QUESTION: how to find it in a PPA for Natty?17:12
Kaleohttps://launchpad.net/~unity-2d-team/+archive/unity-2d-daily17:12
=== dholbach_ is now known as dholbach
KaleoUnity 2D is the default interface for ARM based Ubuntu isos17:13
KaleoFor developers17:15
Kaleoand people interested contributing to it17:15
Kaleowe have a home on the ubuntu wiki17:15
Kaleohttps://wiki.ubuntu.com/Unity2D17:15
KaleoIn terms of architecture17:16
KaleoUnity 2D is divided into:17:16
Kaleo- window management (using metacity)17:16
Kaleo- a top panel17:16
Kaleo- an application launcher on the left17:16
Kaleo- the dash search interface17:16
Kaleo- a workspace switcher17:16
Kaleothey are all separate applications/processes17:16
Kaleothe code (hosted on launchpad with Bazaar) reflects that separation of components17:17
Kaleoeach having its directory:17:18
Kaleo- panel17:18
Kaleo- launcher17:18
Kaleo- places (= dash)17:18
Kaleo- spread (= workspace switcher)17:18
Kaleometacity being mostly upstream with around 3 small patches17:18
Kaleo18:17 < chadadavis> The current natty seems to already have it in the default repositories.17:19
KaleoThat's correct17:19
KaleoWe pushed a recent version into Natty last week17:19
Kaleobut I really recommend the PPA17:19
Kaleowhich contains critical bug fixes17:19
Kaleo18:19 < abhinav> QUESTION: what languages can we use for development ? and can development be done on Maverick or Natty is absolutely necessary ?17:20
KaleoUnity 2D is written in C++, QML and incidentally Javascript17:20
KaleoC++ is used to create APIs that the user interface written in QML uses17:20
KaleoQML is a declarative language to describe user interfaces; it is part of Qt17:21
KaleoDevelopment is now only done on Natty17:21
KaleoWe stopped developing on Maverick 2 weeks ago17:21
KaleoOnly backporting essential bug fixes17:22
Kaleo18:20 < rsajdok> QUESTION: Can you describe how to run unity-2d-launcher with gdb and any function?17:22
KaleoIf you have Unity 2D installed from the PPA17:22
Kaleoand if Unity 2D is running17:22
Kaleoyou can attach gdb to the unity-2d-launcher process17:22
Kaleo ps aux | grep unity-2d-launcher will give you the PID of it17:23
Kaleosudo gdb -pid PID_OF_LAUNCHER17:23
Kaleowill give you the gdb prompt17:23
Kaleorsajdok: does it answer your question?17:23
Kaleo< jack002> QUESTION: Is there any plan to implement "windows tiling" like in Windows? I constantly need two programs opened like Firefox and Terminal.  Switching between them is annoying, resizing windows is time consuming...17:26
KaleoThere is no plan for windows tiling as far as I know17:26
KaleoSorry :(17:26
Kaleo< monish001> QUESTION: Could we expect projects from unity 2D for GSoC 2011?17:27
KaleoWe have not thought about it at all17:27
KaleoIt sounds like a great idea17:27
KaleoI would love any help we can get :)17:27
=== ClassBot_ is now known as ClassBot
=== jussi01_ is now known as jussi
KaleoFor people who want to chat about Unity 2D in general17:30
Kaleowe hang out on #ayatana on freenode17:31
Kaleowith the Unity proper people17:31
Kaleoagateau, oSoMoN and uriboni are the people to talk with17:31
Kaleoby uriboni I meant nerochiaro!17:31
KaleoOk, well17:35
KaleoI feel we are running out of questions17:35
KaleoThank you all for the good questions and your time17:35
KaleoI will stay here longer in case any question comes up17:36
Kaleo18:35 < raki__> i would want to help too how can i start?17:36
KaleoStart by installing it and trying it out17:36
KaleoIf you like it17:40
KaleoI suggest you find something you would like to improve17:40
KaleoAnd start from there17:40
KaleoThe wiki page is a great starting point17:40
Kaleohttps://wiki.ubuntu.com/Unity2D17:40
=== leila is now known as Guest82995
Kaleo< monish001> QUESTION: do we have something called unity 3d also>17:40
KaleoUnity 3D is a nickname for Unity proper, Unity you get by default in Ubuntu Natty17:40
Kaleo< Mkaysi> QUESTION: Is Unity2D going to be shopped with Natty, if someone uses computer, which can't run Unity 3D?17:41
KaleoNo, it will not be installed by default17:41
KaleoIt will not be on the CD17:41
Kaleobut it is installable via the packages very easily17:41
=== Kmos is now known as Guest60040
Kaleo< rsajdok> QUESTION: It started but I can not set backtrace on function launcherapplication::launch()17:41
Kaleofor that you will need to run from the source code17:41
Kaleoby that I mean17:41
Kaleoget the source code as indicated on the wiki page17:41
Kaleocompile it17:41
Kaleoand then start the launcher from there using gdb:17:42
Kaleobzr branch lp:unity-2d17:42
Kaleocd unity-2d17:42
Kaleocmake . && make17:42
Kaleogdb ./launcher/app/unity-2d-launcher17:42
Kaleoshould do it17:42
=== yofel_ is now known as yofel
KaleoQUESTION:17:52
Kaleo< raki__> suppose if i want to develop something for unity then will i have to learn qml or c++ is enough?17:52
Kaleo< raki__> and what are you using javascript for?17:52
Kaleoif you are going to touch the user interface at all you will need to understand QML17:53
KaleoJavascript is used inside QML17:53
Kaleobut no worries, QML is really as easy as it gets17:53
Kaleothe learning curve is not so high if you did UIs before17:53
Kaleo monish001> QUESTION: could you provide any good tutorial for QML to get started?17:56
Kaleothe QML documentation is quite good17:57
Kaleoand there is an official tutorial17:57
Kaleohttp://doc.qt.nokia.com/4.7-snapshot/qml-tutorial.html17:57
=== msnsachin12 is now known as msnsachin
=== 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: Q+A with Ubuntu Engineering Director - Instructors: rickspencer3
rickspencer3hello all18:01
=== Guest60040 is now known as KKmos
rickspencer3I guess there's no intro or such, just dive in?18:02
rickspencer3so, I'm Rick Spencer18:02
rickspencer3I'm currently the director of engineering for Ubuntnu Engineering18:02
rickspencer3which basically means that I help the teams that create Ubuntu, Ubuntu Server, Ubuntu Arm editions, Ubuntu virtual images, etc...18:03
rickspencer3I'm happy to take questions on any and all topics18:04
rickspencer3please note that I don't typically have a lot of fine grained technical context on some things, so I may have to refer you to others for certain things18:04
rickspencer3I guess I'll just hang out and see if I get any questions?18:04
ClassBotmhall119 asked: What do you do as Engineering director?18:06
rickspencer3well, the Engineering Managers, and the our release manager and our technical architect all report to me18:06
rickspencer3so, there is a lot of my job that is typical people management18:07
rickspencer3making sure people have what they need to do their jobs18:07
rickspencer3signing off on holiday requests and expense reports, that kind of stuff18:07
rickspencer3also, the Engineering Managers (as well as Kate and Allison - release manager and technical architect) and I are all a management team18:08
rickspencer3so I have some leadership roles on that team18:08
rickspencer3for instance, I try to herd this particular herd of cats through planning UDS18:08
rickspencer3another part of the role is around product management18:08
rickspencer3this involves a lot of working with folks in the Ubuntu community, upstreams, Canonical, etc... to understand what they need or want to do with Ubuntu18:09
rickspencer3and I try to get everyone aligned to make those things happen18:09
rickspencer3Director of Engineering sounds like a role with a lot of Authority ... but it's not really that kind of job18:12
rickspencer3I do try to use the position to influence the project though in ways that I think are important18:12
rickspencer3for instance, in Natty I wanted to see more work to enable community contributions to land easily, so I worked with the community team and engineering managers to make sure that Canonical engineers could do that18:15
rickspencer3hmm ClassBot stopped working for me :/18:15
rickspencer3I'll go copy and paste method18:15
rickspencer3QUESTION: What challenges do you see in recruiting and keeping good people?18:15
rickspencer3well, for Ubuntu Engineering, their are a couple of challenges18:15
rickspencer3first, people do best when they are comforatable working in a transparent community minded manner18:15
ClassBotjsjgruber asked: What challenges do you see in recruiting and keeping good people?18:15
rickspencer3hmmm, freenode seems to be acting a bit wonky, please try to bear with me here18:15
=== daker is now known as angeldaker
=== tubadaz_ is now known as tubadaz
rickspencer3so, finding engineers and managers who *like* to work on a community project can be difficult at times18:16
rickspencer3like, we may find someone who knows a technical space really well, but is not comforatable working in the open18:17
rickspencer3another aspect is that Canonical folks who get paid to work on Ubuntu work at home18:17
rickspencer3but then that is punctuated with travel18:17
rickspencer3personally, I love the lifestyle, but it's not for everyone18:17
=== JayFo is now known as JFo
rickspencer3also, for my part, I am very picky18:18
rickspencer3I really look for people who are "awesome" in multiple ways, so it can take longer to fill some roles18:18
rickspencer3finally, we work really hard, but have high standards in terms of being easy to work with18:19
rickspencer3so that's recruiting18:19
rickspencer3in terms of retaining, this has not been so challenging, we don't get too much turn over18:19
rickspencer3but when people do leave, they seem to become more like alumni than "ex-Canonical" folks18:19
rickspencer3so it seems that in general people depart on good terms18:19
ClassBotmhall119 asked: Do you have any specific goals for the Natty Cycle, and if so who are those going so far?18:20
rickspencer3hey, classbot is working again!18:20
rickspencer3anyway18:20
rickspencer3YES!18:20
rickspencer3hold on18:20
rickspencer3so, there are goals that are project wide, then my personal goals18:20
rickspencer3for the project wide goals, there was a lot of focus on the client18:20
rickspencer3we had 5 primary areas for Canonical folks to focus on on the client18:20
rickspencer31. Unity (natch)18:21
rickspencer32. 2d experience18:21
rickspencer33. software center18:21
rickspencer34. contributors (as previously mentioned)18:21
rickspencer35. testing18:21
rickspencer3this last bit is new to us18:21
rickspencer3for my perosnal goals, I wanted to see:18:21
rickspencer31. more nurturing of new contributors18:21
rickspencer32. more and better communication across the project18:21
rickspencer33. more systematic release process with better quality18:22
rickspencer3I think that #1 has gone pretty well thanks to the community team and the redoubled efforts of Canonical engineers AND Ubuntu engineers18:22
rickspencer3for instance, the sponsorship queue hit a low of only 14 items earlier this week18:22
rickspencer3#3 has gone well thanks to the efforts fo skaet and many others18:23
rickspencer3#2, I'm not to sure we made much progress there, it's a hard problem18:23
ClassBotchadadavis asked: Is there are hard line between Canonical employees and others, or does Canonical sponsor / support some developers part time as well?18:23
rickspencer3well ...18:23
=== AndrewMC is now known as Guest30896
rickspencer3to be a Canonical employee working in Ubuntu essential means that you get paid by Canonical to work in the Ubuntu community full time18:24
rickspencer3so, the community of Ubuntu developers is a super set of the developers that Canonical pays18:25
rickspencer3however, Canonical does, from time to time, outsource some development work on Ubuntu, but typically for projects for which Canonical is the usptream18:25
rickspencer3for example, to finish off parts of Unity18:25
rickspencer3normally, but not always, that will go through a company like Codethink, or Collabora18:25
ClassBotfisch246 asked: i realize this is really early... but has there been any talk on 11.10 yet? any ideas being passed around? care to share any?18:26
=== Guest30896 is now known as AndrewMC
rickspencer3it is early, but not really really early18:26
rickspencer3allison (wendar) the Technical Architect on our team ... is going to work on getting all the great ideas from users and developers organized 11.10 UDS, and I think she's going to start that soon18:27
rickspencer3so at the product level, what will ubuntu *be*, nothing really specific comes to mind18:27
rickspencer3however, in terms of the project, I would like to see more nurturing of new contributors, but also18:27
rickspencer3revisit if existing core contributors are being sufficiently and properly supported18:28
rickspencer3also, the whole project wide communication part, I'd like us to take another whack at that18:28
rickspencer3one area that does occur to me for the project is how users actually get Ubuntu18:29
rickspencer3I'm wondering if having basically a set of CD ISOs should be the only way to get Ubuntu, or if there should be others18:29
rickspencer3like should we have a tool for creating a USB stick18:29
rickspencer3or maybe you we could use a net-install kind of thing18:30
ClassBotmhall119 asked: Last I heard, Canonical doesn't run a private UEC cloud for their own websites (or community-run sites like loco-directory), why is that and is there any plans to change?18:30
rickspencer3Canonical has an IS team that sets up all that infra structure and such18:31
rickspencer3I very much trust that they make good decisions about how best to support Ubuntu, so I never really looked into this18:31
rickspencer3so, I can't really answer your question18:31
rickspencer3if you PM me, I can work to connect you with someone who could though18:31
ClassBotgaberlunzie asked: when is Libre.fm going to get some love to make it into Banshee or other?18:32
rickspencer3sorry, I have no idea18:32
rickspencer3I would follow up with jasonwarned, he hangs out in #ubuntu-desktop18:32
ClassBotdarkdevil666 asked: Any thought of implementing gnome shell 3 in later versions?18:32
rickspencer3sure18:32
rickspencer3I look at it in 2 ways18:32
rickspencer3first, Ubuntu should always offer the choices of the best in FOSS software18:33
rickspencer3so, when we are able, it should be trivial to install a gnome-shell session on Ubuntu18:33
rickspencer3secondly, if in the long run, gnome-shell turns out to be simply the best choice for users, we shouldn't hesitate to embrace it18:33
rickspencer3currently, I think we are on a good path with Unity18:34
rickspencer3but heck, who knows what things will be like a year from now, we shouldn't fear changing trajectory if it's the right thing for usres18:34
ClassBotfisch246 asked: do you know how canonical plans to implement Wayland, in the next several years?18:35
rickspencer3slowly and carefully :)18:35
rickspencer3seriously, between bryce, RAOF, tselliot, and others, Ubuntu has a lot of graphics stack expertise18:35
rickspencer3then there is the whole xorg-edgers community as well18:36
rickspencer3so, a really large group of engineers who know this stuff up and down, backward and forward18:36
rickspencer3I would expect that the first implementations that use wayland would be hardware specific, but that's a guess on my part18:36
rickspencer3sorry I don't have more specifics there, but Ubuntu xorg community is pretty easy to find and discuss with18:37
ClassBotmhall119 asked: Is Ubuntu going to target any other formfactors, tablets or phones or tabletop devices?18:37
rickspencer3currently, I don't know of any specific plans for *Canonical* to do that18:37
rickspencer3however, I understand that other companies are already doing this18:38
rickspencer3I think that with Unity and the multitouch efforts, Ubuntu makes a good platform for this, though18:38
rickspencer3I don't know of any community effort to make a derivative atm18:38
rickspencer3I expect that some of the work that Linaro is doing in terms of supporting ARM architectures will really really help with this if someone wanted to go down that route18:39
ClassBotdarkdevil666 asked: We already have Ubuntu for netbook, for Tablet PCs with touch interface. I'd really want to see Ubuntu being operated by voice commands. Are there any teams working on it. I'd like to be a part of it18:39
rickspencer3hmmm, none that I know of18:39
rickspencer3darkdevil666, this sounds like a great opportunity for you to provide some leadership in our community if this is an area that you are passionate about18:39
rickspencer3I bet there is technology out there that could be leveraged for this18:40
rickspencer3and maybe you could be the instrument to make this happen18:40
rickspencer3if you PM me I can try to connnect you with resources to get you started18:40
rickspencer3ok, there are no questions in the queue, but there was a follow up question about USB creator18:41
rickspencer3so, we do have that, and it's good18:42
rickspencer3but I was thinking, what if you were using a proprietary operating system, and there was some Free software that you could install ...18:42
rickspencer3and this Free software would download Ubuntu and create a Ubuntu USB stick for you18:42
rickspencer3also ..18:42
rickspencer3and this is pie in the sky ...18:42
rickspencer3what if you could go to a web site or run a program, and point and click at feautres that you want, and have it create a USB stick for you, like that18:43
rickspencer3maybe even in the language(s) that you want18:49
rickspencer3that kind of thing18:49
ClassBotabhinav asked: I don't know if it's stupid to ask. But I started with fixing bugs after the Ist day of UDW. Now, I am confused that if Feature Freeze has been called then will my patches be accepted or reviewed ?18:49
rickspencer3they should all be reviewed18:49
rickspencer3if they are bug fixes, well that's great!18:49
rickspencer3if they are good fixes they will be accepted18:50
rickspencer3however, if your patches add new features, they will not *automatically* be accepted18:50
rickspencer3new features require a Feature Freeze Exception18:50
rickspencer3so, the point of Feature Freeze is to say "from now on, focus 100% on fixing bugs"18:50
rickspencer3so keep fixing those bugs, they will be most awesomely appreciated now18:50
rickspencer3:)18:50
rickspencer3hmm freenode seems to be lagging for me again18:50
ClassBotgaberlunzie asked: what is the current opinion and status among engineers on pulseaudio integration?18:50
rickspencer3I can speak for myself here18:50
=== cmagina is now known as cmagina-lunch
rickspencer3first, I know the road was a bit rocky18:50
rickspencer3but pulseaudio was an awesome contribution to free software18:50
rickspencer3I am very grateful to the pulseaudio upstream18:51
ClassBotThere are 10 minutes remaining in the current session.18:51
rickspencer3in terms of integration, well I think it's going well now18:51
rickspencer3pulse itself is stable and we've had several cycles to accumulate quirks and such18:51
rickspencer3fwiw, it works well for me, and I definately field fewer complaints about it18:52
=== zkriesse_ is now known as zkriesse
=== 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: Getting your app into Ubuntu (Post-release) - Instructors: stgraber
stgraberHey everyone !19:01
* stgraber hopes the bot won't die and freenode isn't as laggy as it was for the previous session ...19:02
stgraberok, so let's start19:03
stgraberHi everyone, I'm St├ęphane Graber, an Application Review Board member.19:03
stgraberIn this session, I plan on quickly explaining what the ARB does and how you can get your app on extras.ubuntu.com19:03
stgraberPlease feel free to ask any question in #ubuntu-classroom-chat, prefixing them with "QUESTION: " so the bot gets them.19:03
stgraberfirst a quick intro on what the ARB does19:04
stgraberThe Application Review Board is responsible on reviewing applications to be included in extras.ubuntu.com.19:04
stgraberThese apps are extra application that are usually quite small and simple and weren't present in the archive at the time of the release.19:04
stgraberThis process is mostly meant for upstream developers of a small app who wants it available in Ubuntu.19:05
stgraberApps must be Open Source and available under an OSI approved license.19:05
stgraberThese extra apps aren't supported or maintained by the Ubuntu community, it's the application author's responsability to take care of bug fixes and security updates.19:05
stgraberIf for some reason this doesn't happen, the app will be removed from the repository.19:06
stgraberFor new version of a package that already existed in the archive at the time of the release, the backport process should be used instead.19:07
stgraberAn ARB member is assigned to each proposed app and will review it and comment on Launchpad19:07
stgraberWhen they are confident the app is in a good shape, it'll be submitted for vote at our next IRC meeting (every two weeks).19:07
stgraberSo far for maverick, we only have one app on extras.ubuntu.com, suspended-sentence by tumbleweed19:07
stgraberwe have another one that got approved and will be in extras.ubuntu.com as soon as the screenshot branch will be processed by Canonical IS19:08
stgraberthis one being a news rss ticker19:08
stgraberany question so far ?19:08
stgraberok, seems like there's none :)19:10
stgraberso I'll now quickly go through the process of getting a new app on extras.ubuntu.com19:10
stgraberFirst thing if you want to get your app in the extra repository is to make sure it meets our criteria.19:11
stgraberIt needs to be a standalone app, run as the user, not ship with any kind of daemon and can't depend on anything that's in extra.19:11
stgraberYou can't submit an app that was already in the distro at release time, even if it's a new major version.19:11
stgraberThe basic process is:19:12
stgraber1) Release your app and learn how to package it19:12
stgraber2) Review https://wiki.ubuntu.com/AppReviews19:13
stgraber3) Update the packaging accordingly and upload your app to your PPA19:13
stgraber4) File a bug at https://bugs.launchpad.net/ubuntu-app-review-board/19:14
stgraber5) Wait for an ARB member to comment in the bug19:14
stgraber6) Fix anything that needs to be fixed, updating the version in your PPA19:14
=== cmagina-lunch is now known as cmagina
stgraber7) When the ARB member is happy with your packaging, the app will be sumitted for vote at our next meeting (you don't necessarily need to be present)19:15
stgraber8) If it gets approved, an ARB member will ask for the screenshot branch to be merged and published, as soon as it's done (can take a while), your package will be uploaded19:15
stgraberand that's about it19:16
stgraberso far the most issues we got were with getting everything to stay in /opt except the .desktop files19:16
stgraberalso, the 8th step can take quite a while (up to a month) due to the process not being automated yet, we hope to have that improved quite soon19:17
ClassBotfisch246 asked: if i was releasing a game in the extras repo, that was written in python 3.1, would that mean i couldn't ship it with python 3.1?19:18
stgraberif python 3.1 doesn't exist in the target release and you need it for your app then indeed you won't be able to get it into extra19:19
ClassBotmhall119 asked: will packages in extra be automatically rolled into universe (or multiverse) for the next release?19:19
stgraberno, at least not automatically19:20
stgraberwe still strongly recommend whoever uploaded something to extras to get the package in universe for the next release or even more, into Debian and synced to Ubuntu19:20
stgraberpackages in extras won't be copied to the next release either19:21
=== ghostcube_ is now known as ghostcube
stgraberso it's really a good idea to get them into universe so you don't have to go through the ARB process again19:21
stgraberand so your app eventually gets into Debian and can benefit from team maintenance, the bug tracking system and more generally a larger user base19:22
ClassBottiteuf_87_ asked: when a new version of Ubuntu gets released, will all the apps need to be approved again, or that's not needed anymore?19:22
stgraberall the post-release apps will need to be reviewed again, though hopefully they'll have been pushed to universe by then and won't need to go through the post-release process again19:23
ClassBotmhall119 asked: So to stay in extra, you need to re-apply on each Ubuntu version?19:23
stgraberthat's correct, though we definitely don't recommend doing that ;)19:23
ClassBotbarcc1 asked: Is it possible to get plugins (e.g. for gedit) in extra?19:24
stgrabergood question, we didn't get any plugin in our queue yet, but I wouldn't think that'd work19:25
stgraberas the plugin would need to be in /opt and it's not likely any application like gedit would look in there for plugins19:25
stgraberalso, the current criteria says "executable applications" which probably wouldn't apply to plugins19:26
stgraberbut there was discussion of being able to ship unity places or similar plugins in the extras repository with unity being updated to look in /opt (not sure if that's going to happen any time soon though)19:26
=== croppa_ is now known as croppa
stgraberthe current queue for post-release packages is available here: https://bugs.launchpad.net/ubuntu-app-review-board/+bugs19:29
=== apachelogger_ is now known as apachelogger
stgraberand most of the documentation on how to get an app in the repository is here: https://wiki.ubuntu.com/AppReviews19:30
stgraberany other question ?19:30
ClassBotseidos asked: how is it checked that an app is secure?19:31
stgraberwe usually do a full code review, if the code is considered too complex, we'll decline the app19:32
stgraberwe also make sure the app won't listen on the network and won't start a daemon19:32
stgraberI also tend to run the app in a sandbox (using arkose) to check what the app reads/writes on the disk as well as network access19:33
ClassBotseidos asked: why must "question:" be capitalized?19:34
stgraberas I got your question twice, I don't think the bot is case sensitive ;)19:34
ClassBotseidos asked: do you work for ubuntu or canonical?19:34
stgraberI work on Ubuntu and Edubuntu for Revolution Linux in Sherbrooke, QC19:35
ClassBotseidos asked: which is the most secure version of ubuntu?  lts?  newest?19:35
stgraberany supported release is usually quite secure as security updates are checked for all supported versions and pushed usually at the same time to all of them too19:36
stgraberI usually always run LTS releases on the servers to get a longer life cycle19:37
stgraberand the latest stable release for desktop computers19:37
stgraberand usually whatever is the current dev release on my laptop, though running the current dev version can be dangerous both from a stability than a security point of view ;)19:37
ClassBottiteuf_87_ asked: should bugs for extra apps be submitted in launchpad? Or directly to the author of the app?19:38
stgraberpackages in extras.ubuntu.com don't have a https://bugs.launchpad.net/ubuntu/+source/<source package name/+bugs page so it's not possible to report bug against them19:38
stgraberit's usually best to contact the author/packager of the app and if it's a serious security issue and you don't get a reply, then contact the ARB directly19:39
stgraberso we can try to contact the author again or even remove the app from extras.ubuntu.com if needed19:39
ClassBotseidos asked: i have an idea for a "medicine app" who should i get in touch with?19:40
stgraberif it's an existing app you want to make available, then getting familiar with packaging and the post-release app process is probably what you should do19:40
stgraberif it's for a new non-existing app, then I honestely don't know much about the "medicine app" community to answer that question19:41
stgraberbut it's probably best to contact someone who's already involved in that community to find other people to work with and start developping it19:41
ClassBotseidos asked: how can i find that community?  or would i have to create it?19:43
stgraberI'd suggest looking for similar apps in the archive, check who's writting them and try to contact one of the upstreams19:44
stgraberthat's probably the best way of getting introduced to people doing something similar to what you want to do19:44
=== _LibertyZero is now known as LibertyZero
ClassBothighvoltage asked: would the ARB be open to infrastructure on Ubuntu in the future that would allow Android apps in the extras repository?19:47
stgraberinteresting question19:49
stgraberwe discussed it a bit at the last UDS and it's something I'd personaly be fine with19:49
stgraberthough we'd probably find some way of allowing all Android apps to run then rather than having to review them one by one19:50
stgraber(making sure they're sandboxed properly so even evil/badly coded ones can't harm your system)19:51
ClassBotThere are 10 minutes remaining in the current session.19:51
ClassBotThere are 5 minutes remaining in the current session.19:56
stgraberok, as there's no more question, now is time for a 5 minutes break before bdrung starts talking about the good stuff in ubuntu-dev-tools19:56
stgraberthanks everyone for attending19:56
=== 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: Good stuff in ubuntu-dev-tools - Instructors: bdrung
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/03/03/%23ubuntu-classroom.html following the conclusion of the session.20:01
bdrunghi everyone!20:01
bdrungi am Benjamin Drung, a Debian & Ubuntu-Developer (and a DMB member).20:01
bdrungIn this session I talk about good stuff in ubuntu-dev-tools.20:02
bdrungI will talk about some old tools, some improved, and some quite new ones.20:03
bdrungPlease feel free to ask any question in #ubuntu-classroom-chat, prefixing them with "QUESTION: " so the bot gets them.20:03
bdrungubuntu-dev-tools is a package that contains scripts and tools that are used by Ubuntu developers. You can install it with "sudo apt-get install ubuntu-dev-tools".20:04
bdrungSome tools are quite new and you need to run Ubuntu 11.04 (natty) or grab the latest version from https://code.launchpad.net/~udt-developers/+archive/daily (sorry, only maverick and natty)20:06
bdrungLet's start with the first set: pull-*-source20:06
bdrungThere are multiple ways to grab the source package.20:07
bdrungYou can either run "apt-get source <package>", but that's works only if you have the correct distros in your sources.list.20:08
bdrungEspecially if you want to pull the package from an other series or from Debian, it get's complicated.20:09
bdrungFor that reason we have the pull-*-source tool: pull-lp-source downloads a source package for a given Ubuntu series. pull-debian-source downloads a source package for a given Debian series.20:09
bdrung"pull-lp-source vlc lucid" would download the latest source package version of vlc in Ubuntu 10.04 (lucid).20:10
bdrung"pull-lp-source vlc" would pull the source package from the current Ubuntu development version (natty).20:11
bdrung"pull-debian-source vlc" would pull the source package from Debian unstable.20:12
bdrung"pull-debian-source vlc stable" would pull the source package from Debian stable and so on.20:12
bdrungQuestions?20:12
bdrungThe next tool I want to present is suspicious-source.20:13
bdrungOpen a terminal, navigate into an extracted source package and run "suspicious-source" there.20:13
bdrungThe tool will check the mimetype and extension of every file in the directory (and subdirectories) and report the ones that are not known as source files.20:14
bdrungIt's good for finding pre-compiled or generated files in a source package.20:15
bdrungI recommend to use for a first check if you package a new software.20:16
bdrungchadadavis asked: how is this different than branching from bzr?20:16
bdrungbzr branch and pull-*-source have the same purpose, except bzr gives you a branch and pull-*-source will give you only the tarballs.20:17
bdrungpull-*-source is the old way, bzr branch is the UDD way20:18
bdrungNext tools: wrap-and-sort20:18
bdrungThat tools works on the files in debian/ - especially on the control file20:19
bdrungIt work on nearly every kind of list.20:19
bdrungIn debian/control you have a list in the Build-Depends, Depends, Recommends, Suggests, ... fields.20:20
bdrungThese lists are sometimes long and written in one line.20:22
bdrungThere are two problems with such lists:20:22
bdrung1. You may have one item twice in the list20:22
bdrung2. Changing one item in the list changes the whole line and it's hard to read a diff then (especially when we merge packages from Debian)20:23
bdrungThese points can be addressed if we wrap the list (one item per line; point 2) and sort the list (point 1)20:24
bdrungJust run "wrap-and-sort" and it will sort these lists. Run "wrap-and-sort -v" to see which files are touched.20:26
bdrungOne example: Running wrap-and-sort in inkscape gives you these changes: http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=wrap-lines.patch;att=1;bug=57635720:26
bdrungQuestions?20:26
bdrungNot everyone likes the kind of indentation. Run "wrap-and-sort --short-indent" if you want only one space for indentation.20:27
bdrungNext tools: sponsor-patch20:28
bdrungThis tool is especially interesting for Ubuntu developers with upload right, who want to sponsor someone else.20:28
bdrungLet's look at http://reports.qa.ubuntu.com/reports/sponsoring/ and pick one item.20:29
bdrungFor example bug #728438.20:29
bdrungLet's run "sponsor-patch -s 728438"20:30
bdrung"-s" does the same as "-b -u ubuntu"20:30
bdrungHere's what the tools does: It pulls the patch from the bug, it download the corresponding source tarball, applies the patch, created the source tarball.20:31
bdrungBefore it created the new source tarball, it will run "update-maintainer" and update the timestamp of the changelog entry.20:32
=== popey_ is now known as popey
bdrungIt simplifies the bunch of commands that I would have to type otherwise.20:32
bdrungBut it does even more: It makes some sanity checks: Does the changelog automatically close the sponsorship bug?20:33
bdrungIs the version number greater than the current version in the archive?20:33
bdrungIs the changelog target valid? E.g. "maverick" is wrong, it must be "maverick-proposed".20:34
bdrungThen the package will be built (if you have specified -s or -b) with your builder (supported are pbuilder, pbuilder-dist, and sbuild)20:35
bdrungOne correctly built, it will give you the debdiff, the lintian run, and the build log.20:36
bdrungOnce you checked them manually, you can upload it.20:36
bdrungIf something went wrong or a sanity check failed, you will be asked if you want to fix it. If you say yes, you will get a shell, do your changes, exit with 0, and then it will try again.20:37
bdrungsponsor-patch works with debdiff, merge proposals (if the have a corresponding bug).20:38
bdrungIf you feed sponsor-patch a normal patch file, it will apply it with add-patch (another tool in ubuntu-dev-tools). Then you have to write the changelog yourself.20:39
bdrungYou can use sponsor-patch to upload the package to a PPA.20:39
bdrungQuestions?20:39
bdrungNext tool: backportpackage20:40
bdrungThis tool can be used to backport a package from a later version to an older version.20:40
ClassBotMadCow108 asked: sponsor-patch does not support cowbuilder? is it planned to add it?20:42
bdrungI have no plans to add it. Please file a bug report.20:43
bdrungBug report can be files either with "ubuntu-bug ubuntu-dev-tools" or on https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools20:44
bdrungWe have a internal interface for the builder. Adding cowbuilder support shouldn't be that hard. We just need someone who tests it. ;)20:45
bdrungbackportpackage and sponsor-patch use the same builder backend and therefore support the same types of builders.20:45
bdrungbackportpackage can build the package with your builder (pbuilder, pbuilder-dist, or sbuild)20:46
bdrungIt can upload the backported package to an PPA or it can do both.20:47
bdrungLet's give an example: "backportpackage -u ppa:bdrung/backports -b ubuntu-dev-tools"20:47
bdrung"-u ppa:bdrung/backports" says that backportpackage should upload the backported version to my PPA called backports.20:48
bdrung"-b" tells it to build the package before the upload.20:48
bdrungand "ubuntu-dev-tools" is the package to upload.20:48
bdrungif not specified, the source series is the current development series (natty) and the target series is the running series (determined by lsb-release)20:49
bdrungIf you look at https://launchpad.net/~bdrung/+archive/backports/+packages you will see ubuntu-dev-tools - 0.119~maverick1~ppa1 there.20:50
ClassBotThere are 10 minutes remaining in the current session.20:51
bdrungYou can feed every .dsc file into backportpackage.20:51
bdrungFor example I can backport adblock-plus from Debian unstable:20:52
bdrungbackportpackage -u ppa:mozillateam/xul-ext http://cdn.debian.net/debian/pool/main/a/adblock-plus/adblock-plus_1.3.3-3.dsc20:53
bdrungQuestions?20:53
bdrungMost of the new tools presented here, were written by tumbleweed and me.20:53
bdrungFeel free to poke us if you have questions about the script internals.20:54
bdrungIf you were stimulated by this talk, you can look at the package description so see which script are also available.20:55
ClassBotThere are 5 minutes remaining in the current session.20:56
bdrungEvery script in ubuntu-dev-tools has a man page. Some of them give a detailed description what they do, what parameters they take, and some examples.20:56
bdrungThanks everyone for attending.20:56
bdrungYou can listen to^W^W read more talks tomorrow.20:57
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/03/03/%23ubuntu-classroom.html21:01
=== 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 ||
=== Ptivalternative is now known as Ptival
=== mrjazzcat is now known as mrjazzcat-lunch
seidosright view, right intention, right speech, right action, right livelihood, right effort, right mindfulness, right concentration21:59
=== mrjazzcat-lunch is now known as mrjazzcat

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