KellschDoes anyone know of a good book to learn how to use Ubuntu or other Linux?  I've found about a million but I was wondering if anyone had a specific book that they found excellent.00:00
pdragoni've found that one useful00:12
pdragonsorry, there's the updated one00:15
=== emma_ is now known as emma
KellschI'll check it out00:31
DasEioha, life in #ubuntu-classroom00:56
=== dholbach changed the topic of #ubuntu-classroom to: Ubuntu Classroom || https://wiki.ubuntu.com/Classroom || https://lists.ubuntu.com/mailman/listinfo/ubuntu-classroom || Upcoming Event: Ubuntu Developer Week Jan 19-23: https://wiki.ubuntu.com/UbuntuDeveloperWeek || Ask questions in #ubuntu-classroom-chat
creek23hello, has the Ubuntu Developer's week starter already? -- Im from Philippines. and it's 5PM ofJan 19 here.08:30
dholbachcreek23: run   "date -u"   to find out what UTC time it is08:43
=== dholbach changed the topic of #ubuntu-classroom to: Ubuntu Classroom || https://wiki.ubuntu.com/Classroom || https://lists.ubuntu.com/mailman/listinfo/ubuntu-classroom || Upcoming Event: Ubuntu Developer Week Jan 19-23: https://wiki.ubuntu.com/UbuntuDeveloperWeek || Ask questions in #ubuntu-classroom-chat || Run 'date -u' in a terminal to find out what UTC time it is
creek23dholbach: what's basically gonna happen during "Getting Started" -- I'm basically waiting for Packaging which I think is hosted by you.09:03
dholbachcreek23: I just blogged about it - let me get you the link09:03
dholbachcreek23: http://daniel.holba.ch/blog/?p=33709:04
dholbachthere you go09:04
creek23wow. thank you.09:04
creek23very much09:04
dholbachit's going to be bloody brilliant09:04
creek23i sure hope so. :D09:06
directhexsomeone seems excited09:06
* creek23 is joining the dev week the first time :D09:10
=== matek is now known as matekm
=== mib_m3qag6hl is now known as shankhs
=== amit_ is now known as cornucopic
raoufhey Everyone12:08
=== soulnet is now known as derosa
Kmoshi dholbach15:01
dholbachhi Kmos15:06
Kmosdholbach: how are you? nice to see new events here15:08
dholbachvery good - thanks :)15:08
dholbachstill need to prepare a few things though :)15:08
Arcyea opening session in 50 mins15:11
Kmosdholbach: everything will be ok =)15:20
creek2330 min more....15:30
meekatron /IGNORE -regexp -pattern "is (away|gone|back)" * ACTIONS15:37
shankhsi am excited15:52
rooivalkfour minutes15:56
rooivalkthree minutes15:57
housetierwill there be logs? I'll have to move from work to home soon and would miss out15:57
dholbachhousetier: yes ,they're liked from the wiki page already15:57
dholbachhousetier: they'll be put up after the sessions15:58
creek23good to hear15:58
rooivalk2 minutes15:58
rooivalk30 seconds15:59
dholbachHELLO MY FRIENDS!16:00
dholbachWho's here for Ubuntu Developer Week and who's excited as I am?16:00
creek23i am!!!16:00
* Don_S looks around.16:00
Tm_Tdholbach: no, more than you16:00
dholbachIt's hardly possible, but who's MORE excited than I am?16:00
FlimmEverybody join #ubuntu-classroom-chat !16:00
creek23i am!16:00
rooivalki am toooo16:00
dholbachWelcome to another KICK ASS Ubuntu Developer Week!16:01
dholbachJust a quick introduction before we kick off this fantastic week:16:01
dholbachThe schedule is up here: https://wiki.ubuntu.com/UbuntuDeveloperWeek and logs will be made available after the sessions, the links are already there.16:01
dholbachMost sessions will be here, in #ubuntu-classroom16:02
dholbachand questions should be asked in #ubuntu-classroom-chat16:02
dholbachplease prefix them with QUESTION: so people see them easier16:02
dholbachie:   QUESTION: When is Jaunty coming out?16:02
dholbachThis first session is going to be special16:02
dholbachIt's "Getting Started" and we're going to have it in multiple languages simultaneously!16:03
dholbach(big applause here!)16:03
* creek23 claps!16:03
* holloway claps16:03
* Aderyn claps16:03
* Israphel claps16:03
* istaz claps16:03
dholbachjames_w will be leading Getting Started in English16:03
* ripps claps16:03
* EnCuKou claps!16:03
* kusa claps!16:03
dholbachMirv and Tm_T will be leading the Finnish session in #ubuntu-fi-devel16:03
* Flimm claps16:04
dholbachhuats and gpocentek will be leading the French session in #ubuntu-fr-classroom16:04
* Tm_T bows16:04
shankhsQUESTION: I know C/C++ how can I start developing in ubuntu?16:04
dholbachgaspa and quadrispro will be leading the Italian session in #ubuntu-classroom-it16:04
gpocentek(+Lutin on the french chan ;) )16:04
james_wand didrocks?16:05
dholbachgpocentek: excellent, merci beaucoup16:05
dholbachjames_w: he's ill :-/16:05
james_wlot's of french :-)16:05
huatsjames_w: is ill...16:05
james_waww, get well soon didrocks16:05
dholbachnxvl and pochu will be leading the Spanish session in #ubuntu-classroom-es16:05
dholbachand I'll be doing the German session in #ubuntu-classroom-de16:05
dholbachthanks a lot dear presenters, you ROCK16:05
james_wthis is going to be so cool16:05
nxvlthank you for having the idea!16:06
dholbachI hope you're going to have a fantastic time, I'm VERY excited!16:06
* dholbach hugs y'all16:06
* james_w hugs dholbach 16:06
* holloway hugs dholbach back16:06
Aderyngroup hug!16:06
dholbachjames_w: the floor is yours :)16:06
* nxvl HUGS dholbach back16:06
dholbachyoohooo! :)16:06
james_wthanks dholbach16:06
* Tm_T runs away from dholbach 16:06
james_wgood luck to my fellow presenters :-)16:06
Mirvthanks :)16:07
kusathanks :)16:07
james_wright, who's going to be following the English session?16:07
Aderyni will. :)16:08
* Don_S raises his hand.16:08
* Jarlen raises his hand16:08
* legate raises his hand16:08
* toobuntu_ raises his hand16:08
pdragoni'm lurking16:08
* Arc raises16:08
* Israphel idem16:08
shankhsI thought there will be over 1000 participants16:08
theseasme too!16:08
EnCuKouI'm lurking as well.16:08
arrowesme too16:08
james_wcool, glad to hear it16:08
* Flimm raises his hand16:09
james_win this session I'm going to be talking about Ubuntu Development in general terms, showing you round some areas of it, and giving you pointers to get more information16:09
IsraphelI gonna follow the session while I watch disney channel16:09
Kmosjames_w: let's start it :)16:09
* creek23 raises hands.16:10
james_wthen in the next session the unstoppable dholbach is going to talk about how to get started doing packaging, which is one of the main activities in Ubuntu developement16:10
james_wso if you want to know the mechanics of packaging stick around for that session16:10
james_wso, we'll get started with a look at the structure of Ubuntu development16:11
james_wthe wiki is the place to look for this16:11
james_wthat's the overview page16:11
james_wthat is full of links for places to get more information16:11
creek23my first time here: are all the events gonna happen here in the IRC? how about visualizations?16:12
james_wso, an Ubuntu developer is anyone that works on making Ubuntu  rock technically16:12
james_wcreek23: in #ubuntu-classroom-chat please16:12
james_was I said the main activity is based around packaging, and as such we deem "Ubuntu Developers" to be those that have "upload rights" to the archive, but there are many many more people that contribute to Ubuntu in really important ways without having upload rights16:13
james_wfor those that have upload rights, there are two groups "Core-dev" and "MOTU"16:14
james_wthe distinction is on how many packages they get to upload, with core-dev being allowed to upload anything, and MOTU only allowed to upload packages in universe16:14
james_w(and multiverse)16:14
james_wMOTU is the team to get involved with if you want to become an ace packager16:15
james_wit's a really friendly, helpful community, and there is loads to do16:15
james_w<Aderyn> QUESTION: MOTU is short for what?16:16
james_wMOTU stands for "Masters of the Universe"16:16
james_wit's a pun on the fact that we maintain the  universe component16:16
james_w<shankhs> QUESTION: how to get upload rights16:16
james_wgood question16:16
james_wto become a MOTU you spend some time contributing through the "sponsorship process"16:17
james_w<shankhs> QUESTION: how to get upload rights16:17
james_wthat's what I meant :-)16:18
james_wthis is where you prepare an update to a package in the archives and request that it be uploaded16:18
james_wsomeone with upload rights will then review your change and work with you to make it work16:18
james_wonce they are happy with it they will upload it for you, but it will be under your name, they just sign it for you so that they archive software will accept it16:19
james_wafter some time, when you have contributed significantly through this process you apply for upload rights16:20
james_wand the people that sponsored you will advocate your application, saying that they think you are ready to upload by yourself16:20
james_wthe MOTU Council then vote on your application and if they vote in favour of you you are given upload rights16:21
james_wthe aim is that it's fairly easy to get your work sponsored, so that you can contribute while not having upload rights, and then once you are trusted we can remove the review step and let you upload without that wait16:21
james_wand of course sponsor the next batch of developers16:22
james_w<shankhs> QUESTION: I read that to become MOTU you need a mentor how to get one?16:22
james_wyou can have a mentor if you like, but it is not requires16:22
james_wsee https://wiki.ubuntu.com/MOTU/Mentoring for more information on mentoring16:22
widoxalid login request > java.lang.NullPointerException16:23
widox11:20:08.104 - [ WARNING ] > SysHandler -> Bad room id. Action: roundTrip >> java.lang.NumberFormatException: For input string: "null"16:23
james_wthe time from application to getting a mentor is just a couple of days at the moment I believe16:23
GSMXdate -u16:23
james_wbut it's preferred if you can get started reading the documentation and tackling bugs on your own, and apply for a mentor for advice and guidance16:24
james_wmentors are busy with their own development work, so they won't be able to teach you everything16:24
james_w<ikis> QUESTION:What technical skills should have an Ubuntu developer? Is there any material?16:24
james_wthere aren't specific technical skills required16:25
james_wknowing a bit of programming (in any language) helps16:25
james_wif you are good at the command line, and know a bit of scripting or something that is usually good enough16:25
james_wthe main thing you need is skill at problem solving. Much of what we do boils down to that.16:26
james_wthere are obviously some things that you need specific skills before, but you can either skip those tasks, or learn the skills as needed16:26
=== soulnet is now known as derosa
james_w<maxb> QUESTION: How does the Ubuntu Universe Contributors status fit in to this system? What is different between a member of this team and anyone else following the SponsorshipProcess?16:27
james_wthanks, I forgot to mention this16:27
james_wthe "Ubuntu Universe Contributors" status is the same as Ubuntu member status16:28
james_wjepes: #ubuntu-classroom-chat please16:28
james_wthe MOTU council is able to grant Ubuntu membership based on contribution to Ubuntu development16:29
james_wit doesn't gain you anything special from a developer perspective16:29
james_wit's just a recognition of your contribution to development and ubuntu member status16:29
james_w(and so @ubuntu.com email, IRC cloak, planet ubuntu etc)16:30
elipticalosmahiper cool16:30
=== Kelemen3 is now known as Kelemen
james_wnow, I want to talk a bit about the development cycle and related things16:31
creek23elipticalosma: #ubuntu-classroom-chat please16:31
sampola hay alguien español16:31
james_was Xazax stated most packages in Ubuntu come from Debian16:32
Nosgoshte comprendo16:32
james_wso we start the cycle by pulling in all the latest stuff from Debian16:33
james_wthis goes on for a couple of months16:33
james_wmost stuff is pulled in automatically16:33
james_wbut if we have modified a package in Ubuntu then we must "merge" the changes16:33
james_wthis activity is unsurprisingly known as "merging"16:33
james_wthis is an important activity, as it is one of the main ways we make sure we are up-to-date, and is where a lot of interesting new things for Ubuntu come from.16:34
KmosNosgosh: try #ubuntu-es-classroom16:34
james_wwe owe a lot to Debian, and to the "upstreams" that they take from16:34
jepeshola javier16:35
cineristhanks Kmos16:37
james_wafter that process has gone of for a couple of months (at "Debian Import Freeze", or "DIF")16:38
james_wwe stop the automatic import, and start to focus on the next release16:38
james_wthere is still a couple of months where we work on new things16:38
james_wwe either start to jump ahead of Debian a little bit by pulling directly from "upstream"16:39
james_wor we add new things ourselves16:39
james_wthat goes on until "feature freeze"16:39
james_wat that point we start to focus on making the next release solid16:39
james_wthis starts a couple of months before release16:40
james_wand things start to freeze more and more over time16:40
james_wmeaning we make smaller and smaller changes to try not to break anything16:40
james_wthen we release and have a big party16:40
james_w<ikis> QUESTION: Do you use the unstable Debian always?16:41
james_wnot always16:41
james_wthat's the default, but it's possible to take from elsewhere if needed16:41
james_we.g. experimental16:41
james_was Debian is currently frozen we have been doing that a bit more than usual this cycle16:42
james_w<Ape3000> QUESTION: Can you increase the rate of backporting so we would always have the newest software? If it's stable on upstream, why shouldn't it be stable on Ubuntu?16:42
james_wit's not that simple16:42
james_whow stable a release is from upstream varies16:43
james_wand more than that, it depends a lot on the rest of the packages16:43
james_wso backporting something that works fine may cause it to break16:43
james_walso, stability is important within a release. Having your system possibly break every day isn't very good to work on.16:44
james_wselective backports can help for somethings16:44
james_wand spending more time on backporting means we spend less on the next release, whereas we think it's important to make ubuntu+1 great, and we can do that without having to worry too much about stability for our users16:45
james_w*and* you're never more than 6 months from the latest release16:45
james_w<ongolaBoy> QUESTION:why do you release twice a year ?is it reliable ?16:46
james_wit was decided that this gave the best balance between releasing quickly to get new stuff out there16:46
james_wand releasing slowly to make sure things were well tested and stable16:46
james_wit also stems from GNOME's 6-monthly release cycle16:47
james_wfollowing them is very useful for us16:47
james_wread Mark's writing on release scheduling if you want to know more16:47
james_w<Ape3000> QUESTION: What about online games that must be always the newest stable version in upstream? Shouldn't you prefer using the supported version instead of being 100% stable?16:48
james_wthere are obviously special cases, and we try and handle them appropriately16:48
james_w<slavsun> QUESTION: when the Plymoth technology (loading different services at the same time) will be deployed in Ubuntu ?16:48
james_wI think you've got a few things mixed up there, Plymouth isn't to do with services16:49
james_wI'll talk a little bit about the new feature process though16:49
james_wthis process is ongoing, but it comes together towards the end of the release schedule16:50
james_wwe start to survey what changes are arriving upstream, look at brainstorm, talk to each other, etc.16:50
james_wfrom that each developer will decide what is both important, and achieveable for the next cycle16:51
james_wfrom that they will come up with a number of specifications16:51
james_wthese are then discussed at UDS, or elsewhere16:51
james_wand then drafted, and approved16:51
james_wand the developer will then work on them to be included in the next Ubuntu release16:52
james_wplus, there are lots of things that are just implemented along the way without a specification etc.16:52
james_wusually smaller things16:52
james_wplus we get lots of new shiny by default every release from upstreams16:52
james_w<shankhs> QUESTION:In brainstorm u get lots of conflicting ideas how u manage that?16:53
james_wwell, we don't have to implement them all, so we're ok16:53
james_wbut part of the point of brainstorm is to gauge how the user base feel about conflicting ideas16:53
james_wif both are voted really high then we have to find another way16:54
james_w<Ape3000> QUESTION: Do you listen to Brainstorm? If an idea gets lots of votes, do you implement that?16:54
james_wit's not as simple as that16:54
james_wwe keep an eye on it, but we don't take the top 50 ideas from brainstorm to work on16:54
james_wfirstly, as I said the idea has to be acheivable, when many aren't, at least in the short term16:55
james_wsecondly, user votes isn't the only thing that should drive an OS16:55
james_wright, there have been loads of questions about REVU, so I'll talk about that16:56
james_wyou can find REVU at http://revu.ubuntuwire.com/16:56
james_wand read about it at https://wiki.ubuntu.com/MOTU/Packages/REVU16:56
james_wREVU is a way for people to propose packages to be included in Ubuntu16:57
james_wif you find something really useful that isn't included in Ubuntu you can package it16:57
james_wand then put it on Ubuntu to get reviewed16:57
james_wMOTU can then come and review your package, and you can fix any problems and re-upload16:57
james_wif your package gets two advocates (MOTUs that say that it looks good) then it will be uploaded to Ubuntu16:58
james_whowever, reviewing new packages is a time consuming activity16:58
james_wand there aren't that many MOTUs16:59
james_wand not all of them spend time reviewing packages on REVU16:59
james_wthis means that there is a lack of reviewers, and so many packages on REVU go un-reviewed for a long period of time16:59
james_wif you want your package uploaded then you can put it on REVU and ask for reviewers in #ubuntu-motu every so often17:00
james_wand some patience will see your package uploaded. Then you can watch the bug reports and package new upstream versions etc.17:00
james_wif you are looking to become an Ubuntu developer then you should probably look for other ways to contribute17:01
james_was the above reasons mean that it would take a very long time to developer status through REVU17:02
james_wand there is more to development than new packages17:02
james_wI would instead work on updating packages in the repositories to new versions17:02
james_wand fixing bugs in them17:02
james_wdirecthex> you could mention the option of targeting debian rather than revu, james_w17:03
james_windeed, thanks directhex17:03
james_wif you have a new package then getting it in to Debian means that it will end up in Ubuntu anyway soon enough17:03
james_wand you get more potential users of your package17:04
jsmidtWhat's the best way to find out what needs done today? Harvest?17:04
james_wfor finding other tasks to work on then you can use Mr. Holbach's "Harvest" http://daniel.holba.ch/harvest/17:04
james_wthis aggregates lists we have of "low-hanging" fruit17:06
james_wso they are good leads to pick up17:06
james_wthe absolute *best* thing to do is work on something you care about though17:06
james_wif you use and love the epiphany web browser then take a look at the list of bugs on that and find something you think you could tackle17:07
james_wif you try to install a cool new game and it fails to start as it is missing a dependency on some package then prepare a fix to the package so that you can install it17:08
james_wif you really miss the ability to click on URLs and have them open in your web browser from some terminal emulator that you use then work out how to make that happen and submit a patch17:09
james_wdon't be afraid to start small either17:09
james_wpicking up a bug about a spelling mistake somewhere to work on isn't a bad thing, even though it's not coding C++, every time you work on something you will learn loads17:09
james_wand before too long you will be able to tackle larger things17:10
james_w(typing break, my fingers hurt :-) )17:11
Paddy_EIREjames_w, :)17:12
james_wright, let's look at other ways to contribute17:12
james_wso, I've mainly been talking about packaging, as that is the core of what we do17:13
james_wbut there are very few people that just do "packaging"17:13
james_wit naturally leads you to work on other things17:13
james_wso we do a lot of bug-fixing17:13
james_wwe also develop some new features17:14
james_wbut that is a large time investment, so the scales we work at leave us little time to do that17:14
james_wthere are two main types of new features that you can contribute though17:15
james_wthe first is of the class "make my favourite application do such-and-such"17:15
james_wthese generally only touch a single package17:15
james_wand we tend to think of these as "upstream" features17:15
james_wfor these you are often best off contacting the upstream project, as they will know the code much better and will be able to hep you17:16
james_wthe other type are the "glue" features17:16
=== maix_ is now known as maix
james_wthis is where we make something work well either across, or between packages17:17
james_wthis is one area that Ubuntu shines17:17
james_wthis involves either writing new code, or integrating it from upstream17:17
james_wso you can make something "just work"17:18
james_wthis is where most attention is focused, as these are the things that usually can't be done upstream17:18
james_weither because they are distribution-specific in some way (for instance installer integration)17:18
james_wor because they don't live in one package, but between them17:19
james_wif you have an idea in this area and want to work on it then it's a good idea to track down the right people to talk to17:20
james_wsometimes this is one particular person, sometimes a team, or sometimes it's a little bit of several people17:20
james_wif it's to do with a particular package then you can find out who might be a good person to talk to by reading the changelog17:21
james_wotherwise posting to the mailing list about it is probably the way to go17:21
james_w<xnox> QUESTION: do translators and bug-squashers get same amount of recognition as the packagers? Eg. in terms of getting Member, MOTU and Coredev statuses?17:22
james_wthe can equally get membership17:22
james_wthey can't get MOTU and core-dev for those activities though17:22
james_was they don't normally need to upload packages to do that17:23
james_wsomeone would be perfectly welcome to be a translator *and* a MOTU though17:23
james_wand many people are17:23
james_w<creek23> QUESTION: Does core-dev or MOTU get paid?17:24
james_wnot necessarily17:24
james_wsome are paid for their work, many by canonical17:24
james_wbut that is neither a requirement nor a guarantee17:24
james_wthere are many volunteer developers who do fantastic work17:25
james_w<Xazax> QUESTION: there are lot of updated or new packages on getdeb.net. Whats with that? When will they be implemented?17:25
james_wwe don't pull from getdeb.net without manuall inspection17:25
james_wif there was an updated package there then we could review it and pull it17:25
james_wor the person that put it on getdeb could seek sponsorship to get it in to Ubuntu17:26
james_wbut we have other ways of finding out about new upstream versions17:26
james_wrugby471> QUESTION: As a confident user, I reported a bug in launchpad, however it still has not be implemented after a long time, I figured the thing to do is package it myself, however I don't know how to get the source of the deb etc. How do you intend to make bug solving easier for users like myself?17:28
james_wthat's the best way of doing it, then you don't have to wait for someone else:17:29
james_wI personally care a lot about making bug solving as easy as possible in Ubuntu17:29
james_wwell, at least easy to integrate the fix if you can work out what it is17:30
james_wwe can't really make it easier to actually solve problems ;-)17:30
james_wI'm working on a few projects that I hope will help with this17:30
james_wand we have had lots of discussion within the developer community about making it easy17:30
james_wI would say that if you have a fix, and you subscribe the sponsors as outlined in the sponsorship process I discussed earlier you should find it fairly easy to get your fix in17:31
james_w(assuming that it's not doing something bad)17:31
james_w<maxb> QUESTION: How does a contributor know when they are ready to apply for MOTU?17:31
james_wmaxb: it's a discussion that has also been going on in recent weeks17:32
james_wthe oft-given answer to this is either "when people tell you you are"17:32
james_wor "when people are surprised that you aren't already"17:32
* xnox lol17:32
james_wif you have a couple of regular sponsors then ask them, they will happily tell you if they think you are ready17:33
james_wand if not they will be able to give you suggestions about where you can improve17:33
james_wif you don't have regular sponsors then you either haven't really been involved long enough, or you've just been *really* unlucky and never had something sponsored by the same person twice17:34
james_w(regular here would be 5 or so)17:34
james_wif you think you are doing well, but you really don't know who to ask then you can find someone from the MOTU council and speak to them about it17:34
james_wor indeed any MOTU would be glad to help I'm sure17:35
james_wxnox> QUESTION/SUGGESTION: what about QA? from release perspective (+1) and from the on-going perspective (current, stable and LTS)17:35
james_wwe have the QA team, who try and test things, and keep an eye on the bugs to try and spot things that need to be fixed17:35
james_wand of course, being free software, the users are testers too17:35
james_wso we really on bugs being reported, and being escalated in the correct manner17:36
james_wI think there are some QA sessions this week you could attend to find out more17:36
james_wand there are weekly QA meetings if you have suggestions17:36
james_wcreek23> QUESTION: Does a software needs a large amount of user before ever being added to Ubuntu upstream?17:36
directhex<james_w> so we really on bugs being reported, and being escalated in the correct manner <-- and with sufficient detail that they can be repeated & isolated by the person fixing the bug - "it doesn't work" helps nobody17:37
james_w"upstream" means the places we pull software from, not part of Ubuntu17:37
james_wdirecthex: indeed17:37
james_wbut no, we don't require a large amount of users before being added to Ubuntu17:37
james_wthough a package with close to zero *potential* users may have a hard time getting added17:37
james_w<creek23> QUESTION: after a "needs packaging" is confirmed, when does it usually implemented?17:38
james_wwhen somebody does it17:38
james_wthat's the best you can say17:38
james_wxnox> QUESTION: can maintainers of Debian packages apply for Ubuntu Members status and get it like automagicly?17:38
james_wnot sure17:38
james_wthey will probably be able to get developer status quite quickly, as they presumably have good technical knowledge17:39
james_wbut as for member status, I'm not sure17:39
james_wthat would be up to the councils in the end17:39
james_wlaunchpad is the place where a lot of Ubuntu development is tracked17:41
james_wyou will need an account there for a lot of development activities17:41
james_wand you can find bug reports, translations, answers, specifications, build logs, NEW queue, and loads more on there17:42
james_w<ronj> QUESTION: I had never heard of REVU before this session. One question after a quick look at the tool: don't you think this could be simplified and integrated to Launchpad? Seems redundant with some LP features. Or am I missing the point of the tool?17:45
james_wit could perhaps be integrated in to launchpad, but it isn't, so we have REVU17:45
james_wthe launchpad developers would know if there were plans for it, or even if they wanted something like that17:45
james_w<jsmidt> QUESTION: Should we update packages updated upstream but not in Debian?  If so, when is the freeze timeline for this?17:46
james_wjsmidt: yep, there's no problem with that17:46
james_wjsmidt: right at the beginning of the cycle it may be easier/better to get it in to Debian, and then sync17:46
james_win the middle it may be better to get it in to Ubuntu directly, unless you know that it will be updated in Debian soon17:47
james_wat the end you will have to get a freeze exception, and it doesn't really matter where the package is coming from then17:47
james_wxnox> QUESTION: Debian is frozen right now. What does it mean for them and for us?17:50
james_wthis means that Debian is in the process of releasing17:50
james_wthe freeze lasts for a long time in this period17:50
james_wand during that time there are less uploads to Debian "unstable"17:50
james_wsome upload to "experimental", but some just wait17:50
james_wthat means to get things through Debian is a bit of a pain from Ubuntu's point of view, as they are concentrating on release17:51
james_wI'm happy for them to do that, but it causes us a bit of disruption compared to the normal routine17:51
james_wxenonex> How can I help in adding the latest version of the package in a repository? (for example, dhcpcd need to upgrade to version 4)17:55
james_wfirstly file a bug with the necessary information17:55
james_wand tag it "upgrade"17:55
james_wthen check the Debian bug tracking system for the package and see if it has been requested there17:55
james_wand if it has then link the bug in launchpad17:56
james_wif not then you can file it in Debian (after checking it is not in Debian already)17:56
james_wif it is in Debian then we need to do the merge17:56
james_wonce that is done you can tackle the upgrade yourself17:56
james_wcheck "uupgrade" from devscripts that will automate some steps17:56
* james_w calls time17:58
james_wthanks for your participation everyone17:58
* directhex blows a whistle17:58
directhexround of applause for james_w17:58
james_wI hope it was useful17:58
xnoxjames_w: thank you for the session!!!!!17:58
* xnox claps17:59
* Arc applauds17:59
huatsjames_w: congrats ;)17:59
* creek23 claps!17:59
james_wI wonder how far I diverged from the sessions in other languages :-)17:59
jsmidt\me claps17:59
Paddy_EIREjames_w, Thank you very much for your time17:59
rugby471THANK YOU!!!!! (oops not meant to post in this channel :-] )17:59
CrownAmbassadorWill this be published somewhere like other meetings? I couldn't log it before it started.17:59
Jarlenthanks james_w, it was very enlightening :)17:59
james_wCrownAmbassador: check the wiki17:59
EnCuKoujames_w: Thanks for the talk!17:59
theseasthanx james_w17:59
jsmidtthanks james_w17:59
CrownAmbassadorjames_w: will do , thanks18:00
james_wthe scribes team does a great job making the logs available18:00
creek23the whole uptream pulling to package review was quite a talk.18:00
maixCrownAmbassador: https://wiki.ubuntu.com/MeetingLogs/devweek0901/GettingStarted18:00
CrownAmbassadormaix: Wow! That was quick! hehe. Thanks.18:00
maixah sry, +EN18:00
dholbachHELLO EVERYBODY!18:00
maixbrowser history :D18:00
dholbachARE YOU HAVING A GOOD TIME? :)18:00
dholbachI can not hear you! Who's here for "Packaging 101"? :-)18:01
CrownAmbassadordholback: Our German friend yeah?18:01
* apw giggles18:01
Cobaltdholbach: i'd sure like to know more.18:01
theseasyesss!!! :)18:01
* Andphe is here for packaging 10118:01
james_wME! I've been interested in this packaging thing, I'd quite like to learn how to do it18:01
* ia put hand18:01
alexruddmight be easier to ask who isn't18:02
xnoxjames_w: lol18:02
* hggdh needs to learn pack aging18:02
dholbachI hope you guys are excited as I am and I hope to see you in #ubuntu-motu soon making Ubuntu rock even harder! :-)18:02
EnCuKouI'm right here, sucking up the knowledge18:02
Ape3000I like this few hours18:02
creek23i am!!!18:02
dholbachOk my friends, let's keep questions in #ubuntu-classroom-chat and please: ask :-)18:02
dholbachSo this is "Packaging 101" - I'm going to explain the bare-bone structure of a very simple package18:03
dholbacha lot of the stuff I'm going to talk about is also in the Packaging Guide which is linked from https://wiki.ubuntu.com/MOTU/GettingStarted18:03
dholbachso go and bookmark that page, it has all the important information, including some videos about packaging18:04
dholbachfirst please all take a look at /etc/apt/sources.list18:04
dholbachand see if you have something in there resembling18:04
dholbachdeb-src http://archive.ubuntu.com/ubuntu/ intrepid restricted main multiverse universe18:04
dholbachthis will give apt information about source packages which is what we're going to need18:05
dholbachif you don't have it, please add it (and replace 'intrepid' with whatever ubuntu release you're running)18:05
dholbachand run18:05
dholbach   sudo apt-get update18:05
dholbach<bullgard4> QUESTION: Questions may be put at any time or only later?18:05
dholbachbullgard4: any place in /etc/apt/sources.list should fine18:06
=== Kelemen3 is now known as Kelemen
dholbach<dlynch> QUESTION: do I need to learn about man pages and icons and where things go on the file system before I can even think about making a package?18:06
dholbachdlynch: we're not going to cover it in this session, but as all things in Ubuntu Development it's fine to learn them step by step18:06
dholbachfor the package we're discussing in a few secs, it's not that important18:06
dholbachalright, now that apt knows about source packages, please run18:07
dholbach      apt-get source hello18:07
dholbachfor those of you who know 'hello', yes, it's boring18:07
Andphegksu gedit /etc/apt/sources.list18:07
dholbachbut it's to the point and that's what we like18:07
dholbachhello is a GNU project that shows how to use C, autotools, internationalisation to create an awesome tool which does nothing more than writing "Hello world!" on your screen18:08
dholbachthe hello source package contains a similarly spartanic packaging :)18:08
dholbachwhich is a good start18:08
dholbachso what did 'apt-get source' do?18:08
dholbachon my machine it downloaded hello_2.2-2.diff.gz hello_2.2-2.dsc and hello_2.2.orig.tar.gz18:09
dholbachhello_2.2.orig.tar.gz is the unmodified tarball that was released on the GNU homepage18:09
dholbach(it was merely renamed)18:09
dholbach<apw> Check if the 'dpkg-dev' package is installed.18:09
dholbachapw: you're right... sorry - you will need dpkg-dev18:10
dholbachI thought james_w had covered that ;-)18:10
james_wyeah, sorry, didn't get round to that stuff18:10
james_wthere's a lot of Ubuntu development to talk about18:10
dholbachyou're right :)18:10
dholbachnevermind guys :)18:10
dholbachhello_2.2-2.diff.gz is the compressed patch that was introduced to make hello build the Ubuntu way18:10
dholbachwhat does that mean?18:10
dholbachUbuntu and Debian have a build process that is actually a meta-build process, it's on top of the packages build infrastructure (be it autotools or a python distutils project, or just a few PHP scripts that are installed somewhere, etc.)18:11
dholbachthis is a great thing, as we just have one build process that is applied to all kinds of packages18:11
dholbachthis is the "packaging" :)18:12
dholbachhello_2.2-2.dsc is a text file that contains meta data such as md5sums and so on18:12
dholbach<xnox> Question: looking into hello-2.2 directory, itsn't TOO many files for a "prints hello world" programm?18:12
dholbachxnox: we'll get to the files in the directory in just a sec18:12
dholbach<co0lingFir3> QUESTION: in the terminal it says signature could not be verified because the public key was not found. how can i fix that?18:12
dholbachco0lingFir3: you can safely ignore that warning18:12
dholbachit just means that you don't have the public key of the last person who touched the package to verify it18:13
dholbachalso I have a hello-2.2 directory that was generated this way: extract the .orig.tar.gz tarball, apply the compressed patch (the .diff.gz)18:13
dholbachapt-get source <package> will get you every source package that is available in the archive18:14
dholbachalright, let's crack on18:14
=== hRedBeard1 is now known as hRedBeard-work
dholbach   cd hello-2.218:14
dholbach    ls18:14
dholbachyou can see there's a debian/ directory - this comes from the .diff.gz18:14
dholbachand that's where the packaging lives18:14
dholbachif you look into the debian/ directory you can see just a few files18:15
dholbachand now we're going through all of them one by one18:15
dholbachany questions already?18:15
=== admin is now known as Guest90417
dholbachthe first one   debian/changelog   is pretty straight-forward18:16
dholbachit contains changelog entries for every revision of the package that was done in Debian / Ubuntu18:17
dholbachespecially in Ubuntu it's very important to document very carefully what you've changed18:17
dholbachwe have no 'maintainer concept' in Ubuntu, we all work on all packages as a team18:17
dholbachso if you don't like your fellow developer to have to second-guess what "made shit work again" means, you better document it well :)18:18
dholbachalso if you look at the package half a year later you need to know what changed and why18:18
dholbachalso add information about bugs that were fixed, references to patches, discussion etc.18:18
dholbach<apw> QUESTION: how can we tell if it is a debian or ubuntu change18:18
dholbach<creek23> QUESTION: revision of the package? not the revision of the binary?18:18
dholbach<maix> QUESTION: in debian it is not?18:18
dholbachapw, creek23, maix: we'll get to that exactly now :-)18:19
dholbach<bullgard4> QUESTION: Do you, Daniel, often consult the changelog in order to find the cause of a bug?18:19
dholbachbullgard4: always18:19
dholbachon my system the first line of debian/changelog says:18:19
dholbachhello (2.2-2) unstable; urgency=low18:19
dholbachlet's go through them one by one18:20
dholbach'hello' is the name of the source package18:20
dholbachtypically just the name of the upstream project18:20
dholbach(2.2-2) contains the version number of the source package18:20
dholbachit comprises of two parts18:20
dholbach"2.2" is the version number of the upstream release18:20
dholbachremember "hello_2.2.orig.tar.gz"?18:20
dholbachthat was the version that was release on the GNU FTP server18:21
dholbach-2 means "this is the second revision of hello 2.2 that was uploaded to Debian"18:21
dholbachif we were to add an Ubuntu-only change to the package, it'd be   2.2-2ubuntu118:21
dholbachso we just add a "ubuntu1" to the Debian revision18:21
dholbach<ia> QUESTION: could you tell, please, a little bit more about X.Y-ZubuntuW package version naming? what stands Z and W for and how it calculates if i made some changes and gonna make new package?18:22
dholbachOk, let's talk about it a bit more18:22
dholbachif we were to update hello to 2.3 without inheriting the version from Debian, we would call it 2.3-0ubuntu118:22
dholbach<Arc> QUESTION: what about when the upstream release contains a -, such as 1.0-beta2 or 3.0-rc318:23
dholbachthat's an interesting question18:23
dholbachin the case of beta2 and rc3 we would change our tactics slightly18:23
dholbachwe'd use the    ~    operator18:23
dholbachit tells dpkg "this is smaller"18:24
dholbachlet me show you can example18:24
dholbachdaniel@miyazaki:~$ dpkg --compare-versions 1.0-1 gt 1.0~beta1-1 && echo TRUE18:24
dholbachdaniel@miyazaki:~$ dpkg --compare-versions 1.0-1 gt 1.0beta1-1 && echo TRUE18:24
dholbachdpkg is always authoritative18:25
dholbachdpkg will not upgrade to a version of a package that is "smaller" than the current one18:25
dholbachwe introduce the "~" to artificially let dpkg know: this is smaller :)18:25
dholbach<Arc> QUESTION: what about after - for ubuntu-only packages18:25
dholbachArc: can you clarify?18:26
dholbach<Arc> dholbach: what do you put after the - for when there is no debian package version, when you're packaging directly for ubuntu18:26
dholbachArc: OK. let's say I package   baconator 1.018:27
dholbachI'd call the first version that ever hits Ubuntu   baconator (1.0-0ubuntu1)18:27
dholbachto indicate: we did not inherit any version from Debian18:27
dholbach<creek23> QUESTION: if a software uses the YMD versioning scheme, should the package follow it as foobar-2009.01.16-ubuntu.deb?18:27
dholbachcreek23: it'd probably be foobar_2009.01.16-0ubuntu1_i386.deb or some such18:28
dholbach<apw> QUESTION: why would not our 2.3 copy be 2.3~ubuntu118:28
dholbachapw: in the case of 2.3 (upstream, our first revision) it's not necessary to tell dpkg "this is actually smaller"18:28
dholbach2.3-0ubuntu1 works just fine18:28
dholbach"~" is not used very very often18:29
dholbach<ripps> QUESTION: What if we checkout a program from svn that doesn't a numerical version just a svn version (ex. svn2558)?18:29
dholbachso if this was 1.0 version of baconator plus some changes from SVN, I could make it18:29
dholbachalright, let's crack on :)18:29
dholbach<oliver_g_1> QUESTION: for the SVN checkout case, where do we get the .orig.tar.gz?18:30
dholbacholiver_g_1: create it ourselves18:30
dholbachprojects that use autotools often have a          make dist      or some such18:30
dholbachto continue with the first line of debian/changelog....18:31
dholbachthere's still "unstable; urgency=low"18:31
dholbachunstable is the default "distro release" that is uploaded to in Debian18:31
dholbachwe use things like "intrepid", "jaunty", etc.18:31
dholbachwe can always just upload to the current development version of Ubuntu18:31
dholbachwhich in our case is "jaunty"18:32
dholbachthe 'urgency=low' bit is always added by tools like dch (in the devscripts package)18:32
dholbachand we can safely ignore it18:32
dholbachin Debian it describes the urgency of the upload18:32
dholbachin the Launchpad build service it's ignored18:32
dholbach<creek23> QUESTION: what's with the 0 in "-0ubuntu"?18:33
dholbachcreek23: it means that we have not inherited a version of it from Debian yet18:33
dholbach<co0lingFir3> QUESTION: can we apply for "needs packaging" in launchpad even if there is no new version of a tool but just changes via GIT?18:33
dholbachco0lingFir3: needs-packaging is something else - it's bookkeeping within Launchpad for packages that are not in Ubuntu yet18:34
dholbachco0lingFir3: you're free to add changes from GIT18:34
dholbach<apw> QUESTION: if the target version is not an ubuntu release does that target 'development' automatically?18:34
dholbachapw: dch, which adds boilerplate changelog entries for your (in devscripts package) will default to the version you're running right now18:34
dholbach<oliver_g_1> QUESTION: what if I want to make a package for Hardy? Can I still leave the changelog line at unstable or jaunty, or does it have to be hardy then?18:35
dholbacholiver_g_1: take a look at https://wiki.ubuntu.com/StableReleaseUpdates18:35
dholbachit's about hardy-proposed, hardy-updates, etc.18:35
dholbachwe're not going to have the time here to discuss it, sorry18:35
dholbach<rugby471> QUESTION: If we package the hello program separately for ubuntu, why does it still retain the 'unstable' bit from debian18:35
dholbachrugby471: because we got the source package unmodified from Debian18:36
dholbach<Arc> QUESTION: does "unstable" thus mean that it was uploaded to debian directly, so we'd s/unstable/jaunty if we were uploading to (ie) a PPA for jaunty?18:36
dholbachArc: if you add a new changelog entry, use the current development release, yes18:36
dholbach<maix> QUESTION: isn't it that urgency=high is used for security fixes?18:36
dholbachmaix: yes, in Debian - for us it's irrelevant18:36
dholbachOK, let's crack on18:36
dholbachplease ask further versioning questions in #ubuntu-motu please :-)18:36
dholbachthe rest of the changelog entry is obvious18:37
dholbachit describes what was done following the " * "18:37
dholbachand in the bottom there's the content of DEBFULLNAME and DEBEMAIL18:38
dholbachplus the current timestamp (date -R)18:38
dholbachlet's move on to     debian/control18:38
dholbachthis is much more exciting18:38
dholbachit's always divided into at least 2 stanzas18:39
dholbachthe first one is about the source package18:39
dholbachthe following ones (in this case just one) about the resulting binary packages (.deb files)18:39
dholbachSource: just repeats the source package name18:39
dholbachSection: is one of few sections that are defined in debian policy18:39
dholbachPriority: is also defined in the debian policy18:40
dholbachthe Maintainer: name defines who takes care of the package18:40
MrKanisterYou all should bookmark http://people.ubuntu.com/~cjwatson/ubuntu-policy/policy.html/  ;)18:40
MrKanistersorry for interupting18:40
dholbachStandards-Version: mentions which version of the debian policy the package complies with18:40
dholbach<bullgard4> QUESTION: You used the term 'build service'. What do you mean by that?18:41
dholbachbullgard4: we always deal with source packages when we introduce changes, which means we upload the .diff.gz the .dsc and the .orig.tar.gz file to a build server where it will be compiled and result in a bunch of .deb files18:41
dholbachas I said before: this package is very very simple18:41
dholbachand thus is does not contain a Build-Depends line18:42
dholbachwhich you will encounter in almost every other package18:42
dholbachin this line you specifiy which packages are necessary to build and compile the package18:42
dholbachit always assumes that build-essential (including libc, gcc, make and so on) is installed18:42
dholbachbut every other Build dependency is specified explicitly18:43
dholbach<GSMX_> QUESTION: how can you see who the ubuntu mainainer is?18:43
dholbachapt-cache show hello18:43
dholbach<ia> QUESTION: if i make some changes in package, so i should enter my name in "Maintainer" field, but current "Maintainer" line should replace by XSBC-Original-Maintainer, right? and what XSBC stands for?18:43
dholbachia: good question - this package is unmodified but for all the other packages which we decide to modify (over Debian)...18:43
dholbachour friends at Debian asked us to preserve the Debian Maintainer in XSBC-Original-Maintainer and add a new Maintainer: which is specific to Ubuntu18:44
dholbachthis was done to prevent stray bug mails from Ubuntu users to go to the Debian maintainer18:44
dholbachthis can automatically be done by running update-maintainer (in the ubuntu-dev-tools package)18:44
dholbachso far to the debian/control section about the source package18:45
dholbachlet's come to the binary package18:45
dholbach"Package:" just contains the name of the binary package we want to get created18:45
dholbachin this simple case    upstream project name = source package name = binary package name18:46
dholbach"Architecture: any" is slightly more exciting18:46
dholbachthis means: please build the package on any architecture individually18:46
dholbachlet me explain18:46
dholbachwhen I upload a modified hello source package to the ubuntu build service18:47
dholbachit will be independently built on armel, i386, amd64, powerpc, sparc, hppa, etc etc18:47
dholbachso all the architectures that we have available in the data center18:47
dholbachthis is necessary where the binary package afterwards contains architecture dependent code18:47
dholbachif you compile a C program, it's different on amd64 and powerpc18:48
dholbachif you just ship a bunch of artwork in a package, you can safely change Architecture to "all"18:48
dholbachwhich means: build it once, use the same package on all architectures18:48
dholbach<ronj> QUESTION: in apt-cache show hello I see it depends on libc6 (Depends: libc6 (>= 2.5-0ubuntu1)), though there's no build-depends. How can that be?18:48
dholbachronj: just a sec18:48
dholbachDepends: ${shlibs:Depends}18:49
dholbachthis means: these packages are necessary to install the package18:49
dholbach${shlibs:Depends} is not a package name (obvious, ha!)18:49
dholbachbut it's a variable that is substituted after the build18:49
dholbachand replaced with all the libaries that the code in the binary package is linked against18:50
=== GSMX_ is now known as GSMX
dholbach<maix> QUESTION: hasn't support for powerpc etc been dropped recently?18:50
dholbachmaix: we still build packages for powerpc, it's a community port18:50
dholbachThe description contains a short (first line) and a long description for the package management tools18:50
dholbachif you want to look at a non-trivial package, check out      apt-cache showsrc mono18:51
dholbachit will show you that the mono source package is split up into 34567654567 different binary packgaes18:51
dholbachit got a lot better recently though :)18:51
dholbachlet's crack on to the next file, we're running out of time18:51
dholbachdebian/copyright is a file that the archive admins are very picky about18:52
dholbachit contains information about18:52
dholbach - who packaged the piece of software18:52
dholbach - who the upstream developer(s) are18:52
dholbach - who has copyrights on the source18:52
dholbach - which individual licenses ALL the files in the source code are under18:52
dholbachwe have to be VERY VERY VERY careful when filling out that file18:52
dholbachif we miss copyrights or miss files that are maybe unredistributable we're in trouble18:53
dholbachand you'll make archive admins unhappy if you don't take it seriously :)18:53
dholbachfor a insufficient quick overview, try out this:18:54
dholbachfind . -iname '*.c' -o -iname '*.h' | xargs head | less18:54
dholbachit will show you the headers of all the .c and .h files in the source tree18:54
dholbachand show some of the copyrights18:54
dholbachas I said, it's insufficient18:54
dholbach<ia> QUESTION: does ubuntu maintainers use some scripts for searching "Copyright" strings in source code tree of project before packaging?18:54
dholbachia: there are a few tools for that, best to ask in #ubuntu-motu or #ubuntu-devel about it18:54
dholbachalso check out https://wiki.ubuntu.com/MOTU/GettingStarted because it links to a lot of important information about this stuff18:55
dholbach(packaging guide, ubuntudevelopment processes, etc.)18:55
dholbachthe last file we just briefly mention is    debian/rules18:55
dholbachit is a Makefile that wraps around the Makefiles that are used by the upstream source18:55
dholbachit basically makes use of what you'd do to build and install the software18:56
dholbach./configure && make && sudo make install    is something you probably can relate to18:56
=== gabrielix is now known as elisa
dholbachthe new targets   build, clean, binary, etc.   wrap around whatever build infrastructure your project has18:57
=== elisa is now known as elisabeth
dholbachthis is a very blunt and very spartanic package, so it does not make use of debhelper, cdbs or other tools which make the job of maintaining a package a lot lot easier18:57
dholbach<rugby471> QUESTION (sorry if this is too far ahead) : As far as I understand, if I found a bug, it wasn't being patched and I wnated to fix it, the best way would be for me to download the source (as you have shown) fix the problem, package the package and then ... , is this correct and what happens after the ... ?18:58
dholbachrugby471: I'll talk much more about that topic at Wednesday 17:00 UTC18:58
dholbach"fixing bugs in Ubuntu"18:58
dholbachvery short version: generate patch, attach to bug, subscribe ubuntu-main-sponsors (or ubuntu-universe-sponsors team) to get review18:59
rugby471ok, I'll wait with anticipation! (sorry for interrupting)18:59
dholbach<ia> QUESTION: Could you advise some concrete docs, where describes in detail, how can create "rules" file manually to understand each line? (so as to don't look at dh_* commands like at some spells :-)18:59
dholbachia: https://wiki.ubuntu.com/MOTU/GettingStarted - check out Packaging Guide18:59
dholbach<maix> QUESTION: if we for example had a python package we'd put a byte-compiling script in that debian/rules?18:59
dholbachmaix: you'd wrap around   python setup.py install  etc (but we have clever tools for that - google for "debian python policy")18:59
dholbach<oliver_g_1> QUESTION: what if the upstream project did not include a Makefile? Can I put the installation commands (cp) directly into debian/rules?19:00
dholbacholiver_g_1: you can, there's a lot of different ways to do it19:00
dholbachOK, the session is over19:00
dholbachthanks a lot everybody19:00
dholbachhave a great Ubuntu Developer Wekk19:00
dholbachbookmark https://wiki.ubuntu.com/MOTU/GettingStarted19:00
dholbachhope to see you in #ubuntu-motu19:00
dholbachmake Ubuntu better!19:00
dholbachmake me proud! :-)19:00
NetSKaVeNgreat session dholbach!!19:00
CrownAmbassadorThanks dholbach!!! Was great!19:00
h00kthanks, dholbach19:00
=== rmcbride_ is now known as rmcbride
rugby471THanks great seession, It was a great idea to have that command at the start, so that everyone cna see what you are talking about, and also look at it in their won time. Thanks!!19:00
* xnox applauds19:00
* mneptok hugs dholbach 19:01
xnoxthank you19:01
maixthanks dholbach19:01
audriuszBig thanks to comes to you :D19:01
bullgard4Thank you dholbach !19:01
* dholbach hugs y'all19:01
* iulian hugs dholbach as well.19:01
rugby471cna * can   won * own19:01
tictacaddictthanks, it was a fun!19:01
iathanks a lot )19:01
theseasthanx dholbach! :)19:02
dholbachnext up is nxvl and bddebian!19:02
creek23holy! done already. i was just review ing the earlier messages because messages pops too fast :-(19:02
dholbach"Working Well With Debian!"19:02
creek23oh well. :P19:02
dlynchyes, thanks very much19:03
mneptoknxvl: is this a how-to on how to configure flame-mail filters and body armor? ;)19:03
nxvlmneptok: sort of :P19:03
nxvlcreek23: no19:03
nxvlwell, lets start19:04
nxvlDebian is the base upon which Ubuntu is built19:04
nxvlAlmost all packages in Ubuntu come from Debian, and most are used unchanged19:04
nxvlThis means that Ubuntu owes a lot to Debian19:04
nxvland should endeavour to maintain a good relationship with them19:04
nxvlThere are several differences in the way that Debian and Ubuntu are organised19:05
nxvland in the decisions that they have made on some issues that you need to understand in order to work with them most effectively19:05
nxvlThe biggest difference is that in Debian all packages have a maintainer19:05
nxvlwhich may be a team, who controls the package19:05
nxvlThey generally make all the decisions about the package19:06
nxvland are normally the only ones to perform uploads19:06
nxvlThere are some moves away from this, but it remains the status quo19:06
nxvlThis is different to Ubuntu where in general a package doesn't have a maintainer as such19:06
nxvlit is just looked after by all contributors19:06
nxvlThis has effects on both Ubuntu and Debian19:07
nxvlFor Ubuntu it means that generally a contributor isn't familiar with a package19:07
nxvland doesn't know the Debian maintainer's opinion on things19:07
nxvlFor Debian maintainers it means that they generally don't know who to contact if they wish to discuss a package in Ubuntu19:07
nxvlThe differences in some policy differences can also make it difficult for a Ubuntu contributor to know whether what they are doing also applies to Debian as well19:08
nxvlThis can be especially true for bugs19:08
nxvlwhere differing versions of packages19:08
nxvlor different dependencies in the chain can hide or expose bugs19:08
nxvlIt can be helpful to not consider Debian as a "whole"19:09
nxvlbut more as a group of people who each work in their own little area19:09
nxvlYou will find that if you contact most of them with a bug report, a patch, or a question they will be very friendly and helpful19:09
nxvlThere are a few people that this wouldn't really apply to, but they are definitely in the minority19:09
nxvlYou will probably find if you contact them in a friendly manner about a specific issue then they will probably still help you19:10
nxvlbut it can be a scary thing to do19:10
nxvlWhat I am trying to tell you here is not to let the actions of a noisy few spoil your opinions of the whole community19:10
nxvlUbuntu takes all source packages from Debian that aren't on a blacklist19:10
nxvland automatically "syncs" them in to Ubuntu19:11
nxvlThis means that the source package is taken unmodified and just rebuilt in the latest development version of Ubuntu19:11
nxvlThere are certain things that may be done while building which mean that you may get different binary packages19:11
nxvlbut they do not alter the functionality, for instance19:11
nxvlThis process stops at DebianImportFreeze19:12
nxvlIn order to sync a package after that stage you must file a sync request19:12
bddebianHey I thought it was at 4:00pm?19:12
nxvlfollowing the process at https://wiki.ubuntu.com/SyncRequestProcess19:12
nxvlbddebian: :D19:13
nxvlWhere Ubuntu has to make changes to the package a new upload is done19:13
* bddebian checks his calendar19:13
nxvlThis upload has a version number containing "ubuntu"19:13
nxvlwhich ensures that the package won't be synced without manual action19:13
nxvlso that the changes are not lost19:14
nxvlWhen this has been done in the past and a new upload is made to Debian19:14
nxvlthe package will be eligible for "merging"19:14
nxvlThis means taking the two versions of the package and reconciling the changes so that you get the new changes from Debian19:15
nxvlbut also keep the Ubuntu changes19:15
nxvlSee https://wiki.ubuntu.com/UbuntuDevelopment/Merging for more information19:15
SherokiXapt-cache show hello; apt-cache showsrc hello; /kpom #ubuntu-es19:15
nxvlSometimes when you go to merge a package you will find that the new Debian version includes all the changes that were made in Ubuntu19:15
nxvlIn that case you perform a sync19:15
SherokiXis a error... :S19:15
nxvlmeaning that again Ubuntu is using Debian's package for that software19:16
nxvlnow bddebian will tell you how to share with debian19:16
nxvlbddebian: stage is all yours19:16
bddebianEeks, sorry I'm late19:16
* xnox had a question on the chat channel19:16
nxvl14:14 < xnox> QUESTION: do 0-ubuntu1 get automaticly synced with -1? or are  they still "merged"19:17
mok0Thanks nxvl!!!19:17
nxvlxnox: it's merged19:17
nxvlxnox: in that case is a special merge, but definetely not a sync19:17
bddebianDo we need more clarification on that before moving on?19:17
bddebianThere are many ways that you can work together with Debian. For instance19:18
bddebianyou can share patches, work together to package new upstream versions,19:18
* xnox thanks nxvl for intro on the session19:18
bddebiancoordinate transitions, security fixes. You can even become maintainer19:18
bddebianor co-maintainer of a package in Debian so that the package can always19:18
bddebianbe used unmodified in both with less work.19:19
bddebianAnd of course there are several teams, of which you may join.19:19
bddebianFor instance, I actually became a member of the Debian Games team before becoming a DD.19:19
bddebianOK, moving on..19:20
bddebianWhen you are about to make some changes in Ubuntu you can look to19:20
bddebiansee whether these apply to Debian as well, and if they do contact the19:20
bddebianDebian maintainers and propose that you work together on the issue, or19:20
bddebianjust send them the result of your work.19:20
bddebianIt's always a good practice to coordinate your changes with the debian19:21
bddebianmaintainer, so you can check if there is on his plans, there will never19:21
bddebianbe or he's working on something like the change you are doing.19:21
bddebianHmm, grammatical error there.19:21
bddebianObviously Ubuntu tends to work a little "faster" than Debian because of the release cycles.19:23
bddebianBasically the ideal thing is to try to get your fix or proposed fix to Debian first if it is applicable.19:23
nxvl14:22 < xnox> QUESTION: where you originally Ubuntu user before you stated to  develop Debian? Or have you switched from Debian to use/develop  Ubuntu?19:23
bddebianHeh, that's probably too long of a story to get into here. :)19:24
bddebianIn short, I actually started with Debian, got more into maintenance with Ubuntu and have since gotten more into Debian.19:25
bddebianI didn't (and really still don't have) uber hacking sk1llz and Ubuntu as a community was much more welcoming.19:25
bddebianObviously some Debian Developers are much more open/welcome to suggestions, changes, etc.  In many cases Debian Developers are Ubuntu developers.19:26
bddebianxnox: Did that answer your question or would you like more detail? :)19:27
xnoxbddebian: yeap thanks19:28
bddebianOK, let's move on to Reporting back to Debian, unless there are any questions.19:28
=== phreakalltheway is now known as brianz0r
bddebianMany of the bugs on ubuntu are present on debian, but it's important19:29
bddebianto keep in mind and be VERY careful is that not every bug on ubuntu19:29
bddebianapplies to debian, there are software error which are not reproducible19:29
bddebianon debian, so if you will ping the maintainer or report back to debian,19:29
bddebianyou mas be sure it applies, so you don't make the Debian maintainer work19:29
bddebianand test looking for a bug that doesn't exist.19:29
bddebianObviously this can be a bit difficult if you are strictly running Ubuntu.19:30
=== thinkstrohi is now known as strohi
bddebianAlso if you are going to send your work to them (more on this later) you19:31
bddebianmust keep in mind that he or she is also a volunteer as you are, they can add19:31
bddebianyour changes if they think it will help them, but maybe they don't want19:31
bddebianto apply them, also they don't want to read long diff files with lots of19:31
bddebianchanges, it's better to send them small and separate patches with your19:31
bddebianchanges so they can use the ones they find usefull and discards the ones19:31
bddebianwho doesn't.19:31
bddebian<bullgard4> QUESTION: So the proper way  would be to report to Launchpad?19:31
bddebianIt really depends on the maintainer.  Many DDs won't pay much attention to LP unfortunately.19:32
bddebianIf you know it is a bug, I would send it directly to Debian BTS.19:32
bddebianIf you aren't sure, a quick e-mail to the maintainer (maybe with a link to the LP bug) would probably be good.19:33
bddebianThat's where timing becomes frustrating.  Some DDs are more responsive than others, obviously.19:34
bddebianThis is getting a bit better, so let me post the next paragraph that may also help:19:36
bddebianOk, but, what if i'm a triager? You can test if the bugs are also present19:36
bddebianon debian and report them back using BTS, being careful on the points19:36
bddebiantalked about earlier, also, LP and bts have a "link" option so you can have19:36
bddebianon the Bug report at LP the link to the debian bug report so it's easier19:36
bddebianto keep track of what's going on with the debian bug, also bts has an option19:36
bddebianlike this that you can use with the command 'forwarded $bug $upstream_url'19:36
bddebianso you can have it backwards, so please use the tools to have a better19:36
bddebiancomunication and avoid the packagers to duplicate efforts on patching.19:36
Flim1I can't believe I missed the packaging session, I had a question!19:36
Flim1Ooops, sorry, thought I was in chat19:36
bddebianOK, any other questions before moving on to Finding Information about Debian packages?19:37
bddebianbullgard4: Did that answer your question sufficiently?19:37
bddebianOK, let's move on.19:38
bddebianThere are several places from which you can find information about19:38
bddebianpackages in Debian. Knowing where to look to find something out19:38
bddebiancan be quite an art in itself. Luckily there is one place that tries19:38
bddebianto gather as much of this information as possible. That place is the19:38
bddebianPackage Tracking System, known as the PTS.19:38
bddebian 19:38
bddebianThe PTS lives at http://packages.qa.debian.org/. You can quickly go19:38
bddebianto the page for a package using http://packages.qa.debian.org/package.19:38
bddebianNote that it works using the source package name, but if you enter19:38
bddebiana binary package name you get a helpful redirect page. Let's take19:38
bddebiana look at a typical page: http://packages.qa.debian.org/gnupg. Starting19:38
bddebianfrom the top left you can see information about the source package,19:38
bddebiansuch as versions, and the priority. You also have links to the components19:39
bddebianof the source package, so using "dget" you can quickly download the current19:39
bddebianDebian source package.19:39
bddebian 19:39
bddebianIf you click on the version numbers in the second pane from the top19:39
bddebianyou are taken to http://packages.debian.org/ which gives information19:39
bddebianabout the source package in that version. In the bottom of the left hand19:39
bddebianpane you have the binary packages that are produced. Clicking on the name19:39
bddebianleads you back to packages.debian.org and shows you a page with19:39
bddebianinformation on that version of the binary package. You also have there19:39
bddebianlinks to the bug reports on the package.19:39
bddebian 19:39
bddebianIn the centre of the PTS page you have a "News" section, and at the top19:39
bddebianyou can have various notices that will appear only if they apply to this19:39
bddebian 19:39
bddebianIn the right hand pane, you have some links to bug reports for the source19:39
bddebianpackage. These include the bug reports on all of the binary packages, but19:39
bddebiancan also reports on the source package itself, so I usually use these19:39
bddebianso that I don't miss them (though they are rare).19:39
bddebian 19:39
bddebianBelow that you can subsribe to the PTS. This means that if you are really19:40
bddebianinterested in a package you can get emails when things happen with the19:40
bddebianpackage. If you select advanced mode from the drop down menu you can select19:40
bddebianwhat sort of information you would like to receive.19:40
bddebian 19:40
bddebianLastly in that column you have links to more information about the package,19:40
bddebianincluding the buildd logs.19:40
bddebian 19:40
bddebianThe other important source of information is the Bug Tracking System, known19:40
bddebianas the BTS. If you go to http://bugs.debian.org/src:gnupg you can see the19:40
bddebianpage for the gnupg source package. This shows an overview of the bugs, with19:40
bddebianthem divided in to sections. You can click on a bug report to get more19:40
bddebianEmail is used to communicate with and control the BTS. You can find19:40
bddebianinformation on doing this at http://www.debian.org/Bugs/. You can also19:40
bddebianuse "reportbug -B Debian" and the "bts" tool to generate the emails.19:40
bddebianThere's a lot to digest there..19:41
bddebianDebian PTS has actually been going through quite a few changes lately and has gotten some pretty nice information on it now.19:42
bddebianOK, so the question came up, does dget download Debian packages or Ubuntu.  It really doesn't matter.  You point dget at a .dsc file and it will pull the corresponding .orig.tar.gz and .diff.gz files.19:49
=== ast_ is now known as |ast|
bddebian<oliver_g_1> QUESTION: this is probably not nice, but: what happens if I just work on a bug in Launchpad? Will the bugfix eventually reach Debian?19:51
bddebianThis is actually where some of the friction lies between Debian and Ubuntu.19:51
bddebianThe answer, unfortunately is, it can.  As I mentioned earlier, it is really up to the maintainer.19:52
mok0PTS has links to LP bug pages19:53
bddebianIf you are looking at the PTS page for gnupg you will see in the bottom right corner, the Ubuntu links page.  It gives a link to LP patches that have been submitted against the package19:53
bddebianAs a good maintainer, we really should be checking those.19:53
bddebianUnfortunately some do not.  Some of it honestly is just ego and some maintainers aren't big fans of Ubuntu.  Some of it is laziness.19:54
bullgard4@all: In 7 Minutes there will be a class in #ubuntu-classroom about "Understanding GNOME Technologies".19:55
bddebianDoh, let me post the last bit of this session so it is at least up here and we can discuss if needed.19:55
bddebianThanks bullgard419:55
bddebianSubmitting a patch to Debian:19:56
bddebianI want to talk a little about submitting patches to Debian. I chose this19:56
bddebiantopic for several reasons. Firstly, it is often requested that Ubuntu19:56
bddebianforwards more of its patches to Debian. Secondly, it is quite an easy19:56
bddebianthing to do. Thirdly, if Ubuntu pushes all its patches for a package19:56
bddebianback to Debian then the package can just be synced in future, reducing19:56
bddebianthe amount of work it takes to maintain them.19:56
bddebianIn order to submit a patch to Debian you should first create a standalone19:56
bddebianpatch that fixes a specific issue. You should then check the BTS to see19:56
bddebianif a bug has been filed about the issue. If it has then you can email19:56
bddebianthe bug report and attach the patch, sending a control command to19:56
bddebiantag the bug "patch" ("bts tag #12345 patch").19:56
bddebianIf there is no bug report already then you should file a new one19:56
bddebianwhich attaches the patch and sets the patch tag directly. You can use19:57
bddebianreportbug to do this, but I find it easier to just use my mail client to19:57
bddebiando it. You can see one of the mails that I sent at19:57
ubot5Debian bug 451683 in aiksaurus "aiksaurus: Please add a .desktop file" [Wishlist,Fixed]19:57
bddebianOne thing that we would like you to do when filing bugs in Debian, with19:57
bddebianor without a patch, is to set a "usertag" on them. This allows the19:57
bddebianbugs to be tracked as one, so that it can be seen where Ubuntu is19:57
bddebiancontributing back. You can find out how to do this at19:57
bddebianTo make all this even more easy if you have well separated changes in19:57
bddebianyour diff to Debian you can use the submittodebian script in the19:57
bddebianubuntu-dev-tools package. This automates all of the above steps for19:57
bddebianI would like to point you to one last thing that will make all of19:57
bddebianthis easier in an environment where we have multiple people working on19:57
bddebianthe packages. That is the proposal described at19:57
bddebianIf you could all start using this technique when creating patches it will19:57
bddebianmake it easier to understand what patches are meant for upstream.19:57
bddebianMy closing comment would be that there are many people involved in19:57
bddebiandevelopment that are knowledgeable about Debian, so if you need to19:57
bddebianknow where to find something, or would like advice about whether a19:57
bddebianchange is applicable to Debian then you should just ask19:57
bddebianMy apologies to everyone for cutting short, sounds like we are running out of time.  I'll hang around in #ubuntu-classroom-chat and #ubuntu-motu if you have any specific questions.19:59
=== KennethP_ is now known as KennethP
mok0Thanks bddebian!19:59
oliver_g_1thanks a lot!19:59
=== KennethP is now known as KennethP_
bddebianAnd thanks to those that came and especially to nxvl for the content!19:59
=== KennethP_ is now known as KennethP
iulianYea, that was interesting, thanks!20:00
bullgard4Thank you, bddebian !20:00
bddebianAnd if you happen to see me on, feel free to hit me up privately also.  I'm a new DD but I will do what I can.20:01
xnoxthank you for the session!20:01
schmiedcthx !20:01
mbuddeThank you!20:01
james_wthanks bddebian and nxvl20:01
cool2kthx it was great20:02
james_wnext up is Ted with "Understanding GNOME Technologies"20:02
james_wshould be an interesting one20:02
james_wwhen he turns up :-p20:03
agoliveirajames_w: Ted Gould?20:03
tedgSorry everyone, I messed up the time conversion.20:04
james_wtedg: the floor is yours when you are ready20:04
tedgCool, hello everyone, I'm Ted Gould.20:04
co0lingFir3hi ted!20:04
tedgI'm here to talk a little bit about some Core GNOME Technologies, specifically GConf and DBus.20:04
theseashi Ted!20:04
tedgThere is of course many more, but we do have a limited amount of time to get through all of them.20:05
tedgSo, let's get started with GConf.20:05
tedgGConf at it's most basic level is just a configuration storage mechanism.20:05
tedgInstead of every application inventing it's own configuration file format, each of them uses a standard API to build.20:06
tedgWhich can be very handy for people like sysadmins and users writing scripts.20:06
tedgOne of the most standard way for people to interact with GConf is through gconf-editor20:07
tedgIt kinda looks like Microsoft's registry editor, which is where it gets it's bad reputation.20:07
tedgBut, I assure you, it's not like the Windows Registry.20:07
tedgSometimes apps do put settings inside GConf that they don't export in other ways, so it's a good place to look to see if you can get a setting you're looking for.20:08
tedgOne thing that you might notice as you're looking in GConf editor is that each key has a short and long description.20:08
tedgThis is a translated string that can be used to describe the values or the impact of changing that value.20:08
tedgBecause GConf is a daemon running in the user's session you can change the values in gconf-editor and they'll change live in the application20:09
tedgThis also means that you should be careful when changing values!20:09
james_w<bullgard4> QUESTION: Why has Configuration Editor  its keys branched in 2 branches 'apps' and 'schemas'?20:09
tedgAnother way that you can access GConf is through the command line tool "gconftool-2"20:10
tedgbullgard4, Let me answer that in a little bit, I'll get there I promise :)20:10
tedgSo if you want to see all the keys for GNOME Panel you can do: gconftool-2 -R /apps/panel/global20:11
tedgThis gives you a way to start to parse things with scripts and change settings based on icons or other effects.20:11
tedgSo if you wanted to add the  buttons on your panel you could do: gconftool-2 -s /apps/panel/toplevels/top_panel_screen0/enable_buttons -t bool true20:11
tedg(and you can fix it with: gconftool-2 -s /apps/panel/toplevels/top_panel_screen0/enable_buttons -t bool false)20:12
tedgAgain this is live, as you execute that your top panel should have the buttons appear.20:12
tedgWe can also get the documentation using the gconf tool.20:12
tedgShort docs: gconftool-2 --short-docs /apps/panel/global/confirm_panel_remove20:13
tedgLong Docs: gconftool-2 --long-docs /apps/panel/global/confirm_panel_remove20:13
tedgAnother thing that is neat about GConf is that it provides a set of defaults, and then the user's configuration is layered on top of that.20:13
tedgYou can see that in this slide: http://gould.cx/ted/presentations/oscon08/index.php?slide=2020:14
tedgWhat happens here is that the upstream values are the lowest level of settings that are used.20:14
tedgThen we layer on the distro specific changes.20:14
tedgThen any other changes a user/admin/dept. wants.20:14
tedgLastly, the user's specific configuration is put in.20:15
tedgSo, we can also use gconf-tool to revert our settings to the defaults: gconftool --recursive-unset /apps/gnome-power-manager20:15
tedg(and I'd recommend saving your old ones first: gconftool --recursive-list /apps/panel > panel.gconf.values.txt )20:16
tedgSo if you're debugging a problem that might be a local setting, you can ensure that you have the defaults.20:16
tedgThis is helpful, also in determining which setting broke things.20:16
tedgThe lowest level of settings that GConf provides are called the GConf Schemas.20:16
tedgThese involve the default values, but also the descriptions that are translated.20:17
tedgWe can look at some of the schemas in the system by going to /usr/share/gconf/schemas20:17
tedgFor example you can look at panel-general.schemas to see some of the settings we were just looking at.20:18
tedgTypically there is a set of schemas for every application that uses GConf20:18
tedgThe way that this layering is built up is through the GConf path.20:18
tedgThe path that starts everything out is: /etc/gconf/2/path20:19
tedgIf you look at that file you'll see that it's basically a list of directories and other paths to include.20:19
tedgSo if the user goes and includes a path in ~/.gconf.path that'll also get included in the list of settings that come through.20:19
tedgYou can include a repository based on what machine you're on, or any other variable of your liking on a per-user basis.20:20
tedgBut a sysadmin could also install some defaults for his/her site by putting a path in /etc/gconf/2/local-defaults.path20:20
tedgTo customize the distribution for their site specifically.20:20
tedgNow, let's look a little bit at how the other defaults are set up.20:21
tedgThe tree that is derived from the schemas shows up in /var/lib/gconf/defaults20:21
tedgYou probably want to look at %gconf-tree.xml.20:21
tedgIf you search for 'dir name="panel"' in your editor you can see the default panel settings from upstream.20:22
tedgBut those get changed by Ubuntu/Debian in /var/lib/gconf/debian-defaults20:22
tedgAnd that tree is built a little bit differently by dh_gconf: http://manpages.ubuntu.com/manpages/intrepid/en/man1/dh_gconf.1.html20:22
tedgdh_gconf uses a file 'gconf-defaults' in the debian directory of the package to set the settings for that package.20:23
tedgI wanted to show one, the easiest way that I could find is this, but it might take a while: apt-get source gnome-power-manger ; cd gnome-power-manager-* ; vi debian/gconf-defaults20:23
tedgBasically the file gets copied to /usr/share/gconf/defaults20:24
tedgSo you can look at 10_gnome-power-manager to see basically the same file.20:24
tedgIt's just a list of keys and values.20:24
tedgSo you can see we're setting the icon type with this line:20:25
tedg /apps/gnome-power-manager/ui/icon_policy charge20:25
tedgAnd you can see what that does: gconftool-2 --short-docs  /apps/gnome-power-manager/ui/icon_policy20:25
james_w<maix> QUESTION: where are the translated descriptions of the schemas?20:26
tedgSo, the basics of GConf is that it's a set of configuration storage.20:26
tedgThat provides a good way to store settings in a uniform file format which lets the users and sysadmins have control over the settings in a universal way.20:26
tedgmaix, the translated values are installed in /var/lib/gconf/defaults/%gconf-tree-{locale}.xml but they are built from the schemas.20:27
james_w<creek23> QUESTION: is there no chance to export settings from GConf Editor -- like windows' regedit does?20:28
tedgI'm going to stop for a second, for GConf questions.20:28
james_w<oliver_g_1> QUESTION: how can I import a list created with gconftool --recursive-list ?20:28
tedgoliver_g_1, creek23, you can export the settings and install them using gconftool.  Let me get the syntax.20:29
tedgAh, it's not coming quickly there.  There is a way I can't find right now :(20:30
james_w<Arc> QUESTION: is GConf intended for just gnome-specific apps or is it used for more general purpose apps (ie, those that may run under other desktop environments)20:30
tedgArc, there is no reason that other applications couldn't use GConf, but most do not.  There is some work on a "DConf" which is DBus based which could be more universal across desktops, though it hasn't been released yet.20:31
tedgArc, one of the issues with GConf is that it's dependent on CORBA which is a dependency that most folks don't want to carry.20:31
james_w(gconftool --dump and gconftool --load look like candidates for backup and restore)20:32
tedgjames_w: Yes, thank you.20:32
tedgOkay, if there aren't any more questions I'll start talking some about DBus.20:33
tedgDBus is a generic IPC mechanism for applications to talk to each other.20:33
tedgWhat makes DBus interesting is that it's designed to be rather small and that it communicates in messages.20:33
tedgThese messages have parameters which are typed in a defined way.20:34
maixstop, there are some questions20:34
maix<creek23> QUESTION: is it recommended that user settings should be saved on gconf instead of ~/.foobar?20:34
maix<maix> QUESTION: it is not possible to have two instances of a program with different settings, is it? (like with other programs where one can specify another conf file by a command line option)20:34
tedgSo when you're building or using a DBus API you have more guarantees about how that API would work.20:34
tedgmaix: Okay.20:34
tedgcreek23: Yes, that is generally preferred.20:35
tedgcreek23: Of course that can be a pretty big change, as doing that users will expect you to be able to respond to configuration file changes.20:36
tedgcreek23: Which most apps don't do if they're not GConf enabled.20:36
tedgmaix: I'm not sure of an easy way to do that.  It would be possible to provide a different path, but I don't know of any applications that do that.20:36
tedgAny more Q's?20:37
maixnot seen more in -chat20:38
tedgOkay, I'll continue with DBus.20:38
tedgSo DBus is one of the first things specified by Freedesktop20:38
tedgAnd so it typically works with most GNOME and KDE applications.20:39
tedgOne interesting development in the DBus world is that there was talk at the Linux Plumbers conference about integrating DBus into the kernel.20:39
tedgWhich would also make it a very fast way for applications to communicate.20:39
tedgCurrently dbus is a daemon, and there are two of them.20:40
tedgOne of them runs the system bus and one runs the session bus.20:40
tedgThe system bus is all of the applications that are executing on your system with privileges and that there should be only one of even with multiple users.20:40
tedgProbably the most famous of these is HAL, or Hardware Abstraction Layer, which abstracts out the different events that happen at the system level (like plugging in a USB key) and sends out that message.20:41
tedgOne tool to use to start playing with DBus is called "d-feet" and provides a graphical way to send messages on DBus.20:42
tedgIt'll also let you see which applications are exposing themselves over DBus.20:42
tedgAnd what functions they're providing.20:42
tedgOh, I had a slide for the broadcast point a few lines back :)  http://gould.cx/ted/presentations/oscon08/index.php?slide=2720:42
tedgThe session bus is allocated on a per-user basis.20:43
tedgSo if there are multiple users logged into the system then they'll each have a session bus.20:43
tedgApplications that sit on the session bus are those that are working with the user, usually providing their desktop environment.20:43
tedgYou can do fun stuff like most media players provide a way to switch songs over DBus.20:44
tedgThe easiest way over IRC to tickle DBus is by using dbus-send20:44
tedgSo you can do something like: dbus-send --system --print-reply --dest="org.freedesktop.Hal" /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:020:44
* tedg waits to see how many people drop off with a suspended laptop :)20:45
xnox<Ng> QUESTION: are there any nice wrappers for using dbus from, say, python?20:45
xnox     the raw API seems kind of cumbersome to use20:45
tedgNg: Yes, there is a bunch.  Python-dbus is nice.  And if you're using C and GLib the glib bindings are very nice.20:45
tedgNg: I haven't used any others, but in general there are a ton of bindings available for DBus.20:46
tedgA command that you can play with more safely is: dbus-send --system --print-reply --dest="org.freedesktop.Hal" /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:020:46
tedgNo, cut-and-paste error.20:46
tedgdbus-send --session --dest="org.freedesktop.PowerManagement" /org/freedesktop/PowerManagement/Backlight org.freedesktop.PowerManagement.Backlight.SetBrightness int32:5020:46
tedgThat should (on most laptops) set your backlight to 50%.20:47
tedgWhat's also interesting about DBus is the broadcast side, and we can see that from teh command line also.20:47
tedgTo do that we can use dbus-monitor.20:47
tedgSo if we want to watch for backlight events:20:47
tedgdbus-monitor --session "type='signal',interface='org.freedesktop.PowerManagement.Backlight'"20:48
tedgSo if you run the previous command in another window, you should see the events show up as their broadcast across the bus.20:48
tedgEven though you're running on the command line, both the other window and GNOME Power Manger are both getting the event.20:48
tedgWhile you can see the interfaces with d-feet, you can also discover them programatically.  As DBus also provides a way for introspection data to come across the bus.20:50
tedgI'd recommend looking at that in d-feet as it's a rather large XML file.20:50
tedgA good over view of DBus is at Linux Journal: http://www.linuxjournal.com/article/774420:50
tedgLet me take questions, as otherwise we'll run out of time.20:51
Arctedg: are you watching #ubuntu-classroom-chat?20:51
tedg<meebey> QUESTION: who defines the path/namespace/method (or whatever it's called) for dbus, so other applications can call it? and can other applications "hijack" APIs?20:51
tedgarc: trying :)20:51
xnox<meebey> QUESTION: who defines the path/namespace/method (or whatever it's20:51
xnox called) for dbus, so other applications can call it? and can other20:51
xnox applications "hijack" APIs?20:51
* xnox is sorry20:52
tedgmeebey: The applications apply for a name when they start up, so it is possible for another application to implement the same API and use the same name.  But, DBus ensures that only one app has that name at a time.20:52
tedgmeebey: For instance, with the work you've probably seen about notifications, we're implementing the same DBus API so many applications can work unchanged.20:53
mneptokxnox: please do not paste to this channel without being asked20:53
tedgmeebey: But, if you try to run our notification daemon and the upstream one is running, one will fail depending on which starts first.20:54
tedg<Arc> QUESTION: is inotify setup to use DBus on Ubuntu?20:54
tedgArc, I'm not sure of a way that inotify could broadcast over DBus.  Really it would probably be more advisable that applications that were interested in doing something like that use Tracker to get that information.20:55
tedgArc, that way only Tracker is opening an inotify connection for every file on the system :)20:55
tedg<GSMX> QUESTION: (sorry, gconf, missed out a bit) What's the difference between regedit en gconf-editor?20:55
tedgGSMX, well I think a better question there is what's the difference between the windows registry and GConf.20:56
tedgGSMX: GConf is only for configuration storage.20:56
tedgGSMX: While the windows registry also does registration of objects.20:56
tedgGSMX: Also, GConf has a layered approach where regular users rarely have a reason to need administrator access.20:56
tedgGSMX: Where in Windows you end up with a lot of users needing some level of editing of the windows registry just to be productive.20:57
tedgGSMX: Which, while they've tried hard to block them, seems to related to quite a few of their security issues.20:57
mneptoktedg: also of note is that gconf outputs its configuration to human-readable markup, while regdit is the only interface to the Win registry. if you have enough GNOME-fu, you can configure gconf with vi ;)20:57
tedgmneptok: For the record, I don't recommend that :)20:58
* mneptok does not, either.20:58
mneptok(vi, that is) >:)20:58
tedgArc, AFAIK, DBus doesn't use inotify directly.20:58
tedgOkay, considering I think we have 15 seconds or so left.  Probably a good time to call it a session.20:59
tedgThanks to everyone for showing up.20:59
* Israphel claps20:59
ikisthanks to you20:59
Arcthanks tedg!20:59
tedgI'm usually in #ubuntu-desktop if you have more questions.20:59
ikisnice session20:59
dinxtercheers ted, interesting stuff20:59
mbuddeThanks tedg!20:59
meebeythanks tedg21:00
archvery thanks :D21:00
xnoxthank you!!!!21:00
maixthank you!21:00
EnCuKouThank you!21:00
audriuszthanks. this was very interesting21:00
theseasthanx tedg ang goodnight!!! :)21:00
creek23thanks you!21:00
oliver_g_1thanks tedg!21:00
xlazarusgood work, thanks21:00
mnemothanks a lot tedg :)21:00
rooivalkthank you for your corporation! :)))))))))))21:00
=== beDrung is now known as bdrung
creek23so, that does it for day 1...21:02
theseasbye everyone!21:02
archbye to all!21:02

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