/srv/irclogs.ubuntu.com/2011/07/11/#ubuntu-classroom.txt

MysteriousManHi there05:35
=== Tw|sT is now known as Tw|sT[Zzz]
MysteriousManwhen d class will start?06:01
head_victim!classroom06:01
ubot2The Ubuntu Classroom is a project which aims to tutor users about Ubuntu, Kubuntu and Xubuntu through biweekly sessions in #ubuntu-classroom - For more information visit https://wiki.ubuntu.com/Classroom06:01
head_victimMysteriousMan: actually the topic also has links to the schedule direcetly.06:02
MysteriousManok thanks06:02
=== Tw|sT[Zzz] is now known as Tw|sT
=== Tw|sT is now known as Tw|sT[Zzz]
=== croppa_ is now known as croppa
benonsoftware#ubuntu-classroom-backstage08:58
=== coalwater_ is now known as coalwater
ChaseVoid!list13:36
ubot2This is not a file sharing channel (or network); be sure to read the channel topic. If you're looking for information about me, type « /msg ubottu !bot ». If you're looking for a channel, see « /msg ubottu !alis ».13:36
ChaseVoidme13:40
johnsgruberChaseVoid, Classes begin in a couple of hours, if I'm not mistaken13:49
crazedpsychow long until the first classes? my clock is messed up :\13:53
tumbleweedclasses start at 16:00 UTC. That's just over 2 hours away.13:54
crazedpsyctumbleweed: Ok, thanks :)13:54
dholbachhttp://timeanddate.com/worldclock/fixedtime.html?year=2011&month=7&day=11&hour=16&min=0&sec=014:02
=== johnsgruber is now known as johnsgruber_lern
=== johnsgruber_lern is now known as jgruber_lernid
MysteriousManhi14:16
philiodiliohello14:17
MysteriousManphiliodilio go for ubuntu-classroom-chat , i think we are not allowed to char here14:20
MysteriousManchat i meen14:20
philiodilionp14:20
ChaseVoidhi14:22
Pooyafriends14:23
Pykerhello14:23
MysteriousManhi there14:23
Pooyado we have any special schedule for ubntu classroom?14:23
Pykerhttp://ubuntuclassroom.wordpress.com/2011/07/11/coming-up-ubuntu-developer-week-day-1/14:23
Pooyai read about ubuntu developer week14:23
Pooyaand irc14:23
Pooyaclass14:23
Pooyabut14:24
ChaseVoidJust the one mentioned over the wiki14:24
Pooyai didn't have any special schedule program about it14:24
sergio91ptits here: https://wiki.ubuntu.com/UbuntuDeveloperWeek14:24
Pooyasergio91pt: yeah14:24
Pooyasergio91pt: and so we should've have program here14:25
Pooyabut i don't see anthing14:25
Pooyawhat's happended?14:25
MysteriousMan2 hr remaining14:25
MysteriousMan16 UTC14:25
PooyaMysteriousMan: you mean here is a program at 2 hr after this time?14:26
ChaseVoidUTC + 5:30 is IST14:26
dholbachtype "date -u" in your terminal and it will tell you which UTC time it is14:26
Pooyadata -u14:26
Pooya?14:26
Pooyaaha!14:26
Pooyaterminal :D14:26
Pooyaby the way14:28
ChaseVoid?14:28
Pooyathis channel is only for ubuntu developer week14:28
Pooyaor here is a14:28
Pooyaanother program14:28
Pooyain every day?14:28
MysteriousMandata -u14:28
mhall119Pooya: there are other session, check the Classroom wiki page for the schedule14:28
Pooyamhall119: i know but there was a session about this 5 days14:29
Pooyamhall119: i mean after these days(ubuntu developer week days) is there any other session here?14:29
ChaseVoidPooya: this channel hosts classes to UbuntuOpenWeek, UbuntuDeveloperWeek, UbuntuAppDeveloperWeek, Packaging Training, Beginner's Team Education Focus Group, UserDays14:30
MysteriousManit is Mon Jul 11 (14:29:59) UTC 2011 and class start 16 UTC14:30
mhall119Pooya: yes14:32
Pooyamhall119: good, tnx14:32
jay__.14:32
=== jonas42 is now known as yunus
=== yunus is now known as jonas42
Pykerhttp://ubuntuclassroom.wordpress.com/2011/07/11/coming-up-ubuntu-developer-week-day-1/ just click where it says the time, and it'll take you to a page where it converts that UTC time into several timezones14:33
jonas42hello world14:34
=== jonas42 is now known as Jonas42
dell_how will the instructor teach? Do I need liinux for this? I have wiindows14:38
Pooyadell_: of course! for example about packaging14:39
Pooyadell_: you must have linux obviously14:39
dell_May be I should install it in virtualbox. Right14:40
dell_Today i tried to install ubuntu. But the whole process got messed up. So i will wait till later14:41
coalwaterim at work right now, and i probably will be on my way home when this class starts, there will be logs right ?14:42
dell_do i need any multimedia program and any softwae installation. If i got the instruction now I can install it. Internet here is not that fast14:42
Pooyadell_: be carefull that stop your internet while installing ubuntu!14:43
dholbachcoalwater, yes, they will be linked from https://wiki.ubuntu.com/UbuntuDeveloperWeek afterwards14:43
dell_in virtualbox? May be i will disallow internet access via avg14:43
coalwaterdholbach, ur the one giving the class right ?14:44
dholbachyes14:44
coalwaterok i want to ask few things14:44
dholbachthe first one, but there'll be many others14:44
dholbachsure, fire away14:44
Pooyadell_: generally , ubuntu tries to download some heavy packages while installing process!14:44
coalwateri read some old logs, it was about the same thing, it was kinda hard, like it's intended for lil more advanced users, or that's how i felt it was14:45
dholbachif you have played around with your Ubuntu system a bit, if you like "making things work again", if you can deal with reading documentation and asking a few questions, I'm sure you'll enjoy this14:46
limivanbhello Ubuntu users.. :)14:46
coalitiansHi14:46
Pykerhey14:46
Pooyadell_: they are not heavy in fact but if your internet is slow it seems heavy :d14:46
coalitianswhen does the session start14:46
coalwaterhow long till the class starts? hate time zone calculations14:46
w3bcrawler<--- fails @ timezones.. class starts in 15min?14:47
limivanbexcited..14:47
crazedpsyc1 hour and 15 minutes I believe :)14:47
coalitiansyeah 1 hour and 15 mins14:47
w3bcrawlercurse you UTC!14:47
mhall119run 'date -u' in the terminal to get the current UTC time14:47
mhall119or add UTC to your panel clock14:48
nigelbw3bcrawler: What you should actually curse is probably DST.14:48
w3bcrawlerno keyboard rofl14:48
mhall119wait what?14:48
w3bcrawleronscreen kbd14:48
mhall119should still work with a terminal windows though, right?14:48
* mhall119 somtimes forgets that not everybody does IRC through a terminal14:49
nigelbJust add iceland to your clock14:49
w3bcrawlerstill have some tweaks to do for that14:49
mhall119!time14:50
ubot2Information about using and setting your computer's clock on Ubuntu can be found at https://help.ubuntu.com/community/UbuntuTime - See https://help.ubuntu.com/10.04/serverguide/C/NTP.html for information on usage of the Network Time Protocol (NTP)14:50
MhdHi14:50
mhall119not what I was hoping for14:50
nigelb@now14:50
meetingologynigelb: Error: "now" is not a valid command.14:50
nigelbDoesn't wwork here i guess14:50
mhall119!now14:51
ubot2Factoid 'now' not found14:51
limivanb1 hour and 10 minutes remaining.. :)14:51
mhall119!utc14:51
ubot2Factoid 'utc' not found14:51
mhall119:(14:51
limivanblet's us wait guy..14:51
limivanb*guys14:51
dell_How is the session going to be. Does the instructor give us some pdf to read. Or will it be live broadcast14:52
nigelbIt will be an IRC-based session14:52
Pooyanigelb: how is it?14:53
nigelbThe instructor wll type into the chat window here, and all chatter should be in #ubuntu-classroom-chat14:53
nigelbDuring the first session, it will be completely explained14:53
Pooyanigelb: #ubuntu-classroom-chat or #ubuntu-classroom ?14:53
nigelbPooya: Didn't get your question there14:54
dell_any software besides basic ubuntu setup, we are going to need?14:54
w3bcrawlerirc14:54
Pooyanigelb: where the lesson will be? here at #ubuntu-classroom or #ubuntu-classroom-chat?14:54
nigelbThat will be here14:55
w3bcrawler#ubuntu-classroom14:55
coalwaterdholbach, in case i couldn't make it thru the whole session, can i find you later on #ubuntu-beginners or #ubuntu-beginners-team ?14:55
coalwaterjust in case i have any questions to ask later on14:55
w3bcrawlerdiscussion will be in #ubuntu-classroom-chat.. there will be logs14:55
dell_so we need to install mono? what else14:56
w3bcrawlerhow often are ubuntu dev weeks?14:57
m4n1sh2 times a year IIRC14:57
dell_Do we need to install any packaging software?14:57
m4n1shsame with Ubuntu Open Week14:57
m4n1shand App Developer Week14:57
nigelbdell_: You do, but it will be mentioned in the session14:58
w3bcrawlernice i wish id have known years ago lol14:58
dell_thanks14:58
m4n1shdell_: to be on safer side you can install a few packages14:58
m4n1shif you are on a slow connection14:58
m4n1shubuntu-dev-tools14:58
m4n1shbuild-essential14:58
dell_thank you. Here internet is very slow14:59
Pooyadell_: are you in iran?! i'm sure Iran has the most terrible in the world!15:00
Pooyadell_: terrible internet*15:00
m4n1shalso install devscripts15:00
m4n1shand pbuilder/cowbuilder (not sure which one they would ask to install)15:00
dell_i am currently installing ubuntu on virtualbox. It's 3 minutes away15:01
dell_Do we need any multimedia support. Like mp3 and so15:01
pengperdo we need to be on our Ubuntu systems? I can only get on windows since my laptop's got a frayed charger- it's not a practical lesson is it?15:02
m4n1shpengper: you can still look at the instructions15:03
m4n1shlogs would be available later15:03
dholbachpengper, some of them will be practical but you should be able to read the logs afterwards15:03
dell_well pengper i am installing ubuntu right now on virtual box. Ha ha15:03
m4n1shHi dholbach, waiting for your session15:03
dholbach57m :-D15:03
pengperah right- I'll just take notes quietly then :)15:04
m4n1shpengper: when you get back to your system, you can look at the logs and try them out15:04
m4n1shtoo many join/parts :(15:04
dell_Why do we need classroom-chat if we have this one. Won't the instructor use only this?15:04
dholbachdell_, yes, but chat and questions will be in the other channel15:04
m4n1shdell_: this keeps the classroom logs clean15:05
m4n1shcontaining instructions with Q&A15:05
dell_So what do i follow most of the time. This or other. I have tree view. I may miss that one15:05
charlesTerry0528when does this start?15:05
dholbachcharlesTerry0528, 55m15:05
dell_Ok I got it guys. What we are doing right now. We will be doing in chat when the instructor starts here. Right?15:06
pengperof course, I forgot to subtract British Summer Time. dang, I might miss a bit then15:06
m4n1shdell_: this channel will become moderated once the session starts15:07
m4n1shand we can speak only in -chat channel15:08
dell_yes15:08
randyphxwell I saw this on facebook "Ubuntu Developer Week begins today! Be sure to join this week of tuition sessions about how to contribute as an Ubuntu developer! See " so I'm guessing you did not miss it, the message was from about 40 minutes ago15:08
charlesTerry0528I'm new to prgramming, once I learn Java should I move onto Python?15:09
dell_Today when I tried to download 64 bit version, the ubuntu site recommends 32-bit. If i have 4 g ram what is best? 64-bit or 32-bit any recommendations15:10
PooyacharlesTerry0528: it depends on your purpose15:10
PooyacharlesTerry0528: java is used for special word , python too, c++ too , ...15:10
Pooyawork *15:10
crazedpsycdell_: It depends on your CPU architecture, not your RAM. If you got your computer recently, it is probably 64 bit.15:11
jykaemy first developer week \o/15:11
dell_yes it is 64 bit. But some say ubuntu 64-bit does not support some software. And in 32-bit it only uses ram less than 4 G. Is it true?15:12
pengpergoogle the make of your computer. it'll tell you whether it's 32 or 64 there15:12
jykaehow many this has been arranged before?15:12
pengpergo with 32 if still uncertain15:12
pengpertbh it's not a massive change- it's a slight increase in performance, though.15:12
dell_Mine is 64-bit. I am currently running windows 7 64-bit15:12
crazedpsycdell_: I am using 64 bit, and everything works great. Actually, the 32 bit ubuntu did not work on my system15:13
dell_Then I should probably download 64-bit later.15:14
dell_I currently have 32-bit iso15:14
pengper@crazed really? i wonder if that's the problem with mine. I have an AMD64 laptop but i used 32 because i didn't know it at the time. I now have a glitch where I get strange lag if I don't have an internet connection.15:14
meetingologypengper: Error: "crazed" is not a valid command.15:14
pengperoops i mean i was talking to crazed. obvious irc noob here...15:15
pengperdid that post go through?15:15
mariachi_alegreI want to develop mucho ubuntu15:15
crazedpsycpengper: That's probably not related... my problem was that the display didn't work15:16
Pooyais there anyway for converting 32bit iso to 64 bit iso?15:16
Pykerno...15:16
crazedpsycPooya: No, you have to download the 64 bit version15:16
Pykerthere's 32 bit and 64 bit15:16
PooyaPyker: i know but it's interseting idea15:17
PooyaPyker: is it possible to write a program to do this job?15:17
Pykerthere are coding differences15:17
dell_i think it is binary. If it were source code we could compile ubuntu into 64-bit i guess15:17
Pykerthere are no programs whatsoever that can convert that15:17
crazedpsycPooya: the difference is that 64bit software is compiled on a 64bit system15:17
pengpercrazed: ok. I presume i got a corrupt iso cos our connection is dodgy. virgin is the worst isp we've ever had15:18
dell_should i know python, perl etc15:18
linuxlovesmeyou can compile a 64 bit in a 32 bit pc with some flags set i suppose..15:18
pengperi second Dell_'s question15:18
Pooyadell_: you's better to read article names "how to become hacker" . the usage of perl,python,java,c ... are explained there15:19
dell_eric ramond or what is the author's name. Ofcource I have read it. But its a long time. I forgot everything15:20
pengperthere are too many articles called "how to become hacker" for us to possibly know what you're talking about, Pooya15:20
pengpernow i have an author, I can look it up!15:20
dell_He talks even about lisp, which never gets into my head15:20
charlesTerry0528heres a link: http://catb.org/~esr/faqs/hacker-howto.html15:22
charlesTerry0528to the article15:22
Pooyapengper: http://www.catb.org/~esr/faqs/hacker-howto.html15:22
Pooyapengper: it's famous article15:22
pengperi should probably know more than basic, c++, c# and a wee bit of java :L15:22
dell_I know little java. Is that enough to understand the author's intent, or should we know how to construct scripts using python, perl etc15:22
pengperthanks, Pooya.15:22
limivanbcan we just talk about Ubuntu here?15:26
Pyker... 28 minutes to go ...15:31
saimanoj_yes15:32
dell_ubuntu-dev-tools build-essential devscripts is 39.9 MB15:32
dholbachdell_, try installing with --no-install-recommends15:35
dell_why?. I am currently installing. Should I stop.15:36
dell_After that i will install xchat in ubuntu(virtualbox) and go fullscreen15:36
dholbachdell_, no that's fine15:37
dholbachI thought you mean to say that 39.9MB was too much15:37
dell_It's a bit big. Considering I will install freepats and xchat in the mean time15:38
dell_Currently I have started playing need for speed most wanted (2nd time). So I can not permanently switch to ubuntu right now. So I am being very cautious about installing by creating a partition. I know I will eventually switch as before15:42
dell_Anyways virtual box seems very nice. Previously I had to do quite a bit of work to start internet, but it has become so better15:43
dell_It seems lots of chat is going on in ubuntu-classroom-chat, should we guys start chatting there instead of here?15:45
=== maco2 is now known as maco
=== mohan is now known as Guest45684
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Getting Started with Ubuntu development - Instructors: dholbach
dholbachHELLO EVERYBODY!16:00
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/07/11/%23ubuntu-classroom.html following the conclusion of the session.16:01
dholbachWelcome to another fantastic and exciting Ubuntu Developer Week!16:01
dholbacha few organisational things first16:01
dholbachplease make sure you also join #ubuntu-classroom-chat because that's the place where we chat and where you can ask questions while the sessions are going on16:01
dholbachif you want to ask a question please prefix it with QUESTION, ie:16:02
dholbachQUESTION: What's the name of dholbach's dog?16:02
dholbachanother thing: if you can't make it to a particular session: no problem, we'll upload logs and link to them at https://wiki.ubuntu.com/UbuntuDeveloperWeek16:02
dholbachand another thing: if you work on a project that you would like to demo or present, the last session of UDW (Friday, last slot) is all about 5 minute lightning talks where you can present your project16:03
dholbachtalk to nigelb about it16:03
dholbachthat should be the organisational bits for now, but if you have any questions, either about the content of the sessions or the general event, please do ask16:04
ClassBotLibertyZero asked: What's the name of dholbach's dog?16:05
dholbachLibertyZero, my dog is called Murphy :)16:06
dholbachok, questions queue cleared up, awesome! :)16:06
dholbachlet's get to the first session of UDW16:06
dholbachmy name is Daniel Holbach, I've been part of this community since the hoary release and work for Canonical for a few years now, taking care of the developer community16:07
dholbachit's my privilege to do the "Introduction to Ubuntu Development" sessions today16:07
dholbachin the first half I'll try to give a rough overview over Ubuntu Development, how it works, when we do what, who we interact with and which tools and infrastructure we use16:07
dholbachin the second half, I'll explain how to set up your development environment and let's see how much time we have at the end - we might even toy around with a few packages at the end :)16:08
dholbachUbuntu is made up of thousands of different components, written in many different programming languages. Every component - be it a software library, a tool or a graphical application - is available as a source package. Source packages in most cases consist of two parts: the actual source code and metadata. Metadata includes the dependencies of the package, copyright and licensing information, and instructions on how to build the package16:08
dholbach. Once this source package is compiled, the build process provides binary packages, which are the .deb files users can install.16:08
dholbachThis means that the actual .deb files are nothing we copy around or upload somewhere, we as developers always just deal with the source.16:09
dholbachEvery time a new version of an application is released, or when someone makes a change to the source code that goes into Ubuntu, the source package must be uploaded to the build machines to be compiled.16:09
dholbachThe resulting binary packages then are distributed to the archive and its mirrors in different countries. The URLs in your /etc/apt/sources.list file(s) point to an archive or mirror.16:10
ClassBotlimivanb asked: what is the meaning of "deb" in .deb extension files?16:10
dholbachlimivanb, I think it stands for "Debian binary package" - because Debian is the distribution we inherit a lot of the technical foundation  and source code from, more about our relationship to Debian later on16:11
dholbachEvery day CD images are built for a selection of different Ubuntu flavours. Ubuntu Desktop, Ubuntu Server, Kubuntu and others specify a list of required packages that get on the CD. These CD images are then used for installation tests and provide the feedback for further release planning.16:12
dholbachUbuntu’s development is very much dependent on the current stage of the release cycle. We release a new version of Ubuntu every six months, which is only possible because we have established strict freeze dates.16:12
dholbachIf you have a look at https://wiki.ubuntu.com/OneiricReleaseSchedule you can get a nice overview of the Oneiric cycle, which will have Ubuntu 11.10 as its end product.16:13
dholbachWith every freeze date that is reached developers are expected to make fewer, less intrusive changes.16:13
dholbachThe green and red colours on the page are meant as indicators for developers: green means "anything goes", red means "be super super careful".16:14
dholbachIt's no indicator of how well the current development release works on your computer. :-)16:15
dholbachFeature Freeze is the first big freeze date after the first half of the cycle has passed. At this stage features must be largely implemented.16:15
dholbachAfter that the user interface, then the documentation, the kernel, etc. are frozen, then the beta release is put out which receives a lot of testing. From the beta release onwards, only critical bugs get fixed and a release candidate release is made and if it does not contain any serious problems, it becomes the final release.16:16
dholbachI think it's clear that most of the first half of the release is about feature development and bringing new versions of all kinds of software in and that the second half is more about ironing out bugs.16:16
ClassBotraju asked: if we make some small .deb files (for personal usage), is there any need to send them to ubuntu repo's to install them in my PC?16:17
dholbachraju, It's not strictly required, but if you want others to be able to use your software, it might indeed be helpful to share them.16:17
dholbachAlso might you find people who are interested in helping you out fixing things, etc.16:17
dholbachI realise that I zipped through a lot of stuff quickly now, are there any more questions about this?16:18
dholbachAnd also let me know if I'm too quick or don't make sense. :-)16:19
dholbachOk, seems we're all fine... for now.16:19
ClassBotrobinparriath asked: Is the feature freeze applicable for LTS too?  or do features get added after release?16:19
dholbachrobinparriath, yes, it's applicable for LTS releases too16:20
dholbachas a measure of caution we strictly try to keep changes that go into a released version of Ubuntu to the very minimum16:20
dholbachsecurity fixes and other important fixes naturally should be fixed after the release, but with a couple of million users it's a very risky thing to change too much in the code16:21
dholbachI'll talk a bit more about that later on. I hope for now it suffices to say that 1) there's an Ubuntu release every 6 months and 2) there's the Ubuntu Backports project which tries to give updated versions of software to users of released versions of Ubuntu16:22
ClassBotishan asked: What is LTS?16:22
dholbachishan, It's "Long term support" releases.16:23
dholbachInstead of 18 months of support, it's 3 years on the desktop and 5 years on the server.16:23
ClassBotben72 asked: are there some kind of checks for quality/malware of personal PPA:s?16:23
dholbachben72x, for getting packages into Ubuntu, yes, there is checks that make sure that we don't get software into the archive that is problematic16:24
dholbachUndistributable software for example16:24
dholbachfor PPAs (Personal Package Archives) the restrictions are less drastic16:24
ClassBotThomasB2k asked: How many releases back does this Ubuntu Backports project support, or is it just the standard 18 months?16:24
dholbachThomasB2k, as far as I know it supports the currently supported releases16:25
dholbachhttps://launchpad.net/ubuntu lists the currently supported releases16:25
ClassBotlimivanb asked: During development, how can ubuntu supports most of the drivers like video (ATI,GeForce),printers, etc?16:25
dholbachlimivanb, it's only possible because the developer of Ubuntu work closely with the Kernel and X.org upstream development communities and make sure that all the good fixes go into Ubuntu16:26
dholbachalso is there Certification efforts going on, where a lot of different machines are regularly tested if they work on a range of Ubuntu releases16:27
ClassBotsubrahmanyam asked: Does ubuntu test and check the code that we developers have send.i.e,can we trust the code done by others??And if yes upto what extent16:27
=== milos is now known as Guest95579
=== Guest95579 is now known as Xaude
=== Xaude is now known as Xauder
dholbachsubrahmanyam, I'll dive into that into more detail later on, but for now: extensive code review for old releases, new packages, packages that go into main plus code review of all changes that new contributors (who don't have upload access yet) bring in16:28
dholbachI hope that suffices for now16:28
ClassBotKvrmurthy asked: What system configuration is necessary to do most of development and testing stuff? You can name any specific laptop or desktop model16:28
dholbachKvrmurthy, there's no specific machine necessary - if it's fast enough for your daily work and you have a reasonable internet connection you should be all set16:29
dholbachhow to set up your development environment we'll cover a bit later on16:29
ClassBotvalleyIIT asked: why unity 2D is provided if it cannot work properly on systems without graphics card16:29
dholbachvalleyIIT, at 18:00 UTC (after my session) you should ask the Desktop engineers about that16:29
ClassBotben72 asked: should I avoid using personal PPA:s as much as possible. on different sites out there you can find a lot of links to different PPA:s.16:29
dholbachben72x, not necessarily - if there's one or two packages you want to try, I guess it's fine - if you have 156 different PPAs installed, which pull in all kinds of different libraries, I guess you might get into trouble16:30
dholbachso no "avoid PPAs" from me :)16:30
ClassBotdell asked: I heard you use debian packages. So do you compile it in some old ubuntu computer or do you download it from debian16:30
dholbachdell, I mentioned it earlier actually: we don't download .deb packages from anywhere, we always just use the source and build it on Launchpad build machines for Ubuntu16:31
=== Vivek is now known as Guest28306
dholbachbut more about the interaction between Ubuntu and Debian later on16:31
ClassBotenes asked: Does the 6 months cycle make releases a bit a work of compulsion? Does the developers try to make changes for the cycle but unnecessary?16:31
dholbacha hard question - as I see it, the 6 month release cycle forces us to work on features, but also make sure we get something out there, and something that works16:32
ClassBotawanti asked: After developing/building the OS how could you tell that its powerfull os, i mean how you test the OSing16:32
dholbachI'm not sure how to answer the question - there's a lot of testing going on, a variety of testing and QA initiatives16:33
dholbachit's certainly powerful enough for me, I never longed for anything else :)16:33
ClassBotlimivanb asked: The ubuntu developers are using the drivers/API provided by the manufacturer of graphics adapter (for example), or printers, and other hardware?16:33
dholbachlimivanb, there'll be a kernel session later on this week which might be just the right place16:34
dholbachmost of the foundational libraries and the kernel define APIs and lots of hardware manufacturers work in those communities16:34
dholbachso it's a bit of both, I guess :)16:34
ClassBotjykae asked: I have programs in PPA, how to get them to Ubuntu Software Center?16:35
dholbachjykae, I'll answer that question in more detail later on16:35
ClassBotKvrmurthy asked: On what platform Ubuntu was first developed? For that matter with what and on what the code for os in its initial stages is developed and compiled, run and tested??16:35
dholbachKvrmurthy, Ubuntu is a derivative of Debian, so all the developers of Ubuntu in the warty (4.10) release had a Debian machine they were working on :)16:36
dholbachmaybe somebody in #ubuntu-classroom-chat can find a link of the very first announcement of the Ubuntu project16:36
dholbach... and I go back to the Introduction to Ubuntu Development? :)16:36
ClassBotzimio asked: If upstream fixes a bug, how important must it be so that it will be also fixed in the ubuntu package?16:37
dholbachzimio, I briefly mentioned it earlier: it always depends where we are in the release cycle16:37
dholbachin the beginning it's very easy to get it in, no matter how critical the bug fix is16:37
dholbachtowards the end of the release cycle we try to minimise the amount of new code going in16:38
dholbachalright, end of the question queue - let's crack on :)16:38
dholbachLet's talk a bit about planning the release.16:39
dholbachThousands of source packages, billions of lines of code, hundreds of contributors require a lot of communication and planning to maintain high standards of quality. At the beginning of each release cycle we have the Ubuntu Developer Summit where developers and contributors come together to plan the features of the next releases.16:39
dholbachEvery feature is discussed by its stakeholders and a specification is written that contains detailed information about its assumptions, implementation, the necessary changes in other places, how to test it and so on.16:39
dholbachThis is all done in an open and transparent fashion, so even if you can not attend the event in person, you can participate remotely and listen to a streamcast, chat with attendants and subscribe to changes of specifications, so you are always up to date.16:40
dholbachNot every single change can be discussed in a meeting though, particularly because Ubuntu relies on changes that are done in other projects. That is why contributors to Ubuntu constantly stay in touch.16:40
dholbachMost teams or projects use dedicated mailing lists to avoid too much unrelated noise. For more immediate coordination, developers and contributers use Internet Relay Chat (IRC). All discussions are open and public.16:40
dholbachAnother important tool regarding communication is bug reports. Whenever a defect is found in a package or piece of infrastructure, a bug report is filed in Launchpad (https://launchpad.net/).16:41
dholbachAll information is collected in that report and its importance, status and assignee updated when necessary. This makes it an effective tool to stay on top of bugs in a package or project and organise the workload.16:41
dholbachAny questions about bugs, communication or planning the release?16:42
dholbachSomebody asked earlier, where the first Ubuntu release was developed on. rww dug out this historical web page: http://web.archive.org/web/20040731032313/http://www.no-name-yet.com/ :)16:43
dholbachthanks rww16:43
ClassBotShock45 asked: Why do some bugs stay unfixed for such a long time after they've been confirmed?16:43
dholbachShock45, that's a good question16:44
dholbachSometimes it's because the problem is hard to fix, sometimes it's because there's too much work to be done and not enough hands on deck.16:44
dholbachIn a few minutes I'll talk a bit more about how we interact with other projects which should help with bringing each other up to date and fixing problems together.16:44
ClassBotAbhijit asked: What to do about the bugs I have reported so many days ago and since they are not critical they still have not fixed yet?16:45
dholbachAbhijit, I hope the reply to Shock45's question answered this.16:45
dholbachOk, let's talk about Ubuntu and other projects.16:45
dholbachMost of the software available through Ubuntu is not written by Ubuntu developers themselves. Most of it is written by developers of other Open Source projects and then integrated into Ubuntu. These projects are called “Upstreams”, because their source code flows into Ubuntu, where we “just” integrate it.16:45
dholbachThe relationship to Upstreams is critically important to Ubuntu. It is not just code that Ubuntu gets from Upstreams, but it is also that Upstreams get users, bug reports and patches from Ubuntu (and other distributions).16:46
dholbachYou might have guessed it already: Debian, which we derive from, is one of those Upstreams that is critically important to us. :)16:46
dholbachDebian is the distribution that Ubuntu is based on and many of the design decisions regarding the packaging infrastructure are made there. Traditionally, Debian has always had dedicated maintainers for every single package or dedicated maintenance teams.16:46
dholbachIn Ubuntu there are teams that have an interest in a subset of packages too, and naturally every developer has a special area of expertise, but participation (and upload rights) generally is open to everyone who demonstrates ability and willingness.16:47
ClassBotben72 asked: how can I wish for a specific software to be added to ubuntu so I don't have to add extra sources to install it?16:47
=== fran_ is now known as Guest38065
dholbachben72x, https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages should answer the question in great detail, but I'll talk about specific parts of it later on as well.16:47
ClassBotdell asked: Does ubuntu team use code from other teams like fedora etc16:48
dholbachdell, yes. In a lot of cases maintainers and engineers from various distributions know each other and work together in those upstream communities, which is why issues are often identified together (and depending on their release schedule) integrated where they fit in well.16:48
ClassBotcoalitians asked: How does community prevent duplicate bug reports or dependent ones16:49
dholbachcoalitians, There will be a dedicated session about this later in the week.16:49
dholbachWe have some automatic tools that help figuring this out, but in some cases we have to manually find out duplicates and mark them as such in the Launchpad bug tracker.16:49
ClassBotlimivanb asked: Why Ubuntu requires more memory compare to windows OS?16:50
dholbachlimivanb, no idea. I luckily haven't Windows in a very very very very long time.16:50
ClassBotashams asked: is there any one tracks non-bitsize User experience bugs, and fix them? and hwhere to report *big* UE bugs?16:50
dholbachashams, great question - would you mind asking them when we have the Desktop team here at 18:00 UTC? :)16:50
ClassBotThere are 10 minutes remaining in the current session.16:50
ClassBotnaveen_ asked: How to know if its a new bug or the issue is happening only to me?16:50
dholbachnaveen, in some cases a google search or a search in launchpad.net will let you know, also if you try to report a bug in Launchpad it will try to find bugs that match your description16:51
dholbachif in doubt: file the bug, somebody might mark it as duplicate if it really is, in the other case it will be super helpful to have your input16:52
dholbachok, let's crack on :)16:52
dholbachMany of you asked how you can get something into Ubuntu. I'll answer this in more detail now:16:52
dholbachGetting a change into Ubuntu as a new contributor is not as daunting as it seems and can be a very rewarding experience. It is not only about learning something new and exciting, but also about sharing the solution and solving a problem for millions of users out there.16:52
dholbachOpen Source Development happens in a distributed world with different goals and different areas of focus. For example there might be the case that a particular Upstream might be interested in working on a new big feature while Ubuntu, because of the tight release schedule, might be interested in shipping a solid version with just an additional bug fix.16:53
dholbachThat is why we make use of “Distributed Development”, where code is being worked on in various branches that are merged with each other after code reviews and sufficient discussion.16:53
dholbachIn some cases it would make sense to ship Ubuntu with the existing (old) version of the project, just add a specific bugfix, forward the patch to Upstream for their next release and ship that (if suitable) in the next Ubuntu release. It would be the best possible compromise and a situation where everybody wins.16:54
dholbachhttp://people.canonical.com/~dholbach/packaging-guide/html/_images/cycle-branching.png might illustrate what I just talked about16:54
dholbachTo fix a bug in Ubuntu, you would first get the source code for the package, then work on the fix, document it so it is easy to understand for other developers and users, then build the package to test it.16:55
dholbachAfter you have tested it, you can easily propose the change to be included in the current Ubuntu development release. A developer with upload rights will review it for you and then get it integrated into Ubuntu.16:55
ClassBotThere are 5 minutes remaining in the current session.16:55
dholbachDoes that make sense so far?16:55
dholbachWhen trying to find a solution it is usually a good idea to check with Upstream and see if the problem (or a possible solution) is known already and, if not, do your best to make the solution a concerted effort.16:56
ClassBotben72 asked: does it matter if it's Ubuntu developed software or if the package is entirely from an upstream?16:56
=== coalwater_ is now known as coalwater
=== limivanb is now known as ivanlim
dholbachben72x, not all - the only thing that changes might be the number of people you interact with when making sure that your fix is accepted and integrated everywhere16:57
dholbachsorry, I mean "not at all"16:57
dholbachthe pattern is the same: share your fix, make sure everybody benefits, keep the differences between Ubuntu and its upstreams as low as you can16:58
ClassBotankurgel asked: In 'Distributed Development', will each and every participant in code will be updated with related bug report as it happens in all Upstreams?16:58
dholbachankurgel, the session about Bug Triage will answer this in a broader sense, but Launchpad was designed so you can keep track of the same problem in various projects and various bug trackers - it's super helpful when you are trying to figure out who has fixed the problem already or if there are open questions16:59
ClassBotice asked: how to become a good ubuntu developer?16:59
dholbachice, enjoy "making things work again", be a good team player, don't be afraid of reading documentation and asking a few questions, get your bug fixes submitted for review, work with others to improve them :)17:00
ClassBotice asked: can we view the seesions later?17:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Getting Started with Ubuntu Development - Instructors: dholbach
dholbachice, sure you can - just hang out in here or read the session logs on https://wiki.ubuntu.com/UbuntuDeveloperWeek later on17:00
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/07/11/%23ubuntu-classroom.html following the conclusion of the session.17:00
dholbachok, I have a few closing remarks for the Introduction to Ubuntu development, then let's take a 2-3 minute break so everybody can relax a bit and get a new coffee, tea, or whatever else :)17:01
dholbachWhen you work on a fix, additional steps might involve getting the change backported to an older, still supported version of Ubuntu and forwarding it to Upstream.17:02
dholbachAs I said earlier: The most important requirements for success in Ubuntu development are: having a knack for “making things work again,” not being afraid to read documentation and ask questions, being a team player and enjoying some detective work. :)17:02
dholbach^ This last point is important to me, that's why I keep saying it. :-)17:02
=== Abhijit_ is now known as Abhijit
dholbachGood places to ask your questions are ubuntu-motu-mentors@lists.ubuntu.com and #ubuntu-motu on irc.freenode.net. You will easily find a lot of new friends and people with the same passion that you have: making the world a better place by making better Open Source software.17:02
dholbachLet's take a quick break, I'll be back in 2-3 minutes.17:03
dholbachAre there any questions from the first part of the session?17:06
ClassBotben72 asked: is it enough for me to upload the fix to launchpad? will upstream monitor and pick it up by themselves?17:07
dholbachben72x, some will, but the majority won't because they have their own bug tracker17:07
dholbachas I said earlier, we'll have a session about working with Debian later on this week - this one should definitely be interesting17:08
ClassBotgrungekid_ asked: Does ubuntu provide any good coding tutorials for languages such as python etc?17:08
dholbachthere are a lot of great coding tutorials out there, if you google for them, some of them are packaged in Ubuntu already17:08
dholbachthe diveintopython package for example is a great example for learning Python17:09
dholbachalright - let's get started with setting up our development environment17:09
dholbacha few important notes:17:10
dholbach - let us know in #ubuntu-classroom-chat if something doesn't work as expected, we'll do our best to help17:10
dholbach - if your internet is slow or you don't have a current ubuntu release running right now: don't worry - you can always just follow the instructions when you read the log of this session later on and ask in #ubuntu-motu17:11
dholbachIt is advisable to do packaging work using the current development version of Ubuntu. Doing so will allow you to test changes in the same environment where those changes will actually be applied and used.17:11
dholbachDon’t worry, though, the Ubuntu development release wiki page shows a variety of ways to safely use the development release: https://wiki.ubuntu.com/UsingDevelopmentReleases17:11
dholbachAs I said earlier: if you don't run oneiric now (you'd be very brave if you did), that's fine - just check out the wiki page above later on. The same steps are applicable there. :)17:12
dholbachThere are a number of tools that will make your life as an Ubuntu developer much easier. You will encounter these tools later in this guide.17:12
dholbachTo install most of the tools you will need, run this command:17:12
dholbach    sudo apt-get install gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file17:12
dholbachto get just the bare minimum, run17:13
dholbach    sudo apt-get install --no-install-recommends gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file17:13
dholbach(if you run oneiric or have Backports enabled, you can install the 'packaging-dev' package, which gives you a little bit more)17:13
dholbachWhat we get is this:17:14
dholbach - gnupg – GNU Privacy Guard contains tools you will need to create a cryptographic key with which you will sign files you want to upload to Launchpad.17:14
dholbach - pbuilder – a tool to do a reproducible builds of a package in a clean and isolated environment.17:14
dholbach - ubuntu-dev-tools (and devscripts, a direct dependency) – a collection of tools that make many packaging tasks easier.17:14
dholbach - bzr-builddeb (and bzr, a dependency) – distributed version control tools that makes it easy for many developers to collaborate and work on the same code while keeping it trivial to merge each others work.17:14
dholbach - apt-file provides an easy way to find the binary package that contains a given file.17:14
dholbach - apt-cache (part of the apt package) provides even more information about packages on Ubuntu.17:15
dholbachIf what I said doesn't make a lot of sense yet, don't despair. We'll get there.17:15
dholbachLet's dive into questions while we wait for the installations to end.17:15
ClassBot_Dreamer_ asked: Which languages do I need to know to get involved in Ubuntu development?17:15
dholbach_Dreamer_, There are no prerequisites. A lot of the simple bugs can be fixed by reading the code, trying to understand it and fixing small bits here and there. Typos are good examples of this category.17:16
dholbachA great thing about Ubuntu development is that you can work on all the packages you like and they are written in different languages and different styles - you learn a lot.17:17
dholbachC, Python, Perl, C++ are good examples of what you will probably come across.17:17
ClassBotAbhijit asked: I want to develop my software for all ubuntu versions but I don not want the latest ubuntu version. I am happy with Lucicd. Will that cause any problem?17:17
dholbachAbhijit, You can run Oneiric in a virtual machine - the link I gave above should help you with setting that up.17:18
dholbachhttps://wiki.ubuntu.com/UsingDevelopmentReleases17:18
ClassBotmustafajnr asked: I'm running Lubuntu, which have been officially picked-up by Ubuntu as an official derivative as soon as the NEXT release, will it be sufficient?17:18
dholbachmustafajnr, yes! :)17:18
dholbachAll Ubuntu derivatives share the same package base, so it's easy to be a developer, no matter if you run Kubuntu, Ubuntu, Ubuntu Server, Lubuntu, Edubuntu or whatever else17:18
ClassBotKvrmurthy asked: Any good starting books?17:19
dholbachKvrmurthy, if it's about learning programming languages, I'd recommend googling and following recommended tutorials17:19
dholbachif it's about Ubuntu development, I'd recommend https://wiki.ubuntu.com/MOTU/GettingStarted17:19
ClassBotdell asked: will the minimum file later have dependency issue17:19
dholbachdell, no - you should be fine17:19
ClassBotcoalwater asked: whats -no-install-recommends for ?17:20
dholbachcoalwater, Packages cann depend on other packages (hard sort-of-unbreakable (yeah, I know....) dependencies), softer dependencies, which are called recommends17:20
dholbachand suggests, which are not considered by default17:20
dholbachrecommends are installed by default, but can be ignored or removed without problems17:20
ClassBotKvrmurthy asked: Two things how we can run oneric in 11.04? and what is backport?17:21
dholbachhttps://wiki.ubuntu.com/UsingDevelopmentReleases should help with running oneiric17:21
dholbachbackports is an additional repository where updated version of packages or new packages are added after the release got out17:21
ClassBotsaimanoj60 asked: Which version of Python(2.7 or 3.0) is used in development?17:21
dholbachsaimanoj60, for oneiric it will be both (just not sure which of the Python3 versions it will be - 3.1???)17:22
dholbachwith the long term aim of moving to 3.x, but not for oneiric17:22
ClassBotmgarrido asked: what's the recommended development system? testdrive?  a full install in another vm?17:22
dholbachmgarrido, any option mentioned on https://wiki.ubuntu.com/UsingDevelopmentReleases should work - try doing a straw poll in #ubuntu-classroom-chat and see what others recommend :)17:23
dholbachI use a virtual machine in kvm right now17:23
dholbachok, let's crack on - I hope the packages installed alright for you :)17:23
dholbachLet's start of with your GPG key.17:24
dholbachIf you have one, you of course don't need to follow the instructions here.17:24
dholbachGPG stands for GNU Privacy Guard and it implements the OpenPGP standard which allows you to sign and encrypt messages and files. This is useful for a number of purposes. In our case it is important that you can sign files with your key so they can be identified as something that you worked on. If you upload a source package to Launchpad, it will only accept the package if it can absolutely determine who uploaded the package.17:24
dholbachTo generate a new GPG key, run:17:24
dholbach    gpg --gen-key17:25
dholbachGPG will first ask you which kind of key you want to generate. Choosing the default (RSA and DSA) is fine. Next it will ask you about the keysize. The default (currently 2048) is fine, but 4096 is more secure.17:25
dholbachAfterward, it will ask you if you want it to expire the key at some stage. It is safe to say “0”, which means the key will never expire.17:25
dholbachThe last questions will be about your name and email address. Just pick the ones you are going to use for Ubuntu development here, you can add additional email addresses later on. Adding a comment is not necessary.17:25
dholbachThen you will have to set a passphrase. Choose a safe one.17:25
dholbachNow GPG will create a key for you, which can take a little bit of time; it needs random bytes, so if you give the system some work to do it will be just fine. Move the cursor around!17:26
dholbachOr just sit here in this session and enjoy the company of 284 others. :)17:26
dholbachOnce this is done (and it might take a while - that's fine), you will get a message similar to this one:17:27
dholbachpub   4096R/43CDE61D 2010-12-0617:27
dholbach      Key fingerprint = 5C28 0144 FB08 91C0 2CF3  37AC 6F0B F90F 43CD E61D17:27
dholbachuid                  Daniel Holbach <dh ... fang.de>17:27
dholbachsub   4096R/51FBE68C 2010-12-0617:27
dholbachIn this case 43CDE61D is the key ID.17:27
dholbachOnce this is done, you need to upload the key to a gpg keyserver. Remind me of telling you how to do that later on. ;-)17:28
ClassBotacklee asked: whether to run Ubuntu using Wubi reliable for development?17:28
dholbachacklee, I have never used it, but I guess that'd work17:28
ClassBotSemih asked: Can we use this key from another machine ?17:29
dholbachSemih, yes, as far as I know, it should be fine to just copy it over (it's in ~/.gnupg)17:29
ClassBotdell asked: For frequent formatting, how can we save that file for later use. Can we make another gpg key17:29
dholbachdell, it's better to re-use your existing one or you end up updating it in all kinds of places17:29
dholbachok, let us let gpg do its thing and move over to our SSH keys17:30
dholbachSSH stands for Secure Shell, and it is a protocol that allows you to exchange data in a secure way over a network. It is common to use SSH to access and open a shell on another computer, and to use it to securely transfer files. For our purposes, we will mainly be using SSH to securely communicate with Launchpad.17:30
dholbachTo generate a SSH key, enter:17:30
dholbach    ssh-keygen -t rsa17:30
dholbach(you can use another terminal for doing this)17:30
=== paulproteus_ is now known as paulproteus
dholbachThe default file name usually makes sense, so you can just leave it as it is. For security purposes, it is highly recommended that you use a passphrase.17:31
ClassBotRWINZ asked: hello everybody, can someone tell me how to install my cdma modem on my ubuntu natty?17:31
dholbachRWINZ, I would suggest you join #ubuntu and ask the question there - we're currently focused on "Introduction to Ubuntu Development"17:31
dholbachwith GPG and SSH keys done, let's have a look at our build environment17:32
dholbachIn this example, we'll make use pbuilder - there's other alternatives as well17:32
dholbachpbuilder allows you to build packages locally on your machine. It serves a couple of purposes:17:32
dholbach - The build will be done in a minimal and clean environment. This helps you make sure your builds succeed in a reproducible way, but without modifying your local system17:32
dholbach - There is no need to install all necessary build dependencies locally17:33
dholbach - You can set up multiple instances for various Ubuntu and Debian releases17:33
dholbachSetting pbuilder up is very easy. Edit ~/.pbuilderrc with your favourite editor and add the following line to it:17:33
dholbachCOMPONENTS="main universe multiverse restricted"17:33
dholbachSave it.17:33
dholbachThis will ensure that build dependencies are satisfied using all Ubuntu components.17:33
dholbachThen run:17:34
dholbach    pbuilder-dist <release> create17:34
dholbachwhere <release> is for example natty, maverick, lucid or in the case of Debian maybe sid. This will take a while as it will download all the necessary packages for a “minimal installation”. These will be cached though.17:34
dholbachin our case, let's try this:17:34
dholbach    pbuilder-dist natty create17:34
dholbachThe reason I don't suggest oneiric is https://launchpad.net/bugs/807974 - it's currently not possible.17:35
dholbachIf you want a notification of when it works again, please subscribe to the bug report and try again when the issue is fixed.17:35
dholbachAs mentioned above: setting up pbuilder will take quite a while, particularly if you're on a slow internet connection. The good news is: packages will be cached. :)17:35
ClassBotCuzzie asked: Is the ~/.pbuilderrc file already there after we installed pbuilder, or do we have to make one?17:36
dholbachCuzzie, no, if you don't have it, just create it17:36
ClassBotalucardni asked: it's possible to have a Debian pbuilder environment in ubuntu?17:36
dholbachalucardni, yes - "pbuilder-dist sid create" would create a pbuilder instance for Debian unstable17:37
ClassBotankurgel asked: all this has to be done on latest Ubuntu release or will previous version work fine?17:37
dholbachankurgel, previous releases should work fine17:37
dholbachyou should be able to go back and use the log to set up all of this in an updated virtual machine later on if you like17:38
dholbachlet's talk a bit about Launchpad17:38
dholbachWith a basic local configuration in place, your next step will be to configure your system to work with Launchpad. Now we will focus on the following topics:17:39
dholbach - What Launchpad is, and creating a Launchpad account17:39
dholbach - Uploading your GPG and SSH keys to Launchpad17:39
dholbach - Configuring Bazaar to work with Launchpad17:39
dholbach - Configuring Bash to work with Bazaar17:39
dholbachLaunchpad is the central piece of infrastructure we use in Ubuntu. It not only stores our packages and our code, but also things like translations, bug reports, and information about the people who work on Ubuntu and their team memberships.17:39
dholbachYou will also use Launchpad to publish your proposed fixes, and get other Ubuntu developers to review and sponsor them.17:39
dholbachYou will need to register with Launchpad and provide a minimal amount of information. This will allow you to download and upload code, submit bug reports, and more.17:40
dholbachIf you don’t already have a Launchpad account, you can easily create one: https://launchpad.net/+login17:40
dholbachIf you have a Launchpad account but cannot remember your Launchpad id, you can find this out by going to https://launchpad.net/people/+me and looking for the part after the ~ in the URL.17:40
dholbachLaunchpad’s registration process will ask you to choose a display name. It is encouraged for you to use your real name here so that your Ubuntu developer colleagues will be able to get to know you better.17:40
dholbachWhen you register a new account, Launchpad will send you an email with a link you need to open in your browser in order to verify your email address. If you don’t receive it, check in your spam folder.17:41
dholbachThe new account help page on Launchpad has more information about the process and additional settings you can change: https://help.launchpad.net/YourAccount/NewAccount17:41
ClassBotben72 asked: you now assume we're on oneiric right?17:41
dholbachben72x, no - a supported ubuntu release should be fine - if you read the log of this session later on again, you can easily either copy your settings to a virtual machine or repeat the steps17:42
ClassBotankurgel asked: ~/.pbuilderr doesn't exist. Should I create a new file and save it with that mentioned line in it?17:42
dholbachankurgel, yes, create a new ~/.pbuilderrc and save it17:42
dholbachalso if you should run out of time following all the instructions: having a look at the log later on should help you find your way afterwards (or ask in #ubuntu-motu :))17:43
dholbachOpen https://launchpad.net/people/+me/+editsshkeys in a web browser, also open ~/.ssh/id_rsa.pub in a text editor. This is the public part of your SSH key, so it is safe to share it with Launchpad. Copy the contents of the file and paste them into the text box on the web page that says “Add an SSH key”. Now click “Import Public Key”.17:44
dholbachFor more information on this process, visit https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair17:44
ClassBotdell asked: It asked me to create system wide cache directory.  I started to download that.17:45
dholbachdell, I'm not quite sure which part of the instructions you are referring to. Can somebody in #ubuntu-classroom-chat answer this?17:45
ClassBotcoalwater asked: is there a difference between ubuntu devs and motu devs? or are they the same ?17:45
dholbachcoalwater, they all are Ubuntu developers - MOTU is the group of Ubuntu Developers that has upload rights for Universe and Multiverse only17:46
dholbachalso does the MOTU team do a lot of training of new developers - it's great to hang out with the team - they're a friendly bunch17:46
=== uxistin is now known as bilfixion
dholbachbut generally it doesn't matter which upload rights you have if you care about Ubuntu and help improving it - it just makes getting changes into Ubuntu easier because you proved your abilities before and don't have to go through the review process every single time17:47
ClassBotkermit6667485 asked: How much space will pbuilder take to create a new development environment? Same as a fresh Ubuntu install? How can we delete this environment later on in case we want to move to a virtual machine?17:47
dholbachkermit6667485, much less than a default install,17:48
dholbachdaniel@miyazaki:~$ ls -la pbuilder/natty-base.tgz17:48
dholbach-rw-r--r-- 1 root root 100385624 2011-06-09 12:17 pbuilder/natty-base.tgz17:48
dholbachdaniel@miyazaki:~$17:48
dholbachYou can just remove the ~/pbuilder directory later on if you decide you don't like it/need it17:48
dholbachWe have 12 minutes left and I fear we might run out of time - let's talk about Bazaar a bit17:48
dholbachBazaar is the tool we use to store code changes in a logical way, to exchange proposed changes and merge them, even if development is done concurrently.17:49
dholbachTo tell Bazaar who you are, simply run:17:49
dholbach     bzr whoami "Bob Dobbs <subgenius@example.com>"17:49
dholbach    bzr launchpad-login subgenius17:49
dholbachwhoami will tell Bazaar which name and email address it should use for your commit messages. With launchpad-login you set your Launchpad ID. This way code that you publish in Launchpad will be associated with you.17:49
dholbachNote: If you can not remember the ID, go to https://launchpad.net/people/+me and see where it redirects you. The part after the “~” in the URL is your Launchpad ID.)17:49
dholbachWe need to follow similar steps to tell the Debian/Ubuntu packaging tools about who we are.17:50
dholbachIt's quite easy though. Simply open your ~/.bashrc in a text editor and add something like this to the bottom of it:17:50
dholbachexport DEBFULLNAME="Bob Dobbs"17:50
dholbachexport DEBEMAIL="subgenius@example.com"17:50
dholbachNow save the file and either restart your terminal or run:17:50
dholbach    source ~/.bashrc17:50
ClassBotThere are 10 minutes remaining in the current session.17:50
dholbach(If you do not use the default shell, which is bash, please edit the configuration file for that shell accordingly.)17:51
dholbachI hope that by now your GPG key was successfully generated.17:51
dholbachYou should see a message like this:17:51
dholbachpub   4096R/43CDE61D 2010-12-0617:52
dholbach      Key fingerprint = 5C28 0144 FB08 91C0 2CF3  37AC 6F0B F90F 43CD E61D17:52
dholbachuid                  Daniel Holbach <dh .... pfang.de>17:52
dholbachsub   4096R/51FBE68C 2010-12-0617:52
dholbachIn the case above 43CDE61D is the key ID.17:52
dholbachIf you run this command, the key should be uploaded to a keyserver17:52
dholbach    gpg --send-keys <KEY ID>17:52
dholbachThis will send your public key (this is safe!) to one keyserver, but a network of keyservers will automatically sync the key between themselves. Once this syncing is complete, your signed public key will be ready to verify your your contributions around the world.17:53
ClassBotankurgel asked: And then use environment variables like: bzr whoami $DEBFULLNAme <$DEBMAIL> each time?17:53
dholbachankurgel, no, the tools will assume they know you and auto-fill in that data :)17:53
dholbachso no need for variables or spelling your name all the time :)17:53
dholbachhttps://help.launchpad.net/YourAccount/ImportingYourPGPKey will tell you how to upload your GPG key to Launchpad17:54
dholbachand with that you should be fully set up and ready to go!17:54
dholbachAs I said earlier https://wiki.ubuntu.com/UbuntuDeveloperWeek will have links to logs by the end of each day, so make you visit that page again - best bookmark it :)17:54
dholbachthere's a variety of things we talked about and there's a variety of sessions still coming up that will give you much broader insight into how things work.17:55
ClassBotankurgel asked: But, bzr command will be needed to commit each time. Willn't it? That's why thought to use env. var. with command.17:55
ClassBotThere are 5 minutes remaining in the current session.17:55
dholbachankurgel, after you've run "bzr whoami" it will store the information about you in its own config files and you won't have to type it in again17:56
dholbachcommit messages will automatically have your name and email associated with them17:56
dholbachfor further reading I'd like to recommend https://wiki.ubuntu.com/MOTU/GettingStarted17:57
dholbachalso http://people.canonical.com/~dholbach/packaging-guide/html/ might look very much familiar after you sat through the two first sessions17:57
dholbachTo ask questions, check out #ubuntu-motu and https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu-mentors17:57
dholbachand if you use any social media, check out (and follow if you like) http://twitter.com/ubuntudev http://identi.ca/ubuntudev http://facebook.com/ubuntudev to find out more about what's going on next17:58
dholbachwith that, I'd like to hand over to Sébastien "seb128" Bacher and the Desktop team, who will answer all the questions you might have!17:58
dholbachThanks a lot everybody - you ROCK!17:59
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Ubuntu Desktop Q&A - Instructors: seb128
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/07/11/%23ubuntu-classroom.html following the conclusion of the session.18:01
seb128hey18:01
seb128thanks dholbach18:01
seb128welcome to the desktop team Q&A18:01
seb128ok, ready18:02
seb128how is everybody today?18:02
seb128I hope you had fun with Daniel18:02
seb128let's see what sort of questions you have for the desktop team ;-)18:02
seb128ok, let's get started, I see a few desktop contributors and members in the room, I will answer questions but might dispatch a few ones for others in the desktop team if appropriate18:03
ClassBotben72 asked: will gnome3 be easier to install in the coming ubuntu releases?18:04
seb128yes!18:04
seb128GNOME released after the natty freeze and we were busy with unity18:04
seb128so rather than doing a suboptimal job at the best to get GNOME in natty we rather stayed on 2.32 and delayed to this cycle18:05
seb128we have GNOME3 proper in oneiric already and are working on GNOME 3.118:05
seb128the fact that we moved to unity by default also means we reduced our number of GNOME patches18:06
seb128so if you start a GNOME classic session (gnome-panel) or a gnome-shell session in oneiric you should have a pretty much upstream complete experience18:06
seb128GNOME classic and GNOME shell will not be on the CD but an apt-get install away and well maintained and supported18:06
seb128I hope we will keep GNOME users happy since we still love GNOME ;-)18:07
seb128 18:07
ClassBotdell asked: Why is default theme on ubuntu always bad as compared to windows or mac18:07
seb128is it?18:07
seb128I've no strong opinion on that, I like the light variant of the default theme18:07
seb128but you should comment on the ayatana list if you have specific issues or suggestions18:08
seb128or open bugs on launchpad against the theme if you find bugs in it18:08
seb128 18:08
ClassBotNMinker asked: With Oneiric, how was the transition to Linux 3.0?  Was it any different from past kernel upgrades (2.6.37, 2.6.38, etc.)?18:08
seb128no a very desktopish question so I'm not sure but from I know it's pretty similar to any kernel update18:09
seb128 18:09
ClassBotauToeXeC asked: Will Ubuntu be officially supported with GNOME?18:09
seb128I'm not sure to understand the question18:09
seb128GNOME doesn't support officially or not distributions that I know about18:09
seb128you should maybe reformulate the question?18:10
seb128 18:10
ClassBotrww asked: Does GNOME Shell in Oneiric use notify-osd, indicator applets, etc., or does it use the upstream alternatives to those?18:10
seb128GNOME shell is oneiric should be a stock upstream experience (i.e no notify-osd, no indicators)18:10
seb128if you find cases where it's not please open bugs18:10
seb128 18:10
ClassBotdell asked: Ubuntu 11.04 did not install with default setting in my old 32-bit computer, but previous versions did. So is it a mith that ubuntu supports old hardware18:11
seb128how did not install? it's hard to say without details on your configuration, but 11.04 should not be limited over previous versions18:11
seb128it could be a bug18:11
seb128 18:11
ClassBotgrungekid_ asked: There is a post in the ubuntu forum currently about Ubuntu frying Macbook cpu's due to OSX managing the voltage on the processor itself and Linux not doing a good enough job. Is there any truth behind this?18:12
seb128good question, not really desktopish though and to be honest I've no clue, I down own any mac computer and didn't read anything about those issues18:12
seb128 18:12
ClassBotashams asked: Where to report *non-bitsize* User Experience bugs? Is there any team or person who collect&fix them?18:12
seb128on the component they affect18:13
seb128or use the ayatana mailing list if you want to discuss the issues with dx or design18:13
seb128 18:13
ClassBotcoalitians asked: How are the feedbacks you are getting for implementing  Unity?18:13
seb128good question18:13
seb128we have quite a range of reactions to unity18:14
seb128some users don't like change and so don't like it18:14
seb128some users are used to tweak their configuration in precise ways and they don't like it much either18:14
seb128some users first didn't like it because it was different but gave it a chance and after a while found themself very happy with it18:15
seb128new users seems to be the ones most positive about it18:15
seb128they like the modern look and they like how easy it is to use18:15
seb128we got from the feedback though that we still need to improve, the current version still has stability issues and rough edges18:16
seb128the product is still new and dx and other teams are working hard to improve it, let's see how it goes this cycle and for the lts18:16
seb128but we are quite confident that if manage to make it solid and polished a bit users feedback will keep being good18:17
seb128 18:17
ClassBotdell asked: There is a post that windows 7 is less power consuming that ubuntu. Is it true ubuntu is more power hungry due to desktop18:17
seb128it's hard to say, power usage is depending of what is running, of your hardware, of the drivers for your hardware, etc18:18
seb128not really a desktopish question either btw18:18
seb128I've no doubt some drivers could do better and our desktop could do better as well on some components18:18
seb128but what I read around on the internet didn't show ubuntu being that power hungry either18:19
seb128would be a better question for the kernel team though ;-)18:19
seb128 18:19
ClassBotmhall119 asked: Are there any plans to expand on the social integration in Oneiric?18:19
seb128expand how?18:20
seb128gwibber is being rewritten and the new version should land in oneiric soon18:20
seb128it will be lighter and better but I don't know of plan to add support for things which were not available before18:21
seb128better to check with kenvandine though18:21
seb128 18:21
ClassBotsaimanoj60 asked: why is the laptop edition and desktop editon merged?18:21
seb128because maintaining 2 editions has a cost18:22
seb128it requires extra images to maintain, build, test, host, mirror, etc18:22
seb128the differences between the two edition were small as well18:22
seb128unity works fine on laptop and desktop configs so we decided we better spend the resources on making one solid product rather than dividing efforts18:23
seb128 18:23
ClassBotauToeXeC asked: Earlier Ubuntu versions were packed with ubuntu. Now, the 11.04 isn't available with GNOME. I'm asking if further versions will have GNOME like Kubuntu is with KDE?18:23
seb128were packed with GNOME you mean?18:23
seb128there is no plan right now from the current team to do a GNOMEbuntu flavor of Ubuntu18:24
seb128but that's mainly because it's easy to install gnome-shell over Ubuntu and because the current team is busy18:24
seb128that would be a nice project if there is a motivated community wanting to maintain it18:24
seb128if you want to work on that feel free to join on #ubuntu-desktop we can help you to start on it and maintain it18:25
seb128 18:25
ClassBotGodji asked: Do you plan to make Unity highly customizable (at least as much as GNOME 2.x is, and ideally as much as the KDE 4.x desktop)? If yes, is it a high priority task?18:25
seb128no18:25
seb128customization is nice but it makes the code harder to maintain, increase the number of bug, etc18:26
seb128we decided to focus on doing things one way and doing them well18:26
seb128but GNOME classic, xfce, KDE, etc are still available and maintained for those who like other experiences18:27
seb128or like tweaking18:27
seb128or have a difference vision18:27
seb128 18:27
ClassBotdell asked: Can't ubuntu provide vlc by default. And the stuffs like mp3 can be later updated when user first starts it. Default media player on ubuntu is not good.18:27
seb128what is no good with totem?18:27
seb128we didn't look at vlc recently, it's a great product but I think the way they distribute codecs make it non pratical to ship it by default18:28
seb128there are lot of codecs that are patented and which can't be legally distributed18:28
=== daamageboyPad is now known as damageboyPad
seb128gstreamer does ship codecs in different sources to address those issues and have legal solutions for i.e mp3 playing which you can buy18:29
seb128it's not likely we could switch to vlc18:29
seb128without speaking about CD space or ui consideration...18:29
seb128 18:29
ClassBotkamil_p asked: are you working at making indicators work in gnome-shell?18:29
seb128we as the ubuntu desktop team are not but there is a bug on bugzilla.gnome.org with a patch for that I think18:30
seb128so it should be possible to get code to load them in gnome-shell in some way18:30
seb128 18:30
ClassBotcoalitians asked: How are  the Application integration with Global Menu Bar happening?18:30
seb128you mean?18:30
seb128it should happen automatically for gtk and qt applications18:30
seb128the appmenu-gtk and appmenu-qt code strip menubars from applications and export those for you without having to do anything18:31
seb128there is still some buggy case, if you find one open a bug against libdbusmenu18:31
seb128(that's for gtk and qt, other toolkit are not supported though firefox and lo got code exporting their menu, but that's not automatic for those)18:32
seb128 18:32
ClassBotdell asked: One issue I found was ubuntu started fan under 8 minutes and that on windows 7 was i think more than 15 minutes. This way the computer gets more heated and more power consumption18:32
seb128open a bug with the detail of what is running, your hardware configuration, etc I guess18:32
seb128it could be lot of reason, something using the cpu in the session, suboptimal drivers, ...18:33
seb128not really a desktop question though18:33
seb128 18:33
ClassBotShock asked: Why was compiz 0.9.x released with so many regressions compared to 0.8.x? Why not stick with 0.8.x until 0.9.x became mature enough?18:33
seb128the situation was a bit unfortunate but there was no obvious or easy choice18:33
seb128compiz 0.8 was written in C18:34
seb128compiz 0.9 is in cpp18:34
seb128so the choice was to start writing unity in C and on a non maintained codebase18:34
seb128which would have probably mean the new codebase would have got testing and that unity would have been to be rewriten or refactored a lot later on18:35
seb128or to move forward, skip on the new codebase, write code ready for what is maintained and is the way to go and fix the issues on the way18:35
seb128in practice that's lot of work and the team has limited resources so they didn't manage to get it all sorted in one cycle18:36
seb128we do believe that's what put us in the best position to have a stable codebase we can maintain soon18:36
seb128especially before the next LTS18:36
seb128the tradeoff is a bit less stability during one cycle or two out of the LTS...18:36
seb128 18:36
ClassBotNMinker asked: Not a "desktopish" question, why was a Netbook edition available for Natty, even though it was discontinued?18:37
seb128was there? or was it only an armel version?18:37
seb128the armel team kept using the netbook edition because armel has poor 3d support and unity2d was not there yet18:37
seb128 18:37
ClassBotsaimanoj60 asked: Relating to my previous question - merging desktop and laptop editions-- Then how are the differences like touchpad and webcam features are provided? If they are included, are not they burden for desktop users?18:38
seb128I'm not sure to understand what differences you talk about18:38
seb128most laptops nowadays have a touchapd and a webcam built in18:38
seb128most desktop users have a webcam18:39
=== txwikinger2 is now known as txwikinger
seb128the options for devices which are not available are just not showed18:39
seb128the same way as printer drivers for example are available, it doesn't mean you have to use a printer, but if you want to that makes it easier18:39
seb128 18:39
ClassBotamorphous1 asked: How can we change the font size to a custom one in Oneiric?18:39
seb128use dconf-editor18:39
seb128the ui options are in org.gnome.desktop.interface18:40
seb128that's not really user friendly though18:40
seb128you can also install gnome-tweak-tools18:40
seb128or ubuntu-tweak-tools I guess (need to look what they provide with it)18:40
seb128we still plan to look at the options GNOME3 dropped from its ui and figure what to do for them in oneiric18:41
seb128so maybe themes and some other will come back in some way in the UI18:41
seb128 18:41
ClassBotsaimanoj60 asked: If the codecs are patented, I dont understand how the commercial operating system(windows) is able to distribute those codecs.18:41
seb128they pay a patent fee by system18:41
seb128it's easy for them to pay let's say $1 by windows copy to provide the codecs since they charge you for the OS18:42
seb128Ubuntu is free, it's hard to pay to include things to something you give for free18:42
seb128 18:42
ClassBotdell asked: Totem does not handle video well like vlc, It always displays the visualization window and stuffs like that. VLC is by the way best on all platform. So since, it is free and open source, why not go for the best18:43
seb128if you have specific bugs with totem please open those18:43
seb128I've no doubt vlc and mplayer are great player and probably do better than gstreamer and totem in several cases18:43
seb128but as said before they would not be easy to distribute18:43
seb128but feel free to start a discussion on the ubuntu-desktop mailing list about it18:44
seb128that's probably the best way to have a discussion and to summarize reasons18:44
seb128we might figure after discussion that we could change in one of the next cycles who knows ;-)18:44
seb128 18:44
ClassBotLibertyZero asked: If you plan to stick with totem, are there any plans to redesign the interface? It's currently not only ugly but also do the large controls and the statusbar waste quite a lot of screen space unnecessarily.18:44
seb128not that I know about18:45
seb128we are busy enough working on the desktop, we don't really have resources to redesign applications18:45
seb128that's probably something you should raise on upstream lists on bring up to the totem writers18:45
seb128we might be able to do some tweaks to address some obvious issues, so if you have some of those please open bugs or mail the ayatana list for discussion18:46
seb128but we will not like redesign it18:46
seb128 18:46
ClassBotMedaRock asked: how is the feedback for unity 2d, and what i need to know to help?18:46
seb128hum, good question18:46
seb128so didrocks who is mostly maintain it is not there this week but he would be the best placed to answer18:47
seb128the feedback I read was good so far18:47
seb128they have a small team and could use some help for sure18:47
seb128so maybe ask on #ayatana during european office hours18:47
seb128or checking launchpad for bitesized bugs18:47
seb128or open bugs that you feel like you could help on, I'm sure they would appreciate contributions18:48
seb128 18:48
ClassBotsaimanoj60 asked: If the codecs are to be payed for use, then how are we able to download for free? Is it not legal?18:48
seb128downloading things for personal use and providing things in a "product" are different things18:48
seb128or said differently nobody is going to sue you for installing a mp3 player without rights18:49
seb128but Canonical could be a better target to sue to get money18:49
seb128 18:49
ClassBotCuzzie asked: Is there any difference between mplayer and totem?18:50
seb128is there anything common between mplayer and totem? ;-)18:50
seb128mplayer uses ffmpeg, totem gstreamer18:50
seb128mplayer has different interfaces including command lines ones, totem is a GNOME application18:50
ClassBotThere are 10 minutes remaining in the current session.18:50
seb128 18:51
ClassBotmhall119 asked: At UDS, Mark said that there was going to be a big focus to make webapps first-class citizens on the desktop, how is that going to be accomplished?18:51
seb128that's a good question and I've not really seen anything coming out of that yet and I'm probably not the best person to ask, maybe watch the ayatana list if they discuss the topic there18:52
seb128but I guess desktop integration will come with things like making webapps showing as applications on the unity launcher18:52
seb128(there is a bug and work being done for that with chromium I think)18:52
seb128i.e a webapp running in a chromium tab would be listed as any application in the launcher18:52
seb128I guess they will figure other smart things to do over time as well ;-)18:53
seb128 18:53
ClassBotdatastream_ asked: sometimes when i have a long folder name on my desktop, and its close to another folder they overlap. anything i can do to fix this besides moving the folders?18:53
seb128not that I know about, seems like an old known bug18:53
seb128 18:53
ClassBotoscar-colombia asked: is onerci coming in gnome3 - gnome-shell desktop enviroments?18:53
seb128oneiric Ubuntu will have unity-3d and unity-2d on the CD18:54
seb128but gnome-shell and gnome-classic will still being available, supported, and one apt-get install away18:54
seb128there seems to be some community interest also around doing a GNOMEubuntu flavor, i.e a CD with GNOME by default, let's see if that happen18:54
seb128but if not GNOME will still be maintained as a first class citizen and very easy to install and run18:55
seb128 18:55
ClassBotdell asked: When will ubuntu go for gnome 318:55
seb128Oneiric is already using GNOME318:55
seb128 18:55
ClassBotThere are 5 minutes remaining in the current session.18:55
ClassBotacklee asked: in terms of the Ubuntu desktop interface, whether other distros such as Mint also contribute?18:55
seb128not that I know, they work on the interface of their distribution but i've not seen them engage a lot with us about improving the stock Ubuntu interfaces18:56
seb128 18:56
ClassBotNMinker asked: Will GNOME still be there if you upgrade from Natty to Oneiric?18:56
seb128yes, there is no reason it should go away ;-)18:57
seb128 18:57
seb128ok, 3 minutes left and the queue is empty18:57
seb128if you have a few remaining question now is the time to ask ;-)18:57
seb128<NMinker> I'm referring to GNOME classic, obviously18:58
seb128reply to that from -chat18:58
seb128GNOME will have a GNOME Shell session and a GNOME classic18:58
seb128GNOME classic will be similar to GNOME2, i.e gnome-panel etc18:59
seb128with some redesign coming from GNOME18:59
seb128 18:59
ClassBotrobinparriath asked: there were rumours of android apps on ubuntu.  True or false18:59
seb128no idea18:59
seb128I've no read or seen anything about that ;-)18:59
seb128 18:59
ClassBotjohn_g asked: Is libdbusmenu going through much change to use the new interfaces?18:59
seb128what new interfaces?19:00
seb128there is some improvements planned for this cycle as every cycle I think but better to check with dx team for the specific19:00
seb128they got us 2 abi breaks already :p19:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Packaging Mono for the greater good - Instructors: directhex
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/07/11/%23ubuntu-classroom.html following the conclusion of the session.19:01
directhexrighty then. thanks to seb128 for his session there.19:01
directhexI'd like to apologise in advance if I appear to become unresponsive during this, as if my internet connection has dropped. it'll be because my internet connection has dropped. yay, adsl, etc.19:01
directhexmy intention is to spend a few minutes first discussing mono and how it relates to ubuntu, in packaging terms. then ill go through a couple of example packages (sparkleshare, docky and keepass2 are my example packages, try to ensure you have the source packages and build-deps available if you want to follow along)19:02
directhexthen end with a Q&A session19:02
directhexso. first things first. mono's a framework for developing apps in the same format as microsoft.net. same bytecode format, same class libraries, etc. this is possible because the bytecode and basic class libraries are an ISO standard that anyone can read through19:03
directhexmono packages have been available in ubuntu since forever. mono apps have been in the default ubuntu install for about five years - tomboy pretty much every time, and varyingly since then f-spot, gbrainy, and banshee.19:04
directhexthere are about 120 packages in ubuntu which use mono in one form or another - about 40-50 applications, written in c#, and the rest are usually libraries (or C-based libraries offering a Mono interface, such as libubuntuone)19:05
directhexi'm one of the mono packagers in debian, and i also carry some responsibility for it in ubuntu - we try as far as humanely possible to do mono-related work in debian, then let that work trickle down into ubuntu, minimizing duplicated wotk19:06
directhexi also wrote the first version of the banshee plugin to access the ubuntu one music store (this has since been adopted by canonical developers)19:06
directhexwhy mono? because c# is a very easy language to develop with, whilst still reasonably performant - and it's also pretty lightweight compared to some of the competition. this makes it well positioned to offer an alternative to C, Python, Java, etc19:07
directhexand you'd be hard pressed to tell the difference between a Mono app written in C#, and a Python or C app, if nobody told you - when an app uses the GTK# framework for designing a GUI, it feels entirely "native", despite the app technically being a .exe file19:08
directhexnote that mono (and .net) .exe files aren't windows (or wine) .exe files. microsoft just weren't bright enough to use a different file type when they wrote the standard. go figure.19:09
directhexhopefully people have already downloaded some or all of the example apps i mentioned on the UDW wiki - three apps you may or may not have heard off called docky, sparkleshare, and keepass219:09
directhexi think sparkleshare is in oneiric but not natty - don't worry about that one if you're not in oneiric19:10
directhexif you don't have them, remember you use "apt-get source packagename" to download and extract a source package to the current folder19:10
directhexand "apt-get build-dep packagename" to install the packages you need in order to compile that package19:11
directhexif you don't want to use a local install, let me grab a web link for the source packages19:11
directhexhttp://anonscm.debian.org/gitweb/?p=pkg-cli-apps/packages/sparkleshare.git;a=tree19:12
directhexhttp://anonscm.debian.org/gitweb/?p=pkg-cli-apps/packages/docky.git;a=tree19:12
directhexhttp://anonscm.debian.org/gitweb/?p=pkg-cli-apps/packages/keepass2.git;a=tree19:12
directhexthere's the browsable sources for the three packages we're using, if you prefer a web browser19:13
directhexso, let's start things off by looking at docky. docky is an app providing a macos-style dock, for launching applications. it's a c# app, which began life as part of the gnome-do launcher, before being spun off as an independent project19:14
directhexas with any package, the structure is the same. the upstream source tarball, with an added "debian/" folder containing all the packaging metadata. take a look in debian/19:14
directhexthere are all the simple basic files in here. "compat" specifies the compatibility version which the debhelper package should use for package building commands (we use debhelper 7 extensively in the mono team)19:15
directhexwatch is used for automatically scanning remote servers for package updates. the package maintainer gets an email when the watch file reports on new things. the "uscan" command uses the watch file - e.g. "uscan --report-status" tells me that "Newest version on remote site is 2.1.3, local version is 2.1.2"19:16
directhexso i guess i've got some work to do. or delegate to someone else, anyway.19:16
directhexcopyright is what it sounds like. the changelog is what it sounds like, requiring standard debian packaging format changelogs. the dch command lets you edit changelogs (e.g. dch -i adds a new changelog entry)19:17
directhexthe source/ folder contains a single file, format, which specifies the debian source format used by the package. we use "3.0 (quilt)" here, which automatically handles the content of the patches/ folder19:18
directhexand on a related note, patches/ contains changes to the upstream source which are required for the package to work (or make it work better). we have one minor fix, which ricotz probably rolled into 2.1.3, but we don't have her in 2.1.219:19
directhexthis leaves the two most important files in a debian source package: control and rules.19:19
directhexcontrol contains the package descriptions, including the dependencies and build-dependencies of the package. docky has quite a lot of build-dependeicies, as it uses a lot of gnome technologies.19:20
directhexif you look at the package dependencies section, around line 36, you'll see we only have on real dependency, on librsvg2-common19:21
directhexthe rest are "substvars", i.e. when the package is compiled, they will be filled in with real values19:21
directhexso ${cli:Depends} is filled in by the dh_clideps command, which is executed during package compilation19:22
directhexwhich brings me to the final file, rules. debian/rules is a Makefile, which is called by the build commands run on the build servers, in order to build a package19:23
directhexwe use the debhelper 7 format, which allows us to skip the "boring" parts of the file (these boring parts are automatically filled in by the "dh $@" lines at the bottom19:24
directhexwe only do three things here which are any different from a C or C++ app using normal ./confgure and make19:24
directhexfirst, we have a line "include /usr/share/cli-common/cli.make" - this tells debhelper to read in the file /usr/share/cli-common/cli.make, which tells it to make changes to the normal sequence of events, and insert some extra ones, such as dh_clideps which builds dependencies on Mono libraries19:25
directhexlook at /usr/share/perl5/Debian/Debhelper/Sequence/cli.pm to see how that happens19:26
directhexsecond, we override the "dh_auto_configure" command, and substitute our own version. our version adds an extra variable, redefining MCS. in this package, MCS is the C# compiler program's path. we override this, so we can easily change the c# compiler used (mono-csc is a symbolic link to the distro default compiler)19:27
directhexthat way, if ./configure is searching for "gmcs" or "csc", it accepts our new truth and uses mono-csc instead.19:28
directhexthird, we override dh_makeclilibs, the command which mono library packages use to say "i am a library, packages using me need to do XYZ", and tell it to exclude the usr/lib/docky folder. this is because docky isn't a library, and we don't want its own internal files being treated as distriwide libraries.19:29
directhexso, that's the whole package. if you run dpkg-buildpackage in there, it'll make a fresh .deb19:29
directhexif you have the sparkleshare source package, you'll see it looks exactly like docky - simple debhelper 7 format, using ${cli:Depends} for dependencies, etc. simple mono apps.19:30
directhexnow, the last example is a complicated example. keepass2.19:30
directhexthis is originally a Windows app - but its developers wrote it in such a way that it also works on Mac OS X and on Linux, via Mono. bug because it's a Windows app, its developers don't have linuxy things like ./confgure and make - instead, it uses Visual Studio.NET project files, and needs some manual cleaning up19:31
directhexif you look in the debian/patches folder for keepass2, you'll see a LOT of patches, doing various things - little tweaks here and there to make it behave better on Ubuntu19:32
directhexthe debian/rules file is also much more complicated, as many steps usually handled by an automake makefile are done manually - e.g. putting an executable in /usr/bin or icons in the right places19:33
directhexrather than "make", we use "xbuild", which is a command to compile Visual Studio.NET project and solution files19:33
directhexwe have a "install" file in debian/, which lists the files produced by the compilation, and where they should be installed to inside the package19:34
directhexsince there's no "make install" to do it for us, it's done semi-manually via these files19:35
directhexthe end result is a package whose contents are laid out in a "native" way - however, because keepass2 uses the System.Windows.Forms GUI toolkit rather than GTK#, it looks a bit pooey.19:36
directhexi guess that's the packaging walkthrough done. if you're in here, then you probably aren't ready to do a library package (those are more complicated to do)19:36
directhexand generally speaking, the right place to come and offer assistance is #debian-cli on OFTC, where we do packaging related discussion, including for ubuntu19:37
directhexnow i'm going to open up the Q&A. bear with me whilst i try and wrangle classbot19:37
ClassBotsera asked: Which version of Mono will be available in Oneiric?19:38
directhexOneiric will ship with Mono 2.10.1.19:38
directhexwe're also taking the opportunity to rebuild the entire world using the 4.0 class library (.NET 4.0), replacing the 2.0 class library (.NET 2.0 -> 3.5) that's served us for the last few years19:39
directhexwe always have only one "supported" runtime in releases, because otherwise the package dependency chain for high-level apps like banshee bloats up19:39
directhexonce the transition is over, only 4.0 libraries will be installed by default, not a mix of 2.0 and 4.0 - and older apps are simply rebuilt for 4.0 (we even have old 1.0 apps that we;ve been rebuilding as 2.0 for a while)19:40
directhex.net generally has major class library versions - they avoid changing (and breaking) it, unless there's a real breaking change. they've only broken it twice so far - 2.0 and 4.019:40
directhexmonodevelop will also default to 4.0 for new projects, in oneiric (barring an annoying bug i haven't found, which means the first time you run it, it defaults to 2.0). existing projects will cease to compile, unless you change the target framework version to 4.0, as the libraries you use like gtk# will also be 4.0-only19:41
directhexmonodevelop 2.6 beta 3 is already in oneiric19:41
directhexokay, next19:42
ClassBotdell asked: please can you give the package name. I did not find it in UDW page19:42
directhex"docky", "sparkleshare" and "keepass2". sparkleshare is oneiric-only, don't worry about it if you're not on oneiric (or debian, i guess). keepass2 is in natty-backports, if memory serves.19:43
ClassBotbullgard4 asked: The Ubuntu programm is called KeePassX. Why do you call it »keepass2«?19:43
=== yofel_ is now known as yofel
directhexKeePassX is a Qt (i think?) reimplementation of the original Keepass 1. Keepass 2 in Ubuntu is the "real" keepass2, as found on Windows, which is a .NET app. the packaging for this is done by jtaylor.19:44
directhexusers are free to use their preferred app - i believe keepass2 has more features than keepassx, but looks kinda bad due to being a SWF app19:44
ClassBotbullgard4 asked: What does mean the phrase »for the greater good« in the headline: "Packaging Mono for the greater good"?19:44
directhexthere are a few mono apps out there on the web, with home-grown packaging (i.e. which don't follow the packaging best practices from this talk). those packages tend to suffer somewhat as a result. the universe will be just that little bit better if more mono apps are packaged *well*19:45
ClassBotmatteonardi asked: do you know if MonoDevelop is "good enough" for auto-generating autotools setups for simple projects? (I'm developing a simple checkers game with mono.. and after taking a look at autotools, I'd rather avoid them if possible!)19:46
directhexhonestly, I don't know. i haven't used the autofoo integration much. from a packaging perspective, i know sources produced this way have some issues, which we need to patch in the packages.19:47
directhexgiven the maturity of xbuild, and that MD uses VS.NET project format as its own data format, i'd be inclined to use that - it also invites contributions from windows-based developers, since the same source can be compiled on windows easily, in vs.net or monodevelop or sharpdevelop, without needing cygwin or mingw19:48
directhexwhen i started using mono, we had neither autofoo integration nor xbuild. it was all manual. and all this was green fields ;)19:48
ClassBotbullgard4 asked: '/usr/local/src$ sudo apt-getsource keepassx; gpgv: Unterschrift kann nicht geprüft werden. Öffentlicher Schlüssel nicht gefunden.' Why can apt-get source not find the public key?19:48
directhex"apt-get source" uses your personal gpg keyring for verifying downloads. if you don't have the key in question in your personal keyring, then it'll throw an error. you can use "gpg --recv-key ABCDABCD" for the key id in question, to download & add it19:49
ClassBotbullgard4 asked: Why did you write the 1st version of the Banshee plugin to access the Ubuntu One music store in Mono and not in Python?19:50
directhexbecause banshee is a mono app - it made sense to make a mono app plugin in c#19:50
ClassBotThere are 10 minutes remaining in the current session.19:50
directhexas it happens, most of the heavy lifting in that plugin is done by libubuntuone, which is a C library - but it offers a C# binding (i might have done that too, i don't remember). the only parts written in c# are linking the gtk+ events into banshee, and handling the library adding for downloading tracks19:51
ClassBotcoalitians asked: I ram dpkg --build docky-2.1.2 but i get this error19:52
directhex<coalitians> dpkg-deb: error: failed to open package info file `docky-2.1.2/DEBIAN/control' for reading: No such file or directory19:52
directhextry dpkg-buildpackage. "dpkg --build" does something subtly different19:52
ClassBotsera asked: Are the difficulties in packaging Mono over? i.e. will we get Mono 2.12 in 12.04?19:53
directhexI can't make promises given 2.12 doesn't exist yet... i can say that uploads involving a transition (e.g. this 4.0 transition which is currently ongoing and about half complete) take MUCH longer than those without19:53
directhexmono's source package builds over a hundred binary packages - that's a lot of manual checking to do19:54
directhexthere's also the time taken to make mono build on multiple architectures, update our ports (e.g. kfreebsd-amd64 in debian), and so on. it takes time19:54
directhexwe have a new workflow which should allow for faster, more frequent uploads of new mono releases, but it's still largely dependent upon one person, who does this work in his spare time (and therefore it isn't reasonable to *demand* things from him).19:55
ClassBotThere are 5 minutes remaining in the current session.19:55
directhexin my experience, a visit to the team's donations page (http://wiki.debian.org/Teams/DebianMonoGroup/DonationRegistry) and a donation to Mirco Bauer are an excellent way to get updates to Mono itself. although i think 2.10.1 is pretty final for oneiric (no 2.10.2, not worth it at this point)19:56
ClassBotbullgard4 asked: What IRC channel do you frequent? I am asking for the case that I have additional questions after having studied in full your lession.19:56
directhex#debian-cli on irc.oftc.net is the best bet. that's where mono-related things happen.19:57
directhex!q19:57
directhexbah. anyway, no questions in the queue?19:57
directhex3 minutes remaining. ask anything19:57
ClassBotrww asked: What's your favorite colour?19:58
directhexbloo!19:58
ClassBotjohn_g asked: Maybe I missed this. What does cli mean in this context?19:58
directhexCommon Language Infrastructure. it's a term used in the .NET standards documentation, without the trademark associations of "microsoft .net"19:59
ClassBotgrungekid_ asked: What are the advantages of using mono over other languages such as python? Why do you choose to use it?19:59
directhexi personally deeply dislike python syntax - and c# tends to perform MUCH faster than python. it's good if you have a java background, syntacically20:00
directhexand i'm out of time. i'll finish questions in #ubuntu-classroom-chat20:00
directhexnext up is... barry i think?20:00
barrydirecthex: indeed!20:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Python packaging with dh7 and dh_python{2,3} - Instructors: barry
barrywe'll start in just a minute or two20:00
ClassBotLogs for this session will be available at http://irclogs.ubuntu.com/2011/07/11/%23ubuntu-classroom.html following the conclusion of the session.20:01
barryhello everyone and welcome to my session.  today we're going to talk about packaging python libraries using dh_python2 and dh_python320:06
barryplease feel free to ask questions at any time over in #ubuntu-classroom-chat20:06
barryso first some background:20:06
barrythere are two common legacy python helpers you'll find in various packages, python-central and python-support20:06
barrypython-central has been deprecated for a while, and python-support was just recently deprecated.20:07
barryof course, many packages have still not been converted, and we had a jam session a week or so back where folks from the community helped convert packages on the ubuntu cds.  if we have time and interest, i can talk more about those transitions20:08
barrytoday we have the new goodness for packaging python2 stuff: dh_python220:08
barrythe only helper for packaging python3 stuff is: dh_python320:09
barryusing dh_python2 can make most of your packaging work almost too trivial.  many many packages can have no more than a 3 line rules file20:10
barryprovided you already have a good setup.py20:10
ClassBotmhall119 asked: can you use dh_python2 for packaging on Lucid yet?20:10
barrymhall119: we are working on a back port of the full toolchain for lucid.  many people need this, so stay tuned!20:11
barrylet's look at a simple package to see what this would look like.  does everybody know how to use bzr to grab branches from launchpad?20:12
barryokay, here's the url to the basic, un-debian-packaged version: lp:~barry/+junk/stupid20:13
barrybzr branch lp:~barry/+junk/stupid20:13
barrynow, this is a very simple python package, but it does have one interesting thing: it has an extension module20:14
barryif you look in src, you'll see the C file containing the extension module20:14
barryif you look in stupid, you'll find the python code that wraps that20:14
barrynotice the unit tests :)20:14
barryyou can take a look at the setup.py to see it's a fairly typical thing20:15
barryit's got an ext_modules defined for the extension, a few other bits of metadata, and it identifies the header file20:15
barrynote too, the test_suite key which names the unit tests20:15
barryyou could install this into a virtualenv using either python2.6, 2.7, or 3.2 using the following commands:20:16
barry(this should work on natty)20:16
barryvirtualenv -p python2.720:16
barryoops20:17
barryvirtualenv -p python2.7 /tmp/2720:17
barrysource /tmp/27/bin/activate20:17
barrypython setup.py install20:17
barrypython -c 'import stupid; stupid.yes()'20:18
barrythat should print 'yes'20:18
barrythen run `deactivate` to get out of the virtualenv20:18
barryyou could substitute the following for the -p option python2.6 or python3.2 and that would give you a virtualenv with the appropriate python20:19
ClassBotNMinker asked: What is virtualenv? Is that a Virtual Environment?20:19
barryah.  virtualenv is a python tool for creating isolated development environments.  with a virtualenv, you can install stuff locally for testing without affecting your system python20:20
barryit's a *very* handy tool if you're working on python code20:20
barrysudo apt-get install python-virtualenv20:20
barryokay, so "stupid" is a simple python package with a good setup.py, and which is compatible with python 2.6, 2.7 and 3.220:21
barryhow do we turn that into a debian package?20:21
barryfirst we have to create the debian source package from the python package, then we can upload that source package to a ppa, or build it locally with pbuilder or sbuild20:22
barryi am kind of assuming folks know basic packaging stuff, like how to use pbuilder, debuild, and such..20:22
barryokay, so let's create the source package20:23
barryfirst, i'll introduce you to a very nice, new tool which can almost always get you started quickly.20:23
barryhttps://launchpad.net/pkgme20:24
barrypkgme is actually a packaging framework.  it's not tied specifically to python, although it is written in python, and supports packaging python things20:24
barryit knows about other languages and such, but for our purposes, it does a great job of creating the initial debian/ directory layout based on your setup.py20:25
barryi highly recommend grabbing the ppa, using these commands:20:25
barrysudo add-apt-repository ppa:pkgme-committers/dev20:25
barrysudo apt-get update20:25
barrysudo apt-get install pkgme20:25
barryonce it's installed, you just run this commands from the directory containing your setup.py20:26
barrypkgme20:26
barry:)20:26
barrythat's it20:26
barrynow, i've done this for you, so if you don't want to install the ppa20:26
barryyou can just do this:20:26
barrybzr branch lp:~barry/+junk/stupid.pkgme20:26
barrywhy don't you run pkgme locally, or grab the branch.  i'll give you a minute or so and then we'll look at the details20:27
barrypkgme knows about dh_python2 so it does the right thing20:27
barrynotice that you've now got a minimal debian/ directory.  yay!  you have a source branch20:28
barryor "packaging branch"20:28
barrytake a look at the debian/control file.  if you have any packaging experience, you'll see this one is bare minimum, but adequate to start with20:29
barrythe important things to note here are that it has a proper Build-Depends: line, and it's grabbed a few meta bits from the setup.py.  it's missing a description (that is because the setup.py doesn't have one, not because pkgme missed it), so you'd want to fill that out20:30
ClassBotNMinker asked: What's the difference using pkgme and dh_make to create the debian folder?20:30
barrypkgme is a framework where rules can be added for more specific knowledge of particular languages, classes of packages, etc.  you could use either tool, but i like where pkgme is going, and it has very good python rules20:31
barrynow, bring up debian/rules in your editor, because this is where the fun stuff happens20:31
barryyou can see, this is just a 3 line rules file essentially, and i'll step through what is happening20:32
barrythe first line isn't interesting, it's just standard debian packaging20:32
barryah, slight detour20:33
barryjykae: noticed that <Python.h> could not be found, and here's why20:33
barrypkgme actually didn't quite do the right thing with the Build-Depends line (yes, i will file a bug :)20:34
barryit added a dependency on python-all, but because stupid has an extension module, it needs to be compiled by the c compiler.  thus it needs the python-all-dev package, which includes python's own header files and such20:34
barryso you would need to change the Build-Depends line to be python-all-dev20:35
barryanyway, back to the rules file20:35
barrythe %: line is fairly standard stuff, and introduces the make target20:35
barryit basically matches anything20:35
barrythe really fun stuff is in the next line20:35
barrydh is the magical debhelper sequence, and it almost always does the right thing for python packages20:36
barry(the one exception is for python3 stuff, which we'll get to later.  you have to do some manual overrides for python3, but we're working on that)20:36
barrythe really important thing is the `--with-python2` option20:36
barrythat is what tells dh to use dh_python2 to build your package20:37
barryin our case, it's really the only thing you need to add20:37
barrywhat is `--buildsystem=python_distutils` then?20:37
barrywell, in this specific case, it's not required, but you will often want to add it20:37
barryby default dh will ignore the setup.py if there is a Makefile there20:37
barrystupid doesn't have a Makefile but many packages do, e.g. to add `make build` or `make test` targets for convenience20:38
barrythe --buildsystem=python_distutils tells dh to use the setup.py for various steps and ignore the Makefile20:38
barryanyway, that's really all you need!  you'll notice that pkgme adds other standard debian/ files such as changelog, compat, and copyright.  that's more packaging-fu than python-packaging-fu so i'll skip over that.  i.e. none of that pertains to python packaging specifically20:39
barryokay, so you should be able to take that pkgme branch, debuild -S and run pbuilder to give you a nice binary package for stupid20:40
barryi'll pause for a moment for questions20:40
barryokay then, moving on20:41
barryremember that stupid is compatible with python2 and python3, so how would we need to modify the debian/ directory so that both versions are installed?20:41
barrythe first thing to understand is that in debian and ubuntu, we have completely separate stacks for python2 and python320:41
barrythis means if you want a python3 version of a package, you need to install python3-foo20:42
barrya good example is python-apt and python3-apt20:42
ClassBotjohn_g asked: So what part of the work does setup.py do and what part do the dh_ things do?20:42
barrysetup.py does most of the work.  my recommendation is to use virtualenv and make sure your package builds, installs, and tests exactly as you want it in a python-only world (i.e. w/o debian/ubuntu getting involved)20:43
barryget a solid setup.py first, using the normal python development tools.  once you have that, your debian packaging job will be *much* easier20:43
barrydh_python2 does the bits to lay the package out properly within the debian file system, and to ensure that byte-compilation triggers are properly invoked when the package is installed on your system20:44
barry(the .pyc files are not included in the package)20:44
barryso, python320:44
barrybzr branch lp:~barry/+junk/stupid.py320:45
barrylet's first look at the debian/control file20:45
barryyou'll noticed i fixed the Build-Depends :)20:45
barrybut also notice that it b-d's on both python-all-dev (for python 2) and python3-all-dev (for python3)20:45
barrynotice too that i've added an X-Python-Version line and an X-Python3-Version line.  this is how you control which python versions out of all that might be installed on your system, are compatible with your package20:46
barrye.g. i've said that stupid is only compatible with python 3.2 and above, and python 2.6 and above20:46
barrynotice that i've also created two binary package stanzas, one for python-stupid and one for python3-stupid, as per the separate stack requirements20:47
barryif you pull up debian/rules you'll see the additions there20:47
barrywe're running short on time, so i'll run through this quickly ;)20:47
barryDH_VERBOSE=1 just tells dh to spew more detailed info on what it's doing.  this line is not required20:48
barrythe PYTHON2 and PYTHON3 lines use shell helper functions to determine which versions of python are actually installed.  we'll use these in the rules below20:48
barrynotice line 10, where all we've added was --with=python2,python320:49
barrythat invokes dh_python3 during that part of the build process20:49
barrynow look at lines 13-1720:49
barryi wanted to make sure that my package's tests are run during the build process, and the build should fail if the tests fail20:49
barryhowever, i need to make sure the tests are run for every version of python we're building for20:50
barrydh does not know how to do this (yet ;), so we have to add some manual rules to make this work20:50
barrythe test-python% lines just invoke the package's unittests with increased verbosity20:50
ClassBotThere are 10 minutes remaining in the current session.20:50
barrythe override_dh_auto_test bit is the really key for making this work, because here we're overriding dh's standard dh_auto_test call with our own.  because it depends on the test-python% target, all the tests will get invoked the way we want them to20:51
barrynow look at lines 20-eof20:51
barryone problem we have is that dh does not yet know how to properly install the python3 built parts, so we have to do this manually20:52
barrythus the override_dh_auto_install20:52
barrywe can just call dh_auto_install to do the right thing for python220:52
barrybut then we have to manually cycle through all python3 versions and do setup.py install with some magic arguments, in order to get the python3 parts properly installed20:53
barryfinally, if you look in debian/ directory, you'll see two .install files.  this is how you tell the packaging toolchain which files to install for which of the multiple binary packages are getting built20:53
barrylook at the contents of each, and you'll see how we separate the python2 and python3 stacks20:53
barryokay, i'm sorry but we've nearly run out of time.  i wish i could have covered more, but hopefully this was helpful20:54
barrydoes anybody have any questions?20:54
barryplease feel free to use these three branch for cargo culting :)  i'll leave them alone and update them as the tools improve.  stupid.py3 should build fine on natty20:55
ClassBotNMinker asked: how do I convert to dh_python2? Or has that been covered?20:55
barryhttp://wiki.debian.org/Python/TransitionToDHPython220:55
ClassBotThere are 5 minutes remaining in the current session.20:55
barryNMinker: i've done many conversions with these instructions.  please join us on #ubuntu-pyjam for any questions after this session ends20:56
barryquestions or help20:56
barryalso, if you want to contribute to ubuntu, i can provide some packages that still need converting.  we want to remove python-central and python-support from the oneiric cds, so this is a good way to gain some packaging cred20:57
barrymicahg points out also this for the larger transition effort: http://people.canonical.com/~ubuntu-archive/transitions/dh-python2.html20:58
ClassBotCuzzie asked: If we want to package up the python application we wrote, we need to write all the rules, compat, control files ourselves?20:59
barryCuzzie: read the scrollback for the pkgme tool, or look into dh_make20:59
barrypkgme is an excellent tool that will get you started21:00
barryand with that, i think my session is done.  i will hang around and answer more questions in #ubuntu-classroom-chat21:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat ||
munzxguys i am not familiar with irc so how can i check the log (in order to view the today classes)?21:19
munzxi mean today!21:20
rsajdokmunzx: http://irclogs.ubuntu.com/2011/07/11/%23ubuntu-classroom.html21:20
munzxthank rsajdok21:20
munzx:)21:20
rsajdokmunzx: no problem :)21:20
munzxnote : it will be much better if you prohibit chats in this room and make another one for that... i had to read a punch of friendly conversation before i got to the main topics!21:26
pleia2munzx: the chat channel is #ubuntu-classroom-chat21:28
pleia2we keep this one unmoderated during off-times so folks can ask questions21:28
pleia2and the logs are in UTC, so if you know which session you want to view, you can just scroll down in the logs to the appropriate timestamp :)21:29
=== vincent is now known as Guest88465
indiasuny000G22:58

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