/srv/irclogs.ubuntu.com/2009/01/22/#ubuntu-classroom.txt

=== Obama is now known as Guest52901
=== ssweeny_ is now known as ssweeny
=== ara_ is now known as ara
=== asac_ is now known as asac
=== Obama is now known as Guest40234
Guest40234hi11:58
Guest40234all11:58
=== srx_ is now known as [srx]
dholbachSo who's here for Ubuntu Developer Week and who's excited about it? :-)15:53
cool2kMe!!!15:53
dholbachcome on everybody! :)15:53
dholbachwho else.... don't be shy :)15:54
* MrKanister clapps15:54
* Ireyon too15:54
dholbachWho did NOT tell their friends to come yet? :-)15:54
dholbachDo it now, you still have 5 minutes before ara kicks it off! :-)15:55
aradholbach: discreet way to ping me ;-)15:56
dholbachara: I knew you'd be around, I wasn't really worried :)15:56
dholbachalrightie... we have Ara Pulido here today, who's going to talk about "Automated Desktop Testing"15:57
dholbachit'll take just an hour for you to realise that it's the best thing since sliced bread15:57
duanedesign:)15:57
dholbachif you have questions, please ASK :-)15:57
dholbachbut please ask in #ubuntu-classroom-chat prefixed with QUESTION15:58
dholbachie: QUESTION: ara: what is your favourite band?15:58
araand I would say; dholbach: Saint Etienne15:58
dholbachI'm sure you're going to have a lot of fun here, so let's have an applause for Ara!15:58
* Ireyon claps15:59
blahclaps15:59
dholbach(and you still have one minute to grab a coffee, tea or something stronger before we kick off!)15:59
* [srx] claps15:59
dholbachYAY! :-)15:59
dholbachenjoy15:59
araOK, it is 4pm UTC, I think that we can start with the session16:01
arathanks dholbach and everybody else for the warm welcome16:01
araas dholbach just said, I am going to talk about Automated Desktop Testing, but first let me tell you a secret16:02
araa secret very few developers know16:02
arait will change your life as you know it16:02
araok, here it is:16:02
aratesting software is *FUN*16:02
aranot boring, not tedious, but FUN16:03
aramy name is Ara and I am part of the Ubuntu QA Team16:03
ara(https://wiki.ubuntu.com/QATeam/)16:04
araas part of my duties in the team I have started the Ubuntu Desktop Testing project16:04
ara(http://launchpad.net/ubuntu-desktop-testing)16:04
araThe project aims to create a framework to run & write automated desktop tests for Ubuntu16:05
araTo be able to try some of the tools that I am going to present, you will need to have installed 'bzr' in your computers. If you don't have it, you can install it easly:16:05
ara$ sudo apt-get install bzr16:05
araAlso, if you don't understand something or you think I am going too fast, please, please, please, stop me at anytime (asking in the -chat room)16:06
araApe3000: QUESTION: Should I use my Intrepid desktop or Jaunty virtualbox machine?16:06
araApe3000: Both of them should work16:07
araLet's start with a brief introduction to desktop automated testing, just in case you don't know what this session is about16:07
araWith automated desktop testing we name all the tests that runs directly against the user interface (UI), just like a normal user would do16:08
araa script will run and you will start to see buttons clicking, menus poping up and down and things happening, automagically16:09
araIreyon: does that answer your question?16:09
Ireyonyes it does, thanks16:09
araIn Ubuntu we do this by accessing the GNOME accessibility layer (AT-SPI)16:09
araThis layer was originally written for assistive technologies, like screen readers and such16:10
aratechnologies to make computers accessible to people with disabilities16:10
arabut it turned out that it works pretty well for desktop automated testing16:10
arathat is why some testing frameworks use the AT-SPI layer to get access to the UI objects, get some information from them, and get them to do things (push buttons, write text, etc.).16:11
araif you want to be able to run the examples during the session you would need to enable the assistive technologies16:12
araand you must use GNOME, as the layer does not work for KDE16:12
araHere they are some instructions on how to do it: https://wiki.ubuntu.com/Testing/Automation/Desktop/#How%20to%20run%20the%20tests16:12
arabasically is checking the box in the dialog in System->Preferences->Assistive Technologies16:12
arathe bad bad bad news is that you would need to restart your gnome session if you want the changes to be applied (if you are using a virtual machine for the examples this is not as bad news)16:13
araweboide: QUESTION: Can those tests make the machine become unstable/frozen/broken?16:14
araweboide: depending on what you do with your tests :-) normally they do no harm, but the at-spi layer still have some bugs, so you may spot some of thems16:15
araFor the Ubuntu Desktop Testing project we are using LDTP (http://ldtp.freedesktop.org/), that has a python library for writing tests. This is one of those automated desktop testing frameworks that use the at-spi layer16:15
araIf you want to run the examples in this session, please, install LDTP:16:16
ara$ sudo apt-get install python-ldtp ldtp16:16
araia: QUESTION: does exist some log system in this tests, so user/developer after testing could see, what goes well and what goes wrong?16:16
araia: sure! you don't have to watch your tests as they are running. You can go and do your things and come back to check the results. We will be seeing that later on16:17
araWhen using this library you have to use some specific information from the UI in order to recognize the objects (window titles, object hierarchy, etc)16:18
araI.e. if you want to click a button in the Gedit window, first you will need to recognize the window, then obtain its children, and finally click the selected button.16:18
araIf we add all that information to the script and then the UI changes, we would need to change all the scripts to match the new UI changes.16:19
araOne of the main objectives that we are trying when we create a testing framework for Ubuntu desktop is to avoid scripts to know anything about the objects behind them.16:19
araDefinitively, these objects will still require to be maintained, but the logic of the scripts will remain the same.16:20
araOne example. Let’s imagine that we had a regression test suite for Gedit that will edit, modify, open and save several files.16:20
araIf any of the Gedit features changes its UI, only the Gedit class will be modified. All the scripts will still be valid.16:21
araThe other good thing about it is that people willing to add new test cases to ubuntu, can do it easily16:21
arathey don't need to know much about ap-spi or LDTP, just some basic python scripting will do16:21
araIf you're running Intrepid or Hardy you can get the Ubuntu Desktop Testing library as:16:21
ara$ bzr branch lp:ubuntu-desktop-testing/intrepid  ubuntu-desktop-testing16:22
araIf, by any chance, you're running Jaunty, the trunk fixes some differences in this release:16:22
ara$ bzr branch lp:ubuntu-desktop-testing16:22
araIf you find any bugs in the UDT library itself, please, report them in the Launchpad project:16:22
arahttps://launchpad.net/ubuntu-desktop-testing16:22
aradon't report them to the Ubuntu project :-)16:23
=== gman_ is now known as gman16k
araThe Library API is up-to-date and it is available at: http://people.ubuntu.com/~ara/ubuntu-desktop-testing/doc/16:23
araRight now we have classes for Gedit, Update Manager and PolicyKit and Seahorse. We also have a generic Application class to gather common behaviour from GNOME applications.16:23
araLet's see an example on the difference on writing tests for ubuntu using the testing library and using only LDTP16:24
araso you can understand better what I mean with "basic python scripting"16:24
araThis is the link to the code using the testing library: https://wiki.ubuntu.com/Testing/Automation/Desktop/HowToUseTestingLibrary/Comparison/UsingDesktopTestingLibrary16:25
arawhat would you say this code does?16:25
araweboide, Ireyon: yes. that's it16:26
arathe code is more or less self explanatory16:26
ara(and commented, just in case...)16:27
araNow the code using pure LDTP code, with out the Ubuntu Desktop testing library:16:27
arahttps://wiki.ubuntu.com/Testing/Automation/Desktop/HowToUseTestingLibrary/Comparison/PureLDTPCode16:27
araIt is not very very complicated, but the code is becoming less clear, and more difficult to understand for new people16:29
araAlso the desktop testing library include error checking code that I have removed from this example to make it clearer16:29
aranot to say that using at-spi code directly would make things even harder...16:30
araOk, let's try a small example. Remember that you will need to have the Assistive Technologies enabled to try this at home :-)16:30
araif you don't have them enabled, you can log out and come back (I will answer questions in the next 5min if people decide this) or wait and try it when the session finishes16:31
arawhat do you guys prefer?16:31
araIreyon:  I don't get the libs installed16:33
araIreyon: what libs?16:33
Ireyonthe python libs16:33
araIreyon: what error do you get?16:33
araok, we will go on16:34
araThe example that we are going to run will open gedit, will write some characters in there, will save the file, and will compare it to another one to check for pass/fail. Be sure to close all your gedit sessions before running this test, to avoid messing up your documents.16:34
araLet the magic start:16:34
ara$ cd ubuntu-desktop-testing16:35
ara$ ../bin/ubuntu-desktop-test -a gedit16:35
arachange that last one by16:35
ara$ ./bin/ubuntu-desktop-test -a gedit16:35
arasorry16:35
araOK, once that your test has finished, you can grab the logs16:37
araia: ^16:37
arathe logs can be found at ~/.ubuntu-desktop-tests/gedit16:37
arayou will find and XML log (in case you want to transform it to something else)16:37
araand a nice HTML report, in case you want to publish that somewhere16:37
=== sdx24 is now known as sdx23
araIreyon: LdtpExecutionError: "Mmm, something went wrong when saving the current document:'The mnuSave menu was not found.'"16:39
araIreyon: did you close the window? before the test finished?16:39
araApe3000:  QUESTION: Would it be possible to create desktop macros for general use with this?16:40
araApe3000: yes, you could. I don't think that it is the best library for macros, though, but yes, you could use it for that16:40
araone of the classic questions that people ask is, can I use this to test Fedora/OpenSuSE/Debian/OtherDistroOfMyChoice...16:42
arathe answer is yes16:43
araand the good thing is that it is the perfect timing if you want to join a brand new team16:43
araThe GNOME people started to be really interested in the project, so we decided to create a GNOME desktop testing project16:44
ara(https://launchpad.net/gnome-desktop-testing)16:44
araThe code is now in LP, but it will move eventually to GNOME SVN servers.16:44
araIt includes the things in ubuntu-desktop-testing that can be apply to all the GNOME environments16:44
arai.e. it does not include UpdateManager class, because that it is something Ubuntu exclusive16:45
araIf you'd like to contribute and be part of this motivating new project, go ahead and show your love at http://live.gnome.org/DesktopTesting16:45
araApe3000: QUESTION: So what are the best things with using this kind of automation?16:46
araApe3000: regression testing, mainly. If something breaks between releases, those tests can be useful to catch this kind of regressions16:46
araThis technology can be used also to test Xubuntu16:48
araso, if you are using Xubuntu and want to contribute, that would be great16:48
araright now we are only giving coverage to Ubuntu (GNOME desktop)16:48
araOk, only ten minutes left, let's wrap up16:49
araApe3000: QUESTION: Do you have any example bugs / cases where automated desktop testing was helping greatly?16:49
araApe3000: The project is still very young, but we helped solving some accessibility bugs, while creating our tests16:50
araApe3000: a list https://wiki.ubuntu.com/Testing/Automation/AtspiBlockers16:50
araYou can contribute easily, with very little programming knowledge, to the automated testing efforts by writing new test scripts using the testing library. A How-To guide is available at https://wiki.ubuntu.com/Testing/Automation/Desktop/HowToUseTestingLibrary16:51
araAlso, if you have more advanced python knowledge and would like to give a try on extending the desktop library that would also be great16:51
araPlease, apply your changes in your branch and use "Merge proposal" feature in Launchpad!16:52
araAny other questions?16:52
aracounting down...16:53
ara5...16:53
ara4...16:53
ara3...16:53
ara2...16:53
ara1...16:53
ara...16:53
araloic-m:  QUESTION: Is it possible to use this for benchmarking desktop tasks (i.e. à la Phoronix)?16:53
ara(with the bell)16:54
araloic-m: Yes. It is not specifically a benchmarking framework16:54
araloic-m: but times are always taken between tests16:54
araloic-m: and it is pure python code, so you can use any python library of your choice16:55
arano more questions?16:55
ara[srx]:  QUESTION: can we print like this?16:57
ara[srx]: I don't understand the questions, sorry16:57
araOne more thing. These tests work only (for the moment) if you have your desktop in English :-)16:57
araIreyon: ^16:57
ara QUESTION: is this only for Gnome applications, or will it work for qt/tcl-tk/etc?16:58
araloic-m, StyXman: KDE is working on having a better accessibility layer. but for the moment these tests only work for GNOME16:58
iamarockstari guys16:59
araIreyon: QUESTION: Is there any chance to get it working with any language?16:59
iamarockstarwhat is this room for i am new here16:59
araIreyon: right now we are starting giving coverage to English desktop. Maybe in the future...17:00
araOK. No time for more. If you have any questions you can ping me in #ubuntu-testing channel or at my email address <ara AT ubuntu.com>17:00
araThanks all for coming! I hope you all enjoyed the session!17:00
* Ireyon claps again17:00
charlie-tcaara: Great job! Thanks you.17:00
somaunniamarockstar: for sharing and learning more about ubuntu "it's a classroom"17:00
weboidethank you ara, that was awesome :)17:00
iamarockstarsomaunn:  then what is the diff betwween this and nirmal ubuntu irc room?is this for devs?17:01
Ape3000iamarockstar: https://wiki.ubuntu.com/UbuntuDeveloperWeek17:02
silwoliamarockstar: for devs and those who are interested in becoming one17:02
cool2kthanks!! great session!!17:02
iamarockstarsilwol: ok thx17:03
somaunniamarockstar:follow the link given by Ape3000 for more info17:03
schmiedcsomaunn: https://wiki.ubuntu.com/Classroom17:03
* repete looks at the clock...17:03
repeteCan we start the next session?17:04
repeteOk, in the absence of a moderator, we will :-)17:04
repeteHi and welcome to the Ubuntu Netbook Remix session for Ubuntu Developer Week.  I am Pete Goodall, the product manager for the OEM Services group at Canonical.  And joining me are Neil Patel and Bill Filler, also with OEM Services, and the lead developers for the Ubuntu Netbook Remix project.17:05
repeteWe did a session on Ubuntu Netbook Remix (UNR) back in November for Ubuntu Open Week, so this will be an update on UNR followed by a question and answer session.17:05
repeteNeil, Bill and I work for the OEM Services group at Canonical, and we are the group responsible for customising Ubuntu for device manufacturers.  By "customising" we mean making sure that all the hardware components work, integrating custom interfaces (ala Dell and HP) and providing on-going maintenance.17:05
repeteSo you know what is coming, here is a quick agenda for this hour:  1) Installing UNR  2) Developing for UNR and netbooks in general 3) Question and answer session.17:06
repeteOK, so lets start with installing UNR.  Hopefully many of you are already running UNR on your laptop or netbook, but if you are not you can find information on how to install UNR at the UNR wiki - http://wiki.ubuntu.com/UNR.17:06
repeteTo date, Ubuntu Netbook Remix has been an addon to Ubuntu 8.04 and Ubuntu 8.10.  Installing the UNR interface involved either adding the PPA to your software sources list and twiddling configuration bits, or running the UNR installer which overwrites your entire hard drive.17:06
repeteHowever, starting with Ubuntu 9.04 (Jaunty) you will have two new and improved ways to install UNR on your existing device.  If you don't already have Ubuntu or you just want to do a clean install you will be able to download a Live CD image just like you can with Ubuntu Desktop Edition and go through the normal installer.  That means you can choose your own partitioning or just use the Live CD to see what UNR is all about.17:07
repeteWe are still working out the exact way it will be done, but the second option is for those that have an existing Ubuntu 9.04 system and want to install the UNR interface as well.  You will no longer have to add a PPA to your software sources list because UNR will be in the official Ubuntu software repositories.  Therefore you can just install the UNR interface with apt-get, aptitude, or synaptic.  This may or may not involve tw17:07
repeteBefore I move on to developing for UNR, does anyone have questions about installing?17:09
njpatelQUESTION: Should it work with virtualbox?17:09
njpatelNo, unfortunately, as there will not be OpenGL acceleration available for the launcher17:09
StyXmanrepete: previous-to-last paste got truncated at 'This may or may not involve tw...'17:10
repeteah... thx17:10
njpatelso the launcher will run with software accel., which is slow and a bit buggy17:10
repeteThis may or may not involve twiddling configuration bits, but we're trying to make it easy. :-)17:10
njpatelQUESTION: Will the LIVECD (iso) image have support for many common netbooks? ie. corrcet driver for eeepc wifi?17:10
repeteAs much as possible we try to support all the hardware17:11
repeteTo your specific question, the wireless should work just fine in the eeePC17:11
repeteMany people use UNR on a eeePC17:11
njpatelthere are always device-dependant quirks (just like with ubuntu desktop), which will need tweaking after install17:11
=== Keybuk_ is now known as Keybjk
njpatel QUESTION: Do you also have the ordinary Ubuntu interface with the netbook remix?17:12
=== Keybjk is now known as Keybuk
bfilleryes, you have the option to switch to "classic" Ubuntu interface17:12
njpatelYep, we have a nifty utility called Desktop Switcher, which allows you to switch between netbook-mode and classic-mode without losing your customisations17:12
njpatelthis was not available for intrepid, but will be for jaunty17:12
repeteYou can find the Desktop Switcher in Preferences17:13
repeteOK. Next let's talk about developing for Ubuntu Netbook Remix.  If you are interested in contributing to the development of the UNR interface and components there a couple of things you need to know.  First, the UNR launcher (netbook-launcher) is written using the Clutter (http://clutter-project.org/) toolkit.  If you are not already familiar with Clutter it is basically a toolkit that simplifies common OpenGL and OpenGL ES ope17:13
repeteThe second consideration is that we need to keep things simple.  That is a core value of the UNR project.  At Canonical, we work with OEMs and ODMs to create devices that are sold to consumers.  "Consumers" may be people whom are not techies and just want things to be easy to use.17:14
repeteThey don't want a spinny cube, they don't want a thousand functions available at a single click and they don't want to open a terminal from any place in the system.  :-)17:14
repeteI'm conscious that my long posts are being truncated so I'll make them shorter17:15
repete If you are not already familiar with Clutter it is basically a toolkit that simplifies common OpenGL and OpenGL ES operations and allows you to create rich, annimated user interfaces.  If you are already familiar with gtk+ and gobject, Clutter should not be hard to learn.17:15
repeteSince the inception of this project we have received invaluable feedback from the Ubuntu user and developer community, and this has been a key advantage of UNR.17:15
repeteIf the project leads reject your feature as "out of scope" please don't be offended.  We are just trying to keep things simple.17:16
repeteIf you really want to implement a more advanced or crazy feature all the code for the UNR launcher and the various components is in Launchpad.  From there you can create your own branch.17:16
repeteFinally, if you already maintain an application in Ubuntu or are considering creating an application for UNR please consider the available verticle resolution.17:16
repeteLast year most netbooks had a resolution of 1024 x 600.  This year 1024 x 576 is the new black.17:17
repeteCanonical has worked to fix some applications such the Evolution account dialog, Pidgin and various GNOME utilities.17:17
repeteAlso, you should be mindful of the emergence of touch.  Touch will be more and more prevalent and application developers should keep this in mind.17:18
repeteBigger icons, simpler interfaces17:18
njpatelNot too reliant on right-click, menu-bars etc17:18
repeteOk.  let's field some questions about developing for UNR.17:18
njpatelthats ok17:19
njpatel<creek23> " and various GNOME utilities." --- ?!? o_O17:19
njpatel I thought GNOME was not used in UNR?17:19
njpatelUNR is based on Gnome, but we have a different UI for launching and switching applications17:19
bfillergnome-panel is used, but configured differently by default in UNR17:20
repeteThe reason UNR is called a "remix" is because it is based on Ubuntu Desktop Edition, but adds some components and changes some configuration bits17:20
njpatelQUESTION: I submitted 2 bugs a while ago for UNR, however it took around a month for them to get seen, are you making steps to shorten this time?17:20
njpatelthe bug situation is almost definitely my fault, and yes it is getting better17:21
bfillerour QA team is now formally involved in initially confirming/triaging bugs, so the initial response time should be much faster17:21
bfillerit is a goal of ours for sure to improve this process17:22
bfillerQUESTION: some graphic effects (ex, spinning icon during opening app) doesn't looks correct, if compiz enabled (i think, it's becase exist some confilcts in graphic between compiz and clutter). does UNR team plan to include correct compiz support?17:22
njpatelThe intel video drivers (on most netbooks), do not support displaying Compiz and a GL window (like the launcher) at the same time17:22
njpatelyou can get some more information here https://bugs.edge.launchpad.net/netbook-remix-launcher/+bug/23773117:22
njpatelThis is a bug that's fixed in xorg bugzilla and will hopefully be available fr testing in Jaunty17:23
njpatelQUESTION: Are there plans to support LXDE?17:23
repeteWe have looked at LXDE as a base, but the GNOME environment is a well developed environment17:24
bfiller QUESTION: What are the goals wrt Memory footprint as well as boot time for UNR? And how have you been striving to meet them?17:24
repeteby that I mean that GNOME has things such as advanced power management utilities, accessibility17:25
bfillerboot time 30 secs or less, RAM 1GB, HDD/SSD 4GB minimum17:26
repeteBoot time is a major focus of Ubuntu 9.04, so there should be some big improvements when UNR is released on Ubuntu 9.0417:27
bfillerwe test those configurations, boot time is the biggest challenge and we spent much time trying to reduce boot time, Jaunty should help in this area17:27
bfillerQUESTION: why opengl? why not plain gtk?17:28
bfillerit's sexier :)17:28
njpatelWe wanted a nicer user experience with the launcher, using animations, fades etc to enhance it. We are currently quite tight on which animations we use, but we plan to start experimenting more over the next few months17:28
repeteQUESTION: If most people say GNOME is bloated (in contrast to other desktop environments); And UNR team is trying to make thing light and simple, why not choose other like Xfice?17:29
repeteThis is similar to the LXDE answer17:29
repeteWe have looked at XFCE, and we actually have one of the core devs on staff, but the GNOME environment is still better developed for our purposes17:30
repeteSeveral years ago, GNOME was stripped down for the 2.0 release17:30
repeteever since them they have been building up capabilities as needed.  We believe it is the best environment for the job.17:31
repetes/them/then/17:31
repeteAnymore questions?17:32
njpatel QUESTION: do all the development made for OEM appear in the repositories, i.e. 1. hw drivers 2. hw and software tweaks 3. interface configuration ?17:32
njpatelYes. The user interface components that make up the netbook remix are all developed in launchpad and available from there17:33
njpatelthe patches to desktop apps to make them fit in the smallr space are being reviewed and merged into Ubuntu main and we are working with the upstreams to get them integrated17:33
repeteWhere appropriate we push the hardware drivers upstream as well17:34
repeteAs part of the OEM engagement we require close collaboration with the component manufacturers17:35
njpatelSo all hw should function the same, wether from the OEM install or if one wants to reinstall from scratch using for example a (sometimes newer) LiveCD?17:36
repeteWell with our customers they are using hardware that may not actually be on the market yet :-)17:36
repeteAs soon as the product is released we work to get those drivers in upstream, but that doesn't mean we can necessarily get it in Ubuntu 8.0417:37
bfillerthere also may be custom work we've done for an OEM is newer than the latest release of Ubuntu17:37
repetebecause that is a released product and we cannot change that kernel too much17:37
bfillerwe work to ensure mods which are made to the kernel, drivers, apps, etc.. make it into the next Ubuntu release where applicable17:38
njpatelAny more questions? (We've moved onto Q&A now, if it wasn't obvious ;)17:38
bfillerQUESTION: I understand ten that the Ubuntu Dell is shipping is the same as the Ubuntu I can install via the Canonical CD? or are there differences?17:39
=== rosset is now known as rosset-brb
bfillerthere are differences, the publicly available UNR from Canonical is completely free, open-source components and standard UNR launcher17:40
bfillerDell and other OEM are able to ship applications which require a license (i.e Adobe Reader, Skype, etc..) where the free version doesn't have these components by default17:41
bfillerDell's launcher is also customized, but it is open source17:42
bfillerso there are differences, yes17:42
repeteQUESTION: has any OEM asked for non GPL/LGPL development (f.e. hw drivers)?17:42
bfillerit's the same baseline of code though17:42
repetesorry, bfiller :-)17:42
bfillerI'm done :)17:42
repeteok.  So to answer the non-GPL question...17:43
repeteCanonical does not do any non open source development work on the client17:43
repeteAnything that is not open source is done by a third party17:43
repeteWherever possible we always encourage our customers to use and contribute to open source software17:44
bfillerQUESTION: difference bw OEM install and Ubuntu repos means if i buy an OEM with UNR, the only way to be sure hw will be "perfectly" supported is to stick with an "old" version of Ubuntu?17:44
bfillerI think you are referring to the fact OEM version of UNR is based on 8.0417:46
bfillerupdates are released to the OEM repository, but is based on 8.0417:46
repeteWith a device that is sold in retail it is not a good idea to change the underlying OS every six months.  Ubuntu 8.04 is a long term support release (LTS), so that mean we will support it (and products based on it) for up to three years.17:47
bfillerso yes, for a fully supported product released by the OEM you should stick with their install and update as appropriate17:47
bfillerit doesn't mean the latest and greatest free version won't run on it, but it may not be specifically tested and supported on that particular device17:48
njpatel QUESTION: how can users check that a netbook that comes with UNR is entirely supported by OS drivers (so no lock-in), and to make it easier is there a logo Canonical is advising OEM to stick when it's the case?17:49
repeteAs much as possible drivers from an OEM install will make it into the next version of Ubuntu.17:50
repeteIf you want to test your hardware, you can (as of Ubuntu 9.04) use a Live CD.17:50
njpatelany other questions?17:51
njpatelQUESTION: AFAIU, Intel IGP used in most netbooks aren't open-source (and the one they plan to use for their next Atom platform, based on PowerVR tech, isn't either), are you in discussions with Intel to improve the situation?17:53
repeteloic-m is obviously very interest in UNR :-D17:53
repeteIntel is a close partner of Canonical.  As I mentioned earlier, we *always* advocate for the use of open source software.  That being said, it is entirely up to Intel how the license drivers.17:55
bfillerQUESTION: Has Canonical tied up with other company (aside from Dell) to release Ubuntu as netbooks default OS?17:56
njpatelAlso, the IGP cipset isn't the one that's being used the most. Most of the netbooks have 954GMA, which has very good drivers17:56
repeteThere are two other vendors that have released products based on Ubuntu17:56
repetesorry, three :-)17:56
repeteNo, two...17:57
repeteToshiba NB100 and the Sylvania G Netbook Meso17:57
repeteboth running UNR17:57
creek23woohoo!17:58
repeteof course there is lots of interest in products based on UNR, so look out for more to be released this year17:58
repeteOk, we are out of time, but thank you for attending.17:59
njpatelthanks everyone!17:59
bfillerthank you18:00
loic-mnjpatel, repete, bfiller: thanks a lot18:00
creek23thank you!18:01
* Keybuk wanders in and fiddles with the projector18:01
KeybukI guess that I just get started18:02
Keybukso, Hello18:02
KeybukI'm Scott James Remnant, and I'll be having a bit of a chat about Boot Performance18:02
KeybukI've not done one of these before, but I'll do my best18:03
CrownAmbassadorHi guys. Do you think I can list these 2 bugreports together? https://bugs.launchpad.net/ubuntu/+bug/320105 and https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/319553 the last one happens to be mine.18:03
CrownAmbassadorsorry!18:03
CrownAmbassadorwrong room18:03
KeybukI'll try and answer any questions as I go, if they're relevant to what i'm talking about18:03
Keybukand there should be plenty of time for general questions at the end18:04
Keybukok, so18:04
Keybukboot performance, it's all about making Ubuntu useful to its users quicker18:04
Keybukone of the first things is deciding exactly when you start and stop the clock18:05
Keybukfrom a user's point of view, the machine starts booting when they press the power button18:05
Keybukand stops booting when things stop moving around on the screen, and the machine stops making a loud disk noise18:05
Keybukwhich is usually when they feel it's safe to try starting firefox18:06
Keybukunfortunately us geeks know a bit more about what's going on18:06
Keybukand we try and play games18:06
Keybukfor a long time, distributions only measured how long it took them to get to the login screen18:06
Keybukand sped that up by starting lots of things after the login screen was up18:06
Keybuk(slowing down the login process)18:07
Keybukand now there's a phase of starting things after the basic desktop is visible18:07
Keybukand you hear things like "can we not start that 30s after boot?"18:07
Keybukwhich is just doing the same again - it makes it slower for the user to use their machine18:07
KeybukWindows tries many of these tracks18:07
Keybukand years of experience has taught users not to touch it while things look like they're still loading18:08
Keybukbut then Windows has bugs like it closing the start menu on you ;)18:08
Keybukand Ubuntu doesn't have any bugs like that18:08
Keybuk<fx: loud coughing noises>18:08
creek23:D18:09
Keybukso, really, there's three distinct phases of a boot18:09
Keybukyou press the power button, and the hardware starts up and initialises (BIOS, etc.)18:09
Keybukthat hands over to our bootloader, and we start up the core operating system18:09
Keybuk(kernel, etc.)18:09
Keybukand then we start the X server, and all of your desktop components and applets18:09
Keybuknow, we can't do anything about the first one18:10
Keybukthat's firmly in the hands of the hardware and chip manufacturers18:10
Keybukbut the last two are definitely under our control18:10
Keybukso that's what we time18:10
Keybukbut be sure when you hear someone talking about a 30s boot, that they tell you what they mean by "Boot"18:11
Keybukmy times start from the boot loader, and end when we have a full desktop up18:12
KeybukI'm hopeful that in the future, as we get better relationships with hardware partners, we'll be able to work closely on the hardware initialisation with them and start the time at the power button where it should be!18:12
Keybukso18:13
Keybukyou may have noticed that boot performance has gotten a bit slower over the past 20 years18:13
Keybukmy modern, quad-core, all singing and dancing machine takes over a minute to boot18:13
Keybukwhereas the ZX Spectrum I had when I was 5 pretty much booted immediately18:14
Keybukwell, not quite it had a splash screen ;)  -- the screen went white, black, and then white again <g>18:14
Keybukof course, it's not really fair18:14
Keybukthose machines had fixed hardware, their Operating System code was in ROM, and they just executed it18:14
Keybuknowadays, not only do machines vastly differ in hardware, even from the same manufacturer18:15
Keybukbut users are able to add and remove hardware on the fly18:15
Keybukand will often do so during boot and wonder why things go wrong ;)18:15
Keybukand you can actually upgrade your operating system without a soldering iron18:15
Keybuk(someone who had a BBC Micro is going to point out that you didn't need a soldering iron because the chip was designed to come out fairly easily <g>)18:16
Keybukso yes, we don't boot as fast as home machines of the 80s18:16
Keybukbut that's because they didn't really boot at all18:16
Keybukand you can't plug a USB printer into a C6418:17
Keybukso, I'm going to let you into a little secret18:17
Keybukyou can make your machine instantly boot faster18:17
Keybuk(or slower, if you're so inclined)18:17
Keybukall it takes is changing one thing18:18
Keybukthe disk18:18
Keybukyour hard drive is by far the slowest part of your computer18:18
Keybukif one person shows you a boot char on a quad18:19
Keybukoops18:19
Keybukif one person shows you a boot chart on a quad-core machine18:19
Keybukand it's faster than your little laptop18:19
Keybukit's not because of the cores, or even the blue leds on the side18:19
Keybukit's because it has a much faster disk18:19
Keybukand, unfortunately18:19
Keybukthe disk is where the operating system code lives18:19
Keybukit's where all your configuration lives18:20
Keybukboot is all about getting things from the disk and into memory18:20
Keybuk(and executing them on the processor)18:20
Keybukso, to speed up the boot we need to either:18:20
Keybuk 1. load less from the disk18:20
Keybuk 2. be more efficient about our use of the disk18:20
KeybukLoading less is the easy one18:21
KeybukWe take a good look at everything we do in the boot sequence, and we start being ruthless about it18:21
KeybukHow much of this stuff do we _really_ need to do on boot?18:21
KeybukA good example here is a change we made quite early on in Ubuntu compared to Debian18:22
Keybukwe used to generate the database of available kernel modules on every single boot18:22
Keybukthis involves reading a lot of data, doing some CPU work, and writing it out to disk before using it18:22
Keybukwe don't do that anymore18:22
Keybuknow we regenerate that database only when you install a new kernel, or a new module package18:22
Keybukand we do it in the package's maintainer scripts so it happens while you're running apt18:23
Keybukit turns out that a lot of things done on boot could really be done during upgrades or software installations18:23
=== rosset-brb is now known as rosset
Keybukanother similar change is looking at whether services could be started on demand18:24
Keybukdo we need to start the entire printing subsystem until the user actually tries to print something?18:24
Keybukdo we need to start the bluetooth stack that early?18:25
Keybukthese are just examples of questions which haven't been answered yet, but that's the kind of thing we look at here18:25
Keybukcan we cut down on the amount of data we load18:25
KeybukAnd secondly can we be more efficient about booting18:25
Keybukthis is kinda the same thing, but from a different point of view18:25
=== max_ is now known as modestMAX
=== danne_ is now known as danne
Keybukoliver_g_ asked a question about compression18:26
Keybukand it's a good example18:26
Keybukin many cases, if there's a large amount of data to be read off the disk, it's better to have that data compressed18:26
Keybukand decompress it in memory18:26
Keybukthe cost of decompression is frequently less than the reduction in disk time18:26
Keybukand he's absolutely right that the prime target here is translations ;)18:26
Keybukif you read 1,000 files on boot, that's slower than reading one single file with the same data18:27
Keybukit might be easier to maintain your software with 1,000 xml files describing its configuration18:27
Keybukbut if you could pre-process that at build time to produce a single, compressed or binary file, with the data in it - you'd be amazed at the different18:28
Keybuk<Mirv> QUESTION: What chance of having an ugly, but very effective cache which includes collected files in a sequential order (200MB or so) that takes 2s to read, and includes every file needed for the whole boot? Prefetch had something experimental?18:28
KeybukMirv: ls /etc/readahead/boot18:28
Keybukwe've had such a thing for a number of releases now ;)18:28
KeybukSo, that's the "how" part18:30
KeybukDo less and be more efficient18:30
KeybukWhat approach do we take?18:30
KeybukThere's two schools of thought on this too18:30
KeybukThe first one is that you start off with your last release, and you sit down and examine it18:30
Keybukyou see what you can cut out, you see what you can improve, and make lots of incremental fixes18:31
Keybukhopefully at the end of it, your boot will be a little bit faster18:31
KeybukYou can tell who's doing this, they say things like "the new version boots 10s faster than the old"18:31
KeybukThe second school of thought is that you start from scratch, and set yourself a target boot time from the very start18:31
Keybukyou say "we're going to boot in 30s"18:32
Keybukyou then split that up, and work out how much time you're going to give to each piece18:32
Keybuk"15s for the desktop, 15s for the core"18:32
Keybukand split it up again18:32
Keybuk"5s for the kernel, 5s for basic stuff, 5s for services"18:32
Keybukand at the end of it you have a budget18:32
Keybukand you start at the beginning, and you work on one piece until you get it in under budget18:32
Keybukand then you move on to the next piece18:32
KeybukThe second school gives much better results18:33
Keybukbut the first school means you can still release your distro if you don't make it18:33
KeybukWe're still following the first method, because we have a LOT of low hanging fruit18:33
KeybukWe already know a lot of the bugs and problems with our boot sequence, and we have more than enough work just fixing those for the next release or two18:34
Keybukwe're still at the point where our boot is over a minute18:34
Keybukand we're looking at detail of multiple seconds or more18:34
Keybukso we've got plenty of work to do ;)18:35
KeybukAt some point, we'll have reached the fastest we can go with this method18:35
Keybukall the fixes and bugs we know about will be gone18:35
Keybukand it'll be as fast as we can get it18:35
Keybuk(I reckon this is around the 30s mark)18:35
Keybukat that point, we'd be looking at switching to the second method18:35
Keybukwe might spend an entire release or two just making the kernel come up in 1s instead of 2.5s to get it under budget18:36
KeybukSo how do you know how fast your computer is booting?18:36
KeybukAnd how do you work out where you can speed it up18:36
KeybukThere's a piece of software in the archive called "bootchart"18:37
Keybukit's really easy18:37
Keybukapt-get install bootchart18:37
Keybukand every time you reboot, you'll get a PNG file in /var/log/bootchart18:37
Keybukit won't include your login and suchforth, but you can abuse it to chart everything18:37
Keybukif you remove the /etc/rc2.d/S99stop-bootchart symlink, and remember to run "/etc/init.d/stop-bootchart start" after you login18:38
Keybukyou can have the whole thing18:38
Keybuk(and then use gimp to cut the right hand side off that you don't want)18:38
Keybuk<Ireyon> doesn't bootchart slow down the boot process, too? :D18:38
Keybukyes.18:38
Keybukbut that's ok18:38
Keybukbootchart is for when you're looking at what your boot does18:39
Keybukand you make some changes18:39
Keybukand compare the before and after18:39
Keybukit's not something you'd leave installed all the time18:39
Keybukso you have bootchart18:39
Keybukyou also need a machine to run it on18:39
Keybukcomparing bootcharts produced from two different installations is rarely  useful18:40
Keybukcomparing bootcharts produced from two different machines is almost never useful18:40
Keybukwe're using a standard machine for our work18:40
Keybukwhich means we can compare bootcharts between ourselves18:40
Keybukthe machine we picked was a Dell Mini 918:40
Keybukit's got a few features we wanted18:40
Keybukit has the slower Intel Atom processor, which means that things tend to show up better18:41
Keybukand it has an SSD disk18:41
Keybukalso boot speed is a hot topic in the netbook space in general18:41
Keybukand most importantly, it's a standard off-the-shelf piece of equipment18:41
Keybukanyone who has one is pretty much guaranteed to have an identical piece of kit to everyone else18:41
Keybukso for the last bit, I'd like to talk a bit about how we're doing18:42
Keybukand what's next ;)18:42
Keybukso I have some boot charts to show you18:42
Keybukhttp://people.ubuntu.com/~scott/boot-performance/mini9_factory_hardy-20081118-1_cropped.png18:42
Keybukthis is from the Mini 9 with the factory-installed UNR image18:42
Keybukthe guys in Lexington did some amazing work, the whole desktop comes up in 36s18:42
Keybuk(or even 35s18:42
Keybukso how does Intrepid compare?18:43
Keybukhttp://people.ubuntu.com/~scott/boot-performance/mini9_intrepid-20081222-1_cropped.png18:43
KeybukNot well.18:43
Keybuka default Intrepid install is 71s!18:43
Keybuktwice as long18:43
=== apachelogger is now known as apachelogger_
Keybukthis is because the UNR image is extremely customised for its hardware18:43
Keybukwhereas the Intrepid image is generic, and portable to any Intel hardware18:44
Keybukand, most importantly, any user configuration18:44
Keybukbut we've been working on that18:44
Keybukhere's one for Jaunty with some of the improvements we've made18:44
Keybukhttp://people.ubuntu.com/~scott/boot-performance/mini9_jaunty-20090115-2_cropped.png18:44
Keybukdown to 53s18:45
Keybukand that's still a generic image18:45
Keybukyou should be able to see a similar improvement on any machine18:45
Keybukthere's lots of interesting things to read off these charts18:46
KeybukI'll cover the hilights18:46
Keybukthe top graph is useful18:46
Keybukit tells us how much of the CPU we're using18:46
Keybuk(or at least how much time we're not in userspace)18:46
Keybukwe rarely max out the CPU during boot18:46
Keybukso paradoxically, computing data on boot is faster than reading a cache off disk - assuming you don't need the disk for computation18:46
Keybukthat's why compression can help18:47
Keybukbut note that it's not as if the CPU is idle18:47
Keybukso just compressing the entire disk would be a net loss18:47
KeybukRed in that top graph is *BAD*18:47
Keybukit means we're waiting for the disk18:47
Keybukthe second red graph is disk utilisation18:47
Keybukthere's some interesting spikes18:47
Keybukthe first one is the readahead process, where we read the data in from the disk that we think we use18:47
Keybukit goes all spiky after X starts because we don't read that stuff in yet18:47
Keybukthere's a cute spike around 13s - no idea what that one is18:48
Keybuk(the processes in the chart go red if they're using disk too)18:48
Keybukthe larger one around 18s seems to be the rc script, that's got to be a bug18:48
Keybukand the big spike at 24s is syslog starting up18:49
Keybuk<StyXman> QUESTION: why thre's this big gap of no CPU or disk activity around the 45s in the last chart?18:49
Keybuka VERY good question ;-)18:49
Keybukin fact, as soon as I looked at this graph, I asked the very same one18:49
Keybukdead space in the graph means the system is idle18:49
KeybukI have a theory18:49
Keybukscroll down and look what's happening around then18:49
Keybukwe're starting gnome panel applets18:50
Keybukthe panel looks like it's started around 40-43s in18:50
Keybukand there's a whole bunch of applets that get started with it18:50
Keybukthen there's a pause18:50
Keybukand a SECOND round of applets get started18:50
KeybukI think the session manager has a sleep(5) in it <g>18:50
KeybukI think it starts one set, sleeps for 5s and starts the second set18:50
Keybukthis is exactly what I mean about gross and obvious bugs18:51
Keybukthere's some other bugs in here too18:51
Keybuksee the sleep around 14s in, and the other one around 20s in?18:51
Keybukevery time someone calls sleep during boot, kittens die18:52
Keybukthere's still some obvious hogs of processes18:52
Keybukudev (well modprobe really)18:52
KeybukX18:52
Keybukcompiz18:52
Keybuknautilus18:52
Keybukthe gnome-panel18:52
Keybukthese are doing an extraordinary amount of work18:52
Keybukthere's a bizarre logsave call around 14s in as well18:52
Keybukno idea why18:52
Keybukand some other bugs18:53
Keybuktrackerd gets started, but is disabled18:53
Keybukso why is it doing so much IO ?18:53
Keybukand the bluetooth applet and jockey-gtk seem very expensive for their size18:53
Keybuk<loic-m> QUESTION: are you also loking on suspend-to-disk/resume speed (and can bootchart be used for that purpose)?18:53
Keybukloic-m: personally, no;  suspend and resume speed is almost certainly disk bound18:53
Keybukhard to use bootchart for that due to the way it works18:54
Keybukyou'd need something in-kernel18:54
Keybuk<Ireyon> QUESTON: Does the system use multiple cores to boot if available? Wouldn't it be possible to load some less important services while GDM/Gnome starts up? (GDM is horribly slow in intrepid)18:54
KeybukIreyon: we always use multiple cores18:54
Keybukhowever you'll note that we're really not maxing out a single low-powered CPU here18:54
Keybukso it won't help any18:54
Keybukwith autologin, GDM doesn't seem to take any time to start up18:55
Keybukthe X.org server does18:55
Keybukand loading services alongside will just slow it down more18:55
Keybuk<oliver_g_> btw. is the Dell Mini 9 have a dualcore system?18:55
Keybukoliver_g_: it's a dual-core Intel Atom iirc18:55
Keybukso any other questions? :-)18:57
tethridgeSo what is the boot goal for 9.04?18:57
Keybukwe don't have a specific goal at this point, we're just cutting the crap and fixing bugs for now18:57
tethridgeor what do you see as realistic considering the amount of time you have left to work out low hanging fruit18:58
Keybukit looks like a full desktop is attainable in around 30s18:58
Keybukbut I think for jaunty, on this platform, 45s is more likely18:58
Keybuk<StyXman> QUESTION: can readahead be improved in this regard? ir is the disk activity after it already finished all write calls?18:59
KeybukStyXman: the prime improvement for readahead will be building the list of blocks to read18:59
Keybukright now, it's generated for each CD, and gets increasingly out of date18:59
Keybuk<GSMX> QUESTION: Can't boot time be less than 2 seconds? I mean, with all this computing power nowadays, boottime was faster on win95!18:59
KeybukGSMX: boot time is nothing to do with computing power, see above ;-)18:59
tethridgeis upstart now fully optimized for boot speed?  I know that in past releases we were making a gradual shift to upstart.19:00
Keybuk<StyXman> QUESTION: if they're write calls, can these be cached and flushed after we finished booting? I've seen my laptop not writing anything to disk while on batteries19:00
KeybukStyXman: we shouldn't really write anything during boot ;-)19:00
Keybuktethridge: upstart is unrelated to boot speed19:00
Keybukok, I'm out of time now ;)19:01
Keybukbut do feel free to grab me at any time19:01
duanedesigngood job!!19:01
pochuthanks a lot!19:01
tethridgeyeah, awesome work!19:01
dinxterthanks Keybuk19:01
duanedesign(applause)19:01
weboidethanks :)))19:01
schmiedcnice session, thx a lot ;-)19:01
oliver_g_thanks Keybuk!19:01
gman16kgreat info.  thx!!19:01
Ireyonnice session *clap*19:01
CrownAmbassadorthanks keybuk!19:01
Mirvgo Keybuk! :)19:02
vorianthanks Keybuk19:02
vorianOK THEN!19:02
* apachelogger hands Keybuk a cup of tea and wonders if he and vorian are now on schedule :P19:02
vorianKubuntu Ninja’s - Packagers in Unicorn mode19:02
vorianwe are up, i do beleive19:03
apacheloggerAloha/Hola/Salut/Ni Hao/Hello/Servus/Konnichiwa/Ahoy... Ladies, Gentlemen, IRC Bots, and Supernatural beings!19:03
apacheloggerMy name is not vorian (aka Steve Stalcup) and I am not going to show you how ninjas update a package.19:03
apacheloggerBefore we start, please ask questions any time. First question was already ask before this session even started :)19:04
apachelogger...was something like: "what are 'Ninjas in Unicorn mode'"19:04
apacheloggerNinjas are magic blue headed monkeys with batwings and a horn looking like a gear on their foreheads, who are mostly talking jibberish so that the other Ubuntu developers don't understand them.19:04
apacheloggerAs for the unicorn mode ... I would really like to tell you, but then I would have to kill you.19:04
apacheloggerNow, let's get started for real. First of all, a bit of History :P19:05
apacheloggerKDE has a kind of unique way to publish releases. About one week before the actual release, unofficial packages get distributed amongst the super nice distribution packagers, so they can update their packages and do some final testing to ensure everything is in proper shape for release.19:05
apacheloggerIf we stumble upon serious issues, these get directly corrected in the tarballs... so after that week the users get19:05
apacheloggera) binary packages right away19:05
apacheloggerb) tarballs tested by quite an amount of people on different architectures with different software stacks19:06
apacheloggerAll in all stuff to be happy about \o/19:06
apacheloggerWell, at least as user. This pre-release publishing for packagers only works as long as the tarballs don't get published right away, but only when the embargo ends. That makes the whole process of getting the packages updated a whole lot more difficult because we can't just dump the tarballs somewhere and ask people who have some spare time to take a glimps at them.19:06
apacheloggerSo eventually in earlier days Kubuntu robot Riddell did manual package coordination via IRC queries (I suppose at least), until once he was not available for a release. Kind apachelogger started working on it instead ...and what do you know, I was so annoyed by the work that I summoned a whole team of specialists in KDE packaging just to handle the release packaging.19:07
apacheloggerSuper high quality packaging of course ... what else would that being a specialist be good for ;-)19:07
apacheloggerNowadays the "Ninjas" take care of the packaging. Well, actually it's a set of scripts I created for this task, the Ninjas just run them :P As a matter of fact the ultimate target is to streamline the process so much that we can assign the packaging to a minion guinea pig... so we can lie under the sun in miami beach and consume loads of captain morgan with coke.19:08
apacheloggerThose of you who follow KDE development might now be wondering if I will give you access to the tarballs of upcoming KDE 4.2.019:08
apachelogger... well, I am not :P19:08
apacheloggerThat being said, unfortunately I can not show you how the update process works using an example, because only getting a certified Ninja build environment probably takes longer than this session ;-) I suppose it is enough if I just tell you. :P19:09
apacheloggerFirst of all let me outline the very basics of a Ninja build environment:19:09
apacheloggerCurrently (in Ninjaland nothing lasts longer than 2 months due to constant improvement to the process, in regards to speed as well as quality) it consists of: a PBuilder enhanced with hooks for automatic execution of list-missing, for dropping to a shell if the build fails, to run apt-get update before fetching the packags and (if wanted) a hook for distributed compiling and one to maintain a very simple local package pool.19:10
apacheloggerIn addition to that every Ninja environment is equiped witht the so called batscripts. A whole suite of scripts only created to streamline the process of updating core KDE packages ... and ... they are written in RUBY ... ha! take that you python lovas :P19:11
apacheloggerRuby Ruby Ruby ... oh, I am loosing foucs...19:11
apacheloggerSo. How does it work?19:12
apacheloggerFirst of all some poor dood, namely me, will run a script to secretly download the secret original source tarballs from KDE's even more secret server and store them in some as secret location, so that the secret Ninjas can obtain them using a secret config for their not so secret batscripts.19:12
apacheloggerJust for reference... we also have a secret PPA ;-)19:12
apacheloggerThen, considering a Ninja becomes bored from watching the uTube, they run another script to download the source tarball and merge it with the packaging branch (in Kubuntu we have a lot of our packages ... all of core KDE ... in bazaar branches on Launchpad).19:13
apacheloggerOnce that is done, the real work starts (and immediately ends again ;-).19:13
apacheloggerThe Ninja bumps some version requirements, eventually applies some other random change and runs a script to build the package.19:14
apacheloggerUsing the pbuilder hooks the Ninja will be able to fix a broken build on-the-fly (e.g. to update .install files because some installation path changed etc.).19:14
apacheloggerThe build script will collect loads of information the Ninjas ignores... eh... does quality assurance with.19:15
apacheloggerOnce the package is ready another script takes care of sending all necessary stuff to the release coordinator, who reviews the changes and passes the finalized package to a core-dev for sponsoring.19:15
apacheloggerFor KDE 4.2.0 that coordinator would be vorian.... talking about vorian... didn't you want to talk about something as well? *hint* *hint*19:16
vorianyes! indeed19:16
apacheloggerdon't say :P19:16
vorianbut first, anyone have questions for apachelogger?19:17
vorianI'm not apachelogger (aka Harald Sitter), and I am not going to talk about ninja magic.19:17
vorianHowever I am going to talk about:19:17
vorian   _  __ __ _  __   __  _19:18
vorian  / |/ // // |/ /  / /.' \19:18
vorian / || // // || /n_/ // o /19:18
vorian/_/|_//_//_/|_/ \_,'/_n_/19:18
vorian  _ __ ___  __    _  _____ ___   ___  /719:18
mariuzhow we can package an qt-snapshot19:18
vorian /// // o |/  \ .' \/_  _// _/ ,' _/ //19:18
vorianU // _,'/ o |/ o / / / / _/ _\ `.19:18
mariuz?19:18
vorian\_,'/_/  /__,'/_n_/ /_/ /___//___,'()19:18
vorianmariuz: great question19:18
vorianmariuz: our qt pro's are in #kubuntu-devel atm, the process is a bit complex, too complex for this session19:19
vorianso afterwards, feel free to join us in #kubuntu-devel19:19
mariuzpeople ask about arora with flash and is possible only with snapshot19:19
mariuzok19:19
vorianok19:19
vorianso Ninja updates19:20
vorianSeeing as we don't have much more time, i'll try and be as quick as possible.19:20
vorianTo give a little taste on how we update packages, we will actually do one right now.19:20
vorianexcited?!19:20
mariuzwet19:20
vorianohmy19:20
vorianthe name is plasmoid-toggle-compositing, which is a nice little plasmoid that turns your desktop effects on and off.19:20
vorianso, if everyone would please get the source, by either 'apt-get source plasmoid-toggle-compositing' or 'pull-lp-source plasmoid-toggle-compositing'19:21
vorianwhen you have the source, version 0.2.1, raise your hand o/ (or both!)19:21
dinxterme hands up!19:21
vorianyay dinxter19:21
vorianwho else is gonna give it a shot?19:22
apachelogger\o/19:22
vorianall set?19:22
vorianWe are lucky that this package has a watch file, so we will use that to get the new upstream release.19:22
dinxteras ready as i'll ever be19:22
vorianso, if everyone could cd plasmoid-toggle-compositing-0.2.119:23
vorianlet me know when you're there19:23
apacheloggerthere19:23
dinxteraye19:23
vorianand now run this command: uscan --verbose --report19:23
vorianWhat this does is scan the known source repository for this upstream package. If there is a new version, it will download it.19:23
vorianPretty awesome eh?19:23
vorianWe are going to pimp this watch file a little bit19:24
vorianUsing your editor of choice, edit the debian/watch file and put 'debian uupdate' at the very end of the second line.19:24
vorianit should look something like: http://ivplasma.googlecode.com/files/toggle-compositing-([\d\.]*).tar.gz debian uupdate19:24
vorianlet me know when you are finished19:24
dinxterdone19:25
apachelogger+119:25
vorianexcellent19:25
voriannow run 'uscan --verbose'19:25
vorianWhat is happening?19:26
dinxternew source directory and diffs and everything!19:26
vorianw00t19:27
vorianthat's magic19:27
voriannow, with most of the packages we deal with, it's not quite this simple19:27
vorianDo a "cd ../plasmoid-toggle-compositing-0.2.2" to see the new package19:28
vorianWe are not going to use pbuilder for this excersize, so please make sure you 'sudo apt-get install debhelper cdbs cmake libplasma-dev quilt' for our building.19:28
vorianlet me know when your done downloading, (theres quite a bit to pull there)19:28
dinxterits there19:28
vorianfantastic19:29
vorianOk, now 'debuild -us -uc'19:29
vorianand tell me what happens19:29
apacheloggerapachelogger__19:29
dinxter2 out of 2 hunks FAILED -- rejects in file CMakeLists.txt19:29
=== apachelogger is now known as apachelogger__
=== apachelogger_ is now known as apachelogger
vorianboy thats a bummer eh?19:30
dinxteri always expect pain :)19:30
vorianlucky for us, the new upstream release fixes what this patch is for19:30
vorianplease remove the patch and patch directory 'rm -rf debian/patches'19:30
vorianMake sure to note in the change log (dch -e) that - patch cmake-find-plasma.patch removed competely, resolved upstream - or somethng to that effect.19:31
vorianlet me know when thou art done19:31
dinxterdone19:32
voriandinxter: care to paste your changelog?19:33
vorianhttp://paste.ubuntu.com19:33
dinxterhold on, debian/patches in 0.2.2?19:33
voriandinxter: yes, remove the entire directory19:33
dinxterjust double checking http://paste.ubuntu.com/108347/19:35
vorianno problems :)19:35
* vorian looks19:35
vorianFANTASTIC19:35
vorian~order cookies for dinxter19:36
vorianok, now 'debuild -us -uc'19:36
mariuzfor me it gives an error19:36
vorianwhat error mariuz19:36
dinxterbuild fine here19:37
vorianso dinxter, you have a shiny new deb?19:38
mariuzundefined reference to `typeinfo for Plasma::Applet' collect2: ld returned 1 exit status19:38
voriandid you install all the packages i mentioned?19:38
vorianmariuz: we can sort it our after our session19:39
vorianif you look in the directory which holds the two versions of this package, you should see a shiny new deb19:40
mariuzyes is all installed ,  ok19:40
dinxtershiny deb plasmoid-toggle-compositing_0.2.2-0ubuntu1_amd64.deb19:41
vorianand that is the down and dirty, first ninja steps, kind of way we update a package19:41
vorianYou have updated a Package!19:41
vorianWhat questions do you have?19:41
apachelogger__Any kind of questions that is :)19:42
JontheEchidnavorian: how would we contribute our updated package?19:42
JontheEchidnaI assume we can't just hand over debs :P19:42
vorianJontheEchidna: that is correct19:42
vorianonce you know your package is buildable19:43
vorianyou always want to build it in a pbuilder environemnt (or sbuild)19:43
vorianand when you are 100% sure your package is ready19:43
vorianyou can create a debdiff to submit to Launchpad for updating19:44
apachelogger__You might also want to poke someone in #kubuntu-devel to speed up the process :)19:44
vorianto create a debdiff, you simply use 'debdiff old_package.dsc new_package.dsc > new.debdiff19:45
voriangreat question JontheEchidna19:45
vorian~order cookies for JontheEchidna19:45
* kubotu slides a whole bunch of world's finest cookies down the bar to JontheEchidna.19:45
JontheEchidna:)19:45
vorianany other questions (of any kind)?19:46
vorianWe are always looking for folks who want to help out in Kubuntu Land, so if you are interested in helping out and becoming a ninja, please stop by #kubuntu-devel!19:46
vorianif there are no more questions then, i'll just end with19:47
vorian______________ ___    _____    _______   ____  __.  _________._._.19:47
vorian\__    ___/   |   \  /  _  \   \      \ |    |/ _| /   _____/| | |19:47
vorian  |    | /    ~    \/  /_\  \  /   |   \|      <   \_____  \ | | |19:47
vorian  |    | \    Y    /    |    \/    |    \    |  \  /        \ \|\|19:47
vorian  |____|  \___|_  /\____|__  /\____|__  /____|__ \/_______  / ____19:47
vorian                \/         \/         \/        \/        \/  \/\/19:47
vorianhope to see you all in #kubuntu-devel!19:47
vorianand happy packaging19:48
dinxtercheers vorian19:48
apachelogger__now party in #kubuntu-devel I suppose?19:48
* directhex starts rearranging podium19:49
vorianyup yup19:49
vorianyou all have 10 minutes before the next glorious presentation:19:49
vorianPackaging software for Mono, for great justice: I’m very pleased we’re having Jo Shields and Mirco Bauer here to give a session about Mono packaging. How is it different? Why is it a lot of fun? Where does the team need help? Find out today!19:49
directhexor tomorrow if you're in australia. technically.19:50
voriantrue19:50
mariuzok thanks for an interesting session19:51
RAOFdirecthex: No, it's still today in Australia.  It's *yesterday* where you are :P19:58
directhexgood morning RAOF. out of bed early just for me & meebey ?19:59
RAOFWell, because my fiancé has to get up at 6 to get to work at 8.20:00
directhexbip bip bip bip bip BEEEEEEEEEP!20:00
directhexLadies, gentlemen, and everyone in between, welcome to our little session on Mono.20:00
meebeyyou are 3 seconds late! :-P20:00
directhexDuring the next hour, you will be regailed with tales of delight and intrigue, by myself and meebey, who is a long-time Debian Developer and the current Debian Mono Pope.20:00
directhexWe've got buckets of valuable knowledge to splash about, and only an hour, so we're going to try and structure things a little.20:00
directhexSo we're going to dedicate 5-10 minutes to a brief introduction to Mono in Debian, followed by about 20-30 minutes on a few other topics with an example package or two, then spend our remaining time on Q&A20:01
directhexi'll try and keep an eye on questions as we progress though20:01
directhexso, i'm delighted to introduce international sexpot extraordinaire, meebey!20:02
meebeyoh, that's me I guess....20:02
directhexi can check /whois if you like20:03
meebeynah, not needed, my IRC client highlighted me20:03
meebeyI would like to talk about the nice team setup we have in debian and ubuntu for packaging mono, mono based application and mono based libraries20:03
meebeywe have the mono team, that maintains mono itself and other core components of it, like libgdiplus, xsp, mono-basic, mono-debugger and so on20:04
meebeythat team has currently 6 members, and is a mix of debian developers and ubuntu developers20:05
meebeydebian and ubuntu work directly on the source packages hosted on SVN using the alioth project20:06
meebeywe do the same with Mono based applications like f-spot, beagle, tomboy, which are in the pkg-cli-apps team20:07
meebeythe pkg-cli-apps team focus on sexy applications using Mono, which has currently 16 members20:07
meebeyand the last team is pkg-cli-libs, which focuses on packaging libraries for Mono with 12 members20:08
meebeyto get an idea of which package set those 3 team are working on, check this URLs:20:08
meebeyhttp://svn.debian.org/viewsvn/pkg-mono/20:08
meebeyhttp://svn.debian.org/viewsvn/pkg-cli-apps/packages/20:08
meebeyhttp://svn.debian.org/viewsvn/pkg-cli-libs/packages/20:09
meebeyyes, thats alot of packages we share there, between debian and ubuntu, doing a great joined team effort20:09
meebeythe 3 teams mainly operate using the #debian-mono channel found on OFTC and pkg-mono-devel mailing list (hosted at alioth)20:10
directhexand we're such sexy people that even gentoo packagers and upstream devs are starting to pop up in there20:11
meebey4 of the team members are currently on this channel btw :)20:12
* meebey says hello to Laney, RAOF and RainCT20:12
* RainCT hides *g*20:13
meebeyok I think I will continue now with packaging...20:13
RainCTgo, meebey, go :)20:13
meebeyone of the first issues we had (the pioneers of mono in the debian land :-P) was that there are no rules specific to Mono packaging20:14
meebeyas Mono is a new runtime, we hit new issues20:14
meebeycompared to the known C, known Java, known Python land20:14
meebeyfor that reason, we developed a CLI Policy, that addresses those issues20:15
meebeythe current CLI Policy can be found at: http://pkg-mono.alioth.debian.org/cli-policy/20:15
directhexCLI in this case doesn't stand for command line interface, it stands for Common Language Infrastructure, which is the trademark-free name for the main part of the ECMS 335 spec that Mono implements20:16
directhexECMA20:16
meebeycorrect, that term is explained in the policy btw too: http://pkg-mono.alioth.debian.org/cli-policy/ch-terms.html#s-CLI20:16
meebeyso when you package Mono based applications, you should have the CLI policy handy...20:17
meebeyok now the good news: you don't have to know all details of the CLI policy in order to create proper package!20:18
meebeywe created debhelper tools that make CLI libs/apps packaging much simpler! :)20:19
meebeythis leads us to the cli-common-dev package20:19
meebeythat package contains nice debhelper tools made just for making your lifer easier with CLI packaging20:20
meebeyre20:25
directhexdebhelper tools being those handy things which fill in your dependencies etc for you, and do all that tedious stuff nobody wants to do manually in a package20:25
meebeysorry for the delay, my computer crashed :(20:25
DBOno problem =)20:25
directhexpfft, debian20:25
directhex;)20:25
* meebey learned, don't install new memory before doing a classroom session20:25
meebey*cough*20:25
directhexanyway... debhelper tools...20:26
meebeythe most important tool for you is the dh_clideps tool from the cli-common-dev package20:26
meebeyit generate for you the complete Depends line20:26
meebeyjust like dh_shlibdeps does for C libs20:26
meebeynow I will head over how to use that tool in a package20:27
meebeyas example I will use a dh7 style package: smuxi20:27
meebeyhttp://svn.debian.org/viewsvn/pkg-cli-apps/packages/smuxi/trunk/debian/control?rev=4284&view=auto20:28
directhex(smuxi is a sexy irc client you should all switch to)20:28
meebeythats the control file of smuxi, which uses the cli:Depends variable generated by dh_clideps20:28
meebeysee the Depends line:20:28
meebeyDepends: ${shlibs:Depends}, ${misc:Depends}, ${cli:Depends}20:29
meebeythats a short nice list of deps isn't it? it's that simple :)20:29
directhexin control it is20:29
meebeythe dh_clideps tool needs to be invoked in the debian/rules file of course20:29
meebeynothing happens automagically20:30
meebeyso take a look at the rules file:20:30
meebeyhttp://svn.debian.org/viewsvn/pkg-cli-apps/packages/smuxi/trunk/debian/rules?rev=4410&view=auto20:30
meebeythat rules file might look confusing to some of you, it's using debhelper 7 minimalistic rules style20:30
directhexdh7's like cdbs, but awesome20:31
meebeynow you might think: "well and where is now the dh_clideps call?!?"20:31
meebeyok I lied, it's a bit of automagic flying around20:31
meebeydh7 allows to extend the automatically called debhelper commands20:32
meebeyand cli-common-dev does that for you when you include the /usr/share/cli-common/cli.make file20:32
meebeyif you dont like dh7, don't worry, the dh_* tools can be used with cdbs and tradtional debhelper style too!20:33
meebeyhere a cdbs example (different package though):20:34
meebeyhttp://svn.debian.org/viewsvn/pkg-cli-apps/packages/f-spot/trunk/debian/20:34
directhexyou SHOULD like dh7 though, 'cos it's awesome20:34
meebeyand here a old dh style rules file:20:34
meebeyhttp://svn.debian.org/viewsvn/pkg-cli-apps/packages/gfax/trunk/debian/20:35
meebeynobody likes old dh, compare gfax rules and smuxi rules :)20:35
meebeythey both do the same thing ;)20:35
meebeyups sorry, I pasted the directories rather than the files20:35
meebeycdbs cli-common-dev usage: http://svn.debian.org/viewsvn/pkg-cli-apps/packages/f-spot/trunk/debian/rules?rev=4339&view=auto20:36
directhexf-spot being a super-complicated package installed in ubuntu by default20:36
meebeyold dh cli-common-dev usage: http://svn.debian.org/viewsvn/pkg-cli-apps/packages/gfax/trunk/debian/rules?rev=4292&view=auto20:36
directhexwith a rules file a few lines long :)20:36
meebeyyou will probably notice that both the cdbs and old dh example do something funny with MONO_SHARED_DIR20:37
meebeythats nicely explained in the CLI policy at: http://pkg-mono.alioth.debian.org/cli-policy/ch-mono.html#s4.320:38
meebeywith the dh7 integration though you don't need to handle that, because it makes sure that MONO_SHARED_DIR is not needed!20:38
meebeyanother reason to use the sexy dh720:38
meebey:-P20:38
directhexfree gifts for every dh7 user never happened, so you need to settle for it making life easier instead20:39
meebeynow I will pass control back to directhex, so he can put some words on the on going transition in debian/ubuntu with Mono 2.020:40
directhexokay then kiddies, the infamous Mono 2.0 transition.20:40
directhexthe first thing to be aware of is that Mono is awesome. Accusations of bloat, fr'example, are lies and hax. Mono is thin and slender20:41
directhexbut not slender enough. We identified a number of issues which prevented us from making a ridiculously thin Mono which could still run big powerful apps like f-spot20:42
directhexthe main issue being that there are two published versions of CLI (1.0 and 2.0), and therefore two versions of most of the libraries in Mono - but an app which used version 2.0 would still end up pulling in pieces of 1.020:42
directhexbad. fat. icky poo poo bloaty.20:42
directhexso we took the launch of Mono 2.0 by the Mono community as a chance to go to town on Mono dependencies, and by allowing us to create the world's first "pure" CLI 2.0-only Mono release20:43
directhexthis means rebuilding all apps and all libs using only CLI 2.0, which exposes a whole world of little issues and bugs, and therefore triggered a big ol' packaging transition20:44
meebeyside note: CLI 1.0 and 2.0 are 2 different runtime profiles, generics is implemented at runtime level in CLI, and thus the CLI runtime had to be extended giving us the 2.0 version20:44
directhexyou can check on the current progress of the transition at http://wiki.debian.org/Teams/DebianMonoGroup/Mono20TransitionTODO - you'll see almost every app in Ubuntu (and most but not all in Debian) are now 2.0-only. The libs haven't been attacked yet, as we need to do apps first to prevent breakage20:45
meebeythe CLI 1.0 runtime is only used by applications compiled with mcs (the 1.0 compiler) while gmcs targets the 2.0 runtime version20:45
meebeyso there is no reason to ship both runtime versions flying around, when 2.0 can do everything for you :)20:46
directhexthe transitions been powered by people from both Debian and Ubuntu, and i want to give a special note of thanks to Laney and james_w for their ubuntu-sourced help with a number of packages, as well as those packages whose maintainers are based in ubuntuland (like RAOF or RainCT )20:46
directhexthe theory (yay, theories) is that this transition should save 20-40% of the disk space required to install f-spot, which directly means savings on ubuntu desktop install disks20:47
meebeyand might lead to a tomboy installed by default for debian ;)20:47
directhexso if you want to help us out, be sure to come & visit us in #debian-mono on oftc (irc.debian.net)20:48
directhexnow, we've gone on far longer than i was expecting, so i'm gonna invite you to start asking questions in #ubuntu-classroom-chat, and ramble on a little more whilst waiting for questions20:48
directhexthere's a second little transition which has sorta jumped us when we weren't expecting it, for gnome sharp (gnome bindings for mono). it's an irritation which i'd welcome willing packagers to lend a hand with, as it means (sigh) revisiting some packages we thought were done & dusted, and altering their build-deps20:49
meebeyquestions regarding the Mono runtime, Mono applications or library or even deeper topic like C# are welcome too btw20:50
directhexor other tangentially monoish questions20:51
directhexlike "how do you manage to be so awesome?"20:51
meebeyKDE4 ships with Mono bindings now btw, so you can write KDE applications with C#20:51
meebeyat least KDE4 in debian, not sure about ubuntu20:51
directhexyes, in jaunty definitely20:51
directhexwe'd encourage you to do so! it looks like an interesting platform, and you can do lots of interesting things rather easier than in languages like c20:52
RAOFIt might be good to mention the mono dllmap situation, which I find is a common packaging trap for the unfamiliar.20:52
meebeygood point20:52
meebeydh_clideps might spit warnings about unresolved modulerefs20:53
meebeya moduleref is a refence to a C library, that is used by a C# application20:53
meebeylike GTK# calls GTK+ libraries20:53
meebeythe C# application has to specifiy a library name, and thats where those dllmaps come in20:53
meebeythe C# application usually only specifies "libfoo.so"20:54
meebeybut the runtime package of libfoo0 only contains libfoo.so.0, the libfoo.so name is a symlink sitting in libfoo-dev20:54
meebeyand nobody wants to install development package to run applications :)20:55
meebeyso Mono provides dllmaps, which redirect the libfoo.so usage to libfoo.so.020:55
meebeya dllmap is a simple XML file next to the .exe file or the .dll file (which ever invokes the C lib)20:55
meebeyit looks like this: http://svn.debian.org/viewsvn/pkg-cli-apps/packages/f-spot/trunk/debian/NDesk.Glitz.dll.config?rev=4037&view=markup20:56
meebeyso shipping that file using the source package fixes those issues, it's also explained in the CLI policy at: http://pkg-mono.alioth.debian.org/cli-policy/ch-mono.html#s4.220:56
meebeythis might look complicated, but you don't have to pay attention to this issues if dh_clideps is not showing any warnings :)20:57
directhexit might point to foo.dll if the app is designed to run on windows as well as linux, and the dllmap does the same job to rediect to libfoo.so.020:58
RAOFIt's also worth noting that the .config files are generally _not_ automatically generated.  No-change rebuilds to pick up a new library SONAME won't work in general.20:58
directhexunless you include some rules magic to generate them20:59
meebeyRAOF: thats on purpose though, as the changed ABI might break the application20:59
directhex<dinxter> maybe something about moonlight progress, thats mono 2.0 is it?20:59
directhexmoonlight!21:00
RAOFmeebey: Right.  But it's something that people unfamiliar with CLI packaging might not expect.21:00
meebeydirecthex: your part :)21:00
directhexmoonlight is in debian's NEW queue, which is a bit like being stuck in Revu but with even longer delays21:00
meebeyRAOF: correct, dh_clideps will tell them though that there is something to handle21:00
directhexI'm expecting it to leave NEW in about a week or so, at which point I can sync it to jaunty21:00
directhexi already have packages for intrepid & jaunty in my PPA, and meebey has some for debian experimental in his personal repository21:01
meebeymoonlight allows to run/see silverlight webpages on linux21:01
directhexbut this is moonlight 1.0, which only supports silverlight 1.0! no netflix for you yet21:01
directhexhm, we're overrunning. so much mono joy to spread21:01
meebeyoh noez21:01
directhexstill last session of the day, nobody'll notice21:01
meebey;)21:02
directhexas long as nobody mentions it out loud21:02
meebeyso what did we learn from this session? install the sexy IRC client called smuxo! :-P21:02
directhexsmuxi!21:02
* dinxter has sealed lips21:02
meebeyups21:02
meebeysmuxi!21:02
directhexnice typu, meebey!21:02
* meebey hides21:02
meebeytoo much mono for today I guess21:02
directhexanyone who wants to learn more exciting stuff, or remembers a question they forgot, please join us in #debian-mono on oftc21:03
directhexoh, or wants to help us. we want lots of people like that21:03
meebeyyeah with ~90 source packages on our back we welcome any help we get21:04
directhexyeah, anyone wanna be the new ikvm maintainer?21:04
hyperairhow many maintain mono packages?21:04
meebeydon't be that nasty21:04
hyperairand what's ikvm?21:04
meebeyhyperair: I said that in the beginning21:05
meebeyof the talk21:05
directhexhe missed it. hang on...21:05
directhex<meebey> we have the mono team, that maintains mono itself and other core components of it, like libgdiplus, xsp, mono-basic, mono-debugger and so on21:05
directhex<meebey> that team has currently 6 members, and is a mix of debian developers and ubuntu developers21:05
directhex<meebey> the pkg-cli-apps team focus on sexy applications using Mono, which has currently 16 members21:05
directhex<meebey> and the last team is pkg-cli-libs, which focuses on packaging libraries for Mono with 12 members21:05
hyperairi see21:06
directhexand ikvm's the most lightweight way to install openjdk you can get! :p21:06
meebeysome source packages are very heavy though and needs lots of attention21:06
hyperairwait a sec. ikvm is mono right? jdk is java right?21:06
directhexit's a java compiler and classlib for mono, so you can compile java or run .class files on mono, or use .class files indie your mono apps21:06
meebeyhyperair: ikvm is a java implementation running on mono :)21:06
hyperairthat's interesting21:06
meebeyhyperair: a java vm21:06
meebeywe have more than C# in debian and ubuntu!21:07
hyperairbut of course21:07
directhexyeah, for those who don't know, CLI is designed (as the name implies) for multi-language interop21:07
hyperairwell. i should check out smuxi21:07
meebeythere is: python running on mono (ironpython), java running on mono (ikvm), boo which is a python like language21:08
directhexin debian/ubuntu we have c#, java, python, nemerle, boo, vb.net, and possibly others i forgotted21:08
meebeyyeah I missed some languages, too much of them!21:08
directhexthough nobody with sense wants to compile vb.net o_o21:08
meebey:-P21:08
hyperairi'm sure those with lecturers with no sense would ;)21:08
RAOFdirecthex: F#?21:09
directhexRAOF, non-free21:09
RAOFAwww.21:10
meebeyIronRuby is non-free too right?21:10
directhexwhen f# is relicensed under a Free license like Ms-PL, we use it21:10
meebeyyeah we are waiting for those to become free too and we will package them21:10
directhexmeebey, no, ironruby is ticking all the free boxes, but i don't wanna do the git snapshot dance... give me a tarball21:10
meebeydirecthex: so we miss a release there, ic21:10
directhexokay. ANY MORE QUESTIONS? :o21:12
directhexno?21:12
directhex     _ _                   _ _             _21:12
directhex  __| (_)_ __   __ _    __| (_)_ __   __ _| |21:12
directhex / _` | | '_ \ / _` |  / _` | | '_ \ / _` | |21:12
directhex| (_| | | | | | (_| | | (_| | | | | | (_| |_|21:12
directhex \__,_|_|_| |_|\__, |  \__,_|_|_| |_|\__, (_)21:12
directhex               |___/                 |___/21:12
directhexsession over. remember you can find us in #debian-mono on oftc!21:12
hyperairdirecthex: now that the session's over, http://revu.ubuntuwire.com/details.py?package=bansheelyricsplugin21:13
directhexhah21:13
hyperair=p21:13
hyperairalso it seems that smuxi renders all the text on the tabs black21:14
hyperaireventhough the backgorund is dark grey21:14
hyperairhard to read X_X21:14
meebeyoh21:14
meebeyits a setting!21:14
meebeyit uses black as default...21:14
hyperaireh?21:14
hyperairhmm21:14
meebeyfeel free to open a bugticket that I use the system color there21:14
meebeyI never used a theme with dark background :-P21:15
meebeyand light foreground21:15
directhexmeebey, thoughts on hyperair's package, as linked above?21:17
meebeydirecthex: which part? source package?21:17
directhexmeebey, yeah21:18
meebeyit contains cli:Depends but no dh_clideps call in rules21:19
hyperairmeebey: doesn't cdbs do that?21:19
meebeythere is no cdbs integration for it21:19
meebeywould be nice if someone could contribute that to cdbs :)21:19
meebeybesides that the package looks good21:20
directhexand since you're repackaging, IMHO you should purge the autofoo rubbish like autom4te.cache in your haxed orig21:20
hyperairah21:20
hyperairokay21:20
directhexmay as well. no reason not to21:20
meebey+install/banshee-extension-lyrics::21:20
meebey+chmod 0644 debian/banshee-extension-lyrics/usr/lib/banshee-1/Extensions/Banshee.Lyrics.dll21:20
hyperairthen what should i rename the tarball to?21:20
meebeycli-common-dev contains a tool for that21:21
meebeyrun dh_clifixperms21:21
hyperairokay21:21
directhexi'd better give wifey back her pc21:21
meebeyhyperair: did changing the setting helped?21:22
meebey-ed21:22
hyperairmeebey: yeah it did21:23
hyperairmeebey: i'll switch from pidgin when i'm more awake21:23
meebeycool :)21:23
hyperairhaving irc with huge backlogs makes pidgin throw up21:23
=== fta_ is now known as fta
meebeyjust shoot in #smuxi if you miss something or having a issue21:24
hyperaireventually it hangs for 5 seconds every minute or so21:24
hyperairalright21:24
hyperairoh yeah21:24
hyperairnickserv support?21:24
meebey /msg NickServ poo?21:24
meebey:-P21:24
hyperairsigh21:24
hyperairi'd really prefer not to =\21:24
hyperairbut i could put in the autorun commands i guess21:24
meebeyyou can use nickserv directly if the IRCd supports21:25
meebey /raw nickserv poo21:25
hyperairhmm21:25
hyperairi see21:25
meebeybut yeah, autorun commands on the specific server21:25
meebeyI need a plugin API for nickserv support21:26
meebeydirecthex: has ubuntu now smuxi 0.6.3 btw? :)21:27
directhexausimage, thank you for posting the log so quickly21:27
ausimageyw :)21:27
hyperairmeebey: what about autojoin? or do i just add /join lines?21:27
meebeyhyperair: jep21:27
directhexmeebey, i didn't get a chance to today, i was busy rescuing a £1m deal21:27
meebeyhyperair: smuxi expects users to be irssi used :-P21:27
meebeydirecthex: shame over you21:28
* meebey runs21:28
* directhex sends the oom killer after meebey with a machete21:28
meebeynot needed, my pc crashed for the first time ever today21:28
meebeymaybe 2.0 V was too high21:28
meebeyone module wants 1.8 while the other 2.0, odd21:29
directhex2.0 for ddr2? o_o21:29
meebeythats too much?21:29
directhexhm, it might be fine. ddr3 is where it's fragile21:30
meebeyI will probably get another hyperx pair so I can run it at full speed21:30
hyperairmeebey: ah. i've never used irssi before. i've used xchat though21:30
meebeyhyperair: I want to add such nice GUIs of course! dont get me wrong :)21:30
meebeyhyperair: I like software that just works and is simple to use21:31
meebeybut using irssi for 4 years might caused some bad habbits on my side :-P21:31
directhexoh, for those who asked, moonlight is currently 68th from the top of the debian NEW queue, of 171 packages total21:32
meebeygo moonlight go!21:32
hyperairmeebey: it would be nice to obscure all your passwords21:33
meebeyhyperair: now you can stab directhex21:33
meebeyhyperair: smuxi 0.6.3 has that21:34
hyperairheh21:34
hyperairalrght21:34
hyperairno actually i'll wait until directhex is done reviewing =p21:34
directhexi'm not a MOTU, i can't give you an ack21:35
hyperairoh you're not?21:35
directhexmy only comment is about cleaning up your repackaged orig21:35
hyperair=(21:35
directhexwhich is something i have far too much experience with21:35
hyperairhahah21:35
hyperairevery single one of my packages has a repackged tarball21:35
hyperairas in revu packages21:35
directhexyou do know how to pick 'em21:36
hyperairsigx only comes in bz2, bansheelyricsplugin is miserable shit that comes in bz2, and codelite.... had some stuff removed as per dfsg21:36
hyperairah then one more.. vazaar21:36
hyperaironly comes in bz221:36
hyperairsigx is the unique one that uses scons. ew21:37
hyperairokay i've tidied my tarball21:39
mneptokhey guys. would you mind moving the conversation to more appropriate channels. we should try to keep -classroom reserved for DevWeek stuff this week.21:50
jpdshi mneptok21:50
jpdsOh, yeah, right.21:51
mneptokjpds: heya! :)21:51

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