=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Current Session: Bugs Q&A - Hggdh - Instructor: || Questions in #ubuntu-classroom-chat
hggdhOK, folks, sorry for the delay00:10
hggdhI will answer questions you may have about bugs -- mostly bug triaging, so please do ask them00:11
hggdhBTW, thanks go to pleia2 for tracking me down ;-)00:11
hggdhI do really welcome questions, so please *do* ask them.00:14
hggdhthe channel is open -- I asked the mods to open it so that you all would be able to ask them questions00:14
pleia2hggdh: if I had some free time and wanted to get involved, where would I start?00:16
hggdhthe best would be to join us on #ubuntu-bugs. It is very easy to help, and we do not require much:00:17
hggdh(1) interest in helping00:17
hggdh(2) interest in *learning* -- you do not need to know all about a programme/package to help, you can learn on the fly00:17
=== kermiac_ is now known as kermiac
hggdh(3) very important is respect -- treat the people that open the bugs nicely. This does wonders to help *us*00:18
hggdhfinally, reading http://wiki.ubuntu.com/HelpingWithBugs will allow you to find the way00:19
hggdhsome people worry about how much time they will spend on triaging. There is *no* requirement. If one in every 1,000 Ubuntu users look at ONE bug00:20
hggdhper day... we will be sooo happy...00:20
Pendulumhggdh: just want to let you know that you are not forgotten, I'm just reading your link before I figure out if I have any questions :)00:29
* hggdh waits...00:29
hggdhno hurry, no hurry ;-)00:30
Pendulumokay, I have a question!00:34
PendulumI'm looking at the How to Triage page00:35
Pendulumand it's talking about starting with simple untriaged bugs. is that something that's going to be readily apparent (which are relatively simple bugs to start with) or more something that will require a bit more mentoring from someone on the bug squad?00:35
hggdhit is usually better for one to start by, er, browsing the NEW/INCOMPLETE bugs, looking for something understandable00:36
hggdhwhich is to say, something that the new triager can follow. Usually this is on a programme that is used by the triager00:37
hggdhthere is no requirement -- in fact, I would rather suggest *not* to do -- to get the first bug and try to find out what it is about00:38
hggdhso: browse. Find something you can understand, or follow. Go from there -- and always, *ALWAYS* remember we are at #ubuntu-bugs to help you00:39
hggdhwe don't bite. We don't yell. We *do* help :-)00:39
pleia2from the perspective of a package maintainer, would it be appropriate to ask the bugs team to help out on some bugs?00:40
hggdhyes, it would. This is usually done via the Bug Days, when a specific package is looked at.00:40
pleia2great :)00:41
hggdhAlthough I do not know how it went, just today a maintainer asked for a Bug Day for gnome-power-manager, for example00:41
hggdhof course, every day is a bug day for us...00:41
pleia2so is it typically maintainers who propose a day for their package?00:42
hggdhI would say half the times. We also propose them ourselves, based on some simple metrics00:42
pleia2so something like "wow, this important package has tons of bugs, let's work on it!"00:43
hggdhlike "it looks like we need to pay attention on package X"00:43
* pleia2 nods00:43
hggdhyes. Maybe because one of us also uses this package, and there are bugs bothering... (we are humans, after all)00:43
hggdhby the way, sometimes we are asked something like "I know C (or Haskell, or whatever). How can I help triage bugs?"00:46
hggdh*before* I can code a fix, I first have to understand what *is* the problem.00:47
hggdhIt does not necessarily follow that all bugs are code issues, nor that all bugs need a developer-type person to fix it00:48
hggdhand this is perhaps very important: we have to be able to differentiate between cause and consequence00:48
hggdhfor example, (a bit technical) a SEGV is usually a *consequence* of a bad memory usage00:49
hggdhfor one to fix it, one has to find the real cause (following the -- bad -- example, where the memory was incorrectly overlaied/freed/whatever)00:50
hggdhin triaging, we are trying to identify the *causes*00:50
hggdhso we have to parse the reporter's language, looking for the real issue00:51
hggdhalso -- sometimes we get a bug in a different language. The official language for bugs is English, BTW.00:53
FreeFall_Is there som kind of list when these Bug Days are?00:53
hggdhBug Days usually happen every Thursday, and are announced on a series on mailing lists. Usually we do not project more than 2 weeks in the future00:55
hggdhand Thursday, I mean *your* Thurday, from 00:01 to 23:59. Anywhere is the world.00:55
Pendulum< Acar> Question: what will we need to report a bug?00:56
=== valadao_ is now known as valadao
hggdhtry to clearly explain your issue; always mention the Ubuntu version; if it is in a programme, you usually can click on Help/Report a Bug00:57
hggdhand -- please -- wait.00:57
hggdhWe are few, doing triage, and there are a lot of bugs to be looked at.00:58
hggdhOr, better, come in and help us with the backlog ;-)00:58
hggdhthere is an important difference between bugs and support00:59
hggdhwe accept package/programme bugs -- i.e., the documentation is wrong, the results are wrong, it suddenly crashes00:59
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi
hggdhwe do not accept support requests -- e.g. "how do I connect to my internet provider"?01:00
pleia2thanks hggdh!01:02
Pendulumthank you hggdh!01:03
=== nha is now known as Guest63724
=== nhatk is now known as nhatk_
=== nhatk_ is now known as nhatk
prakash_irchi there.. i just read that there was some session about python on this channel couple of days back..05:26
prakash_ircAs i missed it, i would like to know if i can get any notes or video or audio of that session.05:26
prakash_ircAnybody knows about any site where i can find it?05:26
lvfadeaway_Im ready to learn! Somebody teach me something05:45
ddecatorlvfadeaway_, https://wiki.ubuntu.com/Classroom#Schedule05:48
lvfadeaway_i saw that schedule but that all looks pretty advanced. Where is the beginner course?06:01
kermiaclvfadeaway_: https://wiki.ubuntu.com/UbuntuOpportunisticDeveloperWeek/IntroToPythonForTotalBeginners06:01
kermiaclvfadeaway_: also http://irclogs.ubuntu.com/2010/02/25/%23ubuntu-classroom.html06:03
enli1The google calender schedule timing at http://is.gd/8rtIi is my local time or GMT?06:19
enli1nvm its UTC06:20
=== leoquant is now known as soonerorlater
=== kermiac is now known as kermiac_
=== soonerorlater is now known as leoquant
=== kermiac_ is now known as kermiac
=== kermiac is now known as kermiac_
=== ubuntu is now known as rafael_carreras
enthdegree 16:54
shadeslayermanuelciosici: yes!16:56
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Current Session: How to effectively use a PPA and providing updated packages - Instructors: rowinggolfer, shadeslayer || Questions in #ubuntu-classroom-chat
* shadeslayer gets notes in order17:01
shadeslayerapparently rowingolfer couldnt make it17:01
shadeslayer* Hi there , first of all thank you for attending this session and welcome to #ubuntu-classroom,lets see how many people we have here.Raise your hands and say hi! in #ubuntu-classroom-chat :D17:01
shadeslayerAh nice we have a good turn out!17:02
shadeslayer* Ok,first a bit of intro about my self, Im Rohan Garg aka shadeslayer on the irc,im a 19 years old and live in Gurgaon,India.You can find out all about me at : www.identi.ca/shadeslayer and www.launchpad.net/~rohangarg17:03
shadeslayerok before we begin i want all of you to register on launchpad and start making PGP keys17:05
shadeslayerok heres the link : https://wiki.ubuntu.com/GPGKey17:07
shadeslayerplease follow the instructions there,upload your PGP keys to the ubuntu key server and sign the Ubuntu Code of conduct17:07
shadeslayerIf you have any problems please say so in #ubuntu-classroom-chat17:09
shadeslayerOk here we go!17:09
shadeslayer* So what are PPA's basically?17:10
shadeslayer* PPA's are Personal Package Archives,which means you can upload all sorts of apps and launchpad builds the binaries for you!17:10
shadeslayer* You can accomplish that via pbuilder too ( more on that at the end of the class ),but LP ( launchpad ) goes a step further and gives you your own repository ( repo ),limited to 1GB,to publish your own packages!17:11
shadeslayerI really hope you guys have started on GPG keys ;)17:12
shadeslayer!binary | abhi_nav17:13
=== stereo_ is now known as stereo1_
shadeslayerabhi_nav: Apps are written in C++,Java ,etc, we need to convert them to binaries to run them as Computers just understand 0's and 1's17:14
shadeslayerabhi_nav: The code is basically characters which have to be converted to 0's and 1's17:15
ClassBotabhi_nav asked: what is the difference between apps and binaries? what the binary is actually?17:15
shadeslayerok thats done :)17:15
ClassBotabhi_nav asked: one which is published on lp is my public key. but where is my private kay? how to find it?17:16
shadeslayerabhi_nav: you can list your keys with :  gpg --list-secret-keys17:16
shadeslayer* I think thats pretty amazing,dont you?17:17
shadeslayer* So just highlighting some of the amazing repos we have on LP are :17:18
shadeslayer    * Mozilla's Daily PPA : https://launchpad.net/~ubuntu-mozilla-daily/+archive/ppa17:18
shadeslayer    * Chromium Daily PPA : https://launchpad.net/~chromium-daily/+archive/ppa17:18
shadeslayer    * Kubuntu Backports PPA : https://launchpad.net/~kubuntu-ppa/+archive/backports17:18
shadeslayer    * Kubuntu Beta Backports PPA : https://launchpad.net/~kubuntu-ppa/+archive/beta17:18
ClassBotabhi_nav asked: does this same as that of convertin a c program to hex when writing to ic?17:19
shadeslayerabhi_nav: yes!17:19
shadeslayerabhi_nav: its basicall Machine code..17:19
ClassBotben72 asked: what are ppa:s usually used for? bugfixes I've seen but what else? are the Ubuntu maintainers of every package using their own personal ppa:s for the packets they maintain?17:20
shadeslayerben72: anything and everything,they can hold packages of the latest KDE versions,apps that are frequently used by the community,apps you have helped developed and want to provide to the ubuntu community17:21
shadeslayer* All of us use these repos on a day to day basis and over this session ill be teaching you how to use PPA's to provide users with more up to date packages17:22
shadeslayer* What i will NOT be covering are libraries and new packages,those are much more complex and have to be taken up at a later stage.17:23
shadeslayerAs i have learnt over the past few weeks... very painfully :P17:23
ClassBotenthdegree asked: Can't PPAs be used for the spread of malicios packages?17:23
shadeslayerenthdegree: of course! As you will learn,your PPA page contains a explicit warning about this issue17:24
shadeslayer* So lets get started with the actual building of a package!17:24
shadeslayer* Oh and if you have a question just shout QUESTION : <Type your question here> : in #ubuntu-classroom-chat ;)17:25
shadeslayer* So first of all to upload to a PPA you need a LP account,make one quickly at : https://launchpad.net/+login17:25
=== yofel_ is now known as yofel
shadeslayerIll wait for a few mins before continuing :)17:26
shadeslayerok cool17:28
shadeslayer* So after you do that you need to sign the ubuntu COC,which is needed to enable PPA's,in order to sign the COC you need to have a gpg key,you can read about making a gpg key here : https://help.ubuntu.com/community/GnuPrivacyGuardHowto : now upload your keys to the ubuntu key server : gpg --send-keys --keyserver keyserver.ubuntu.com <KEY-ID> : and download the coc and sign it and then upload it back ;)17:28
shadeslayerThe signing part is achieved by : gpg --sign ubuntucoc17:29
shadeslayerwhere ubuntucoc is the Ubuntu Code of Conduct you downloaded17:29
shadeslayerYou should be able to download the COC from your launchpad profile page17:30
shadeslayerA ssh key is not needed as LP operates on FTP17:32
shadeslayerOK it might take a while for the keyserver to accept your key17:34
shadeslayer* Now install ubuntu-dev-tools with : sudo apt-get install ubuntu-dev-tools17:34
shadeslayerThese are needed for packaging your source and uploading them17:35
shadeslayerHeres a better description : https://wiki.ubuntu.com/UbuntuDevTools17:35
ClassBotabhi_nav asked: How to know is that ubuntu-dev tools are already installed?17:35
shadeslayerabhi_nav: well if apt-get install will print out some thing like : ubuntu-dev-tools already instaled17:36
shadeslayerOk has everyone installed ubuntu-dev-tools ?17:38
shadeslayerShould i continue?17:41
shadeslayer* Ok now we need to authorize ubuntu-dev-tools to LP, open a terminal and type : manage-credentials create -c CONSUMER --level 2 : where CONSUMER is your LP id.17:43
shadeslayerfor eg : * Ok now we need to authorize ubuntu-dev-tools to LP, open a terminal and type : manage-credentials create -c rohangarg --level 2 : where CONSUMER is your LP id.17:44
shadeslayeruse the read ALl non private data option17:45
ClassBotben72 asked: level of access? should I choose "Change anything" on the webpage?17:46
shadeslayerben72: see my last line17:46
shadeslayerDont forget to press Enter in the terminal after youre done17:48
shadeslayer* Now type : manage-credentials create -c ubuntu-dev-tools -l 217:49
shadeslayer* That gives access to ubuntu-dev-tools to LP.17:49
shadeslayer* Again we will only give access to read non-private data17:49
shadeslayer* Now back to your home page.17:49
shadeslayer* Now click Create New PPA17:51
shadeslayer* Give the PPA a name and description!17:51
shadeslayerYou should be able to do this only if your gpg key was accepted17:52
shadeslayerand the COC was accepted17:52
shadeslayerCAUTION : You cannot change your LP url after publishing packages to your LP17:53
shadeslayerfor eg: my LP url was : www.launchpad.net/~rohan16garg and i got it changed to www.launchpad.net/~rohangarg17:54
shadeslayerAnyone having problems?17:54
shadeslayerok Continuing17:55
shadeslayer* Now onto the exciting part,for my demo here ill be using a fairly simple package to build,something we all use everyday,usually everybody gives a presentation with deb helper,but i just thing thats a bit old school17:55
shadeslayer  So im going to package choqok a kde microbloging client17:55
ClassBotabhi_nav asked: I have gnome. so will thim e.g. kde package work for me?17:56
shadeslayerabhi_nav: yes!17:56
shadeslayerabhi_nav: you will not be building the package locally but LP will build it for you!17:57
shadeslayerSpeeding things up a bit17:57
shadeslayer* Now choqok is already in the repos so open a terminal and make a new directory in your home like this : mkdir my_dir_name : ill be using packaging as the dir name.17:57
shadeslayer* Now the official repositories dont always have the latest builds of packages and features users want are in SVN/GIT repositories and they generally dont want to compile from sources,so theyre in a fix.17:57
shadeslayer* The best workaround for K/X/Ubuntu users are PPA's which host loads of packages.17:57
shadeslayer* So lets get cracking on ours ;)17:58
shadeslayerShould i continue?17:59
shadeslayer* First of all we need to tell dput which uploads our packages where they are supposed to go,configure yours by reading this : https://help.launchpad.net/Packaging/PPA/Uploading : and as a example here's my .dput.cf : http://paste.ubuntu.com/385120/17:59
shadeslayer* So all done?18:00
shadeslayer* Ok,now you need to enable source repositories in you apt sources,just do this via synaptic or kpackagekit and tick the checkbox : [ ] Sources : You will need to reload your sources.list after this18:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Current Session: How to effectively use a PPA and providing updated packages - Instructors: rowinggolfer, shadeslayer || Questions in #ubuntu-classroom-chat
shadeslayerok were back ;)18:01
shadeslayernow i have only 40 mins left18:01
shadeslayerso ill speed it up18:01
shadeslayer* Now we need to export some options to our .bashrc,so open a terminal and type : nano .bashrc18:02
shadeslayer* Now add these lines to the end : export DEBFULLNAME='Your_name_here' and export DEBEMAIL='your_email_id_here'18:02
shadeslayer* Save the file using Ctrl+O and hit Ctrl+X and then y to exit18:02
shadeslayer* Now we need to load the options we specified using : source .bashrc18:02
shadeslayerheres a example : http://paste.ubuntu.com/385199/18:03
shadeslayerNOTE : you need just the debmail and debname18:03
shadeslayer* Save the file using Ctrl+O and hit Ctrl+X and then y to exit18:04
shadeslayer* Now we need to load the options we specified using : source .bashrc18:04
shadeslayer* Now cd to the packaging folder with : cd packaging18:04
shadeslayer* Now since were working on choqok we need its debian/ folder for packaging,so do : apt-get source choqok18:04
shadeslayer* This downloads the orginal tarball and the choqok folder with the deian/ folder in it18:04
shadeslayerIll have to continue18:10
shadeslayer* Now open a file manager and go to ~/packaging/18:11
shadeslayer* Now enter the choqok folder there and copy the debian directory to ~/packaging18:11
shadeslayer* Now you can remove the choqok folder and all the other files in ~/packaging excpet the debian/ folder18:11
shadeslayer* Now Download the choqok sources from here : http://choqok.gnufolks.org/download/ to ~/packaging18:11
shadeslayerMake some noise in chat! :P18:14
shadeslayerOk im continuing18:14
shadeslayer* Untar the tarball by using : tar xvfz filename.tar.gz18:15
shadeslayer* Now rename the tarball to choqok_0.9.4.orig.tar.gz18:15
shadeslayer* Ubuntu packaging versions follow this criteria : packagename_version.orig.tar.gz18:15
shadeslayer* For GIT/SVN packages we use : packagename_version+gitdate.orig.tar.gz like : choqok_0.9.4+svn20100227.orig.tar.gz18:15
shadeslayer* Now change the name of the untarred folder to choqok-0.9.418:15
shadeslayer* Again folders follow : packagename-version+svndate18:15
shadeslayer* The svndate part is optional,its used only if we are packaging svn checkouts or git clones18:15
shadeslayerIn packaging names are the most important part!18:21
shadeslayerMake sure you get these absolutely correct18:22
shadeslayer* Now in the terminal cd to the choqok folder : cd ~/packaging/choqok-0.9.418:22
shadeslayer* Now Since were building this for lucid initially and then backporting it to karmic,the first entry in debian/changelog should be a lucid entry18:22
shadeslayer* So run : dch -D lucid -v 0.9.4-0ubuntu1~ppa118:22
shadeslayer* What that command does is make the entry in debian/changelog and opens a debian/changelog in nano,with a * bullet for a description18:22
shadeslayer* These * represent any stuff you changed in the debian/ folder18:22
shadeslayer* Since this a new upstream release we write : * New Upstream Release18:22
shadeslayer* Close the editor with Ctrl+X18:22
shadeslayerThe session is a bit slow so im just going on ;)18:25
shadeslayer* Now open the contro file with : nano debian/control18:25
shadeslayer* The control file lists the build deps of choqok,and other important info we need to build binaries18:25
shadeslayer* Now the latest Standards-Version is 3.8.4 not 3.8.1 so first of all we check if its compliant (it is) and we change it to 3.8.418:25
shadeslayer* Next thing we change is the Home page url,it should read : http://choqok.gnufolks.org , so we change that18:25
shadeslayer* Everything else is fine as is18:25
shadeslayerben72: yes,thats perfectly fine18:27
ClassBotben72 asked: I get a warning for lucid I guess. is that ok?18:31
ClassBotben72 asked: what is the Standards-Version btw?18:31
shadeslayerben72: http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Standards-Version18:31
shadeslayer* Now we need to document what we changed, so do : dch -a in the choqok-0.9.4 folder18:32
shadeslayer* This command opens up debian/changelog with another bullet, Type : Changed Homepage url to http://choqok.gnufolks.org after the bullet18:32
shadeslayer* Close nano with ctrl+X and type dch -a again18:32
shadeslayer* This will put another bullet in debian/changelog, after the Bullet type : Bumped standards version to 3.8.418:32
shadeslayer* And were almost done!18:32
shadeslayerI use dch -a to just to put the bullets,you can just use nano debian/changelog to do it,but dch -a always does it correctly with equally spaced bullets18:33
shadeslayer* Any Questions uptill now?18:34
shadeslayer* OK good!18:35
shadeslayer* Now in the choqok-0.9.4 folder run this : debuild -S -sa18:35
shadeslayer* What this command does is that it makes 3 files : choqok_0.9.4-0ubuntu1~ppa1.diff.gz , choqok_0.9.4+svn20100223-0ubuntu1~ppa1.dsc , and choqok_0.9.4+svn20100223-0ubuntu1~ppa1_source.changes in the packaging directory18:35
shadeslayer* Now cd to the packaging directory18:35
shadeslayer* Now were going to upload the choqok_0.9.4+svn20100223-0ubuntu1~ppa1_source.changes which contains all the info about the changes we made18:35
shadeslayer* So we use : dput ppaname choqok_0.9.4+svn20100223-0ubuntu1~ppa1_source.changes , where ppaname is the name of the ppa you configured in dput.cf18:35
shadeslayer* Thats it! Now your upload is in the LP build queue waiting to be built!18:35
shadeslayerOh be sure to install cdbs and debhelper!18:40
shadeslayerI think i forgot to mention that you need to move the debian folder into the choqok folder18:42
shadeslayer[ Extra Hacks! ]18:50
shadeslayer* Now if your impatient like me,you can build your package in a few mins instead of waiting for LP builders to do their job.18:50
shadeslayer* Install pbuilder using : sudo apt-get install pbuilder18:50
shadeslayer* Creat a pbuilderrc  like this one : http://paste.ubuntu.com/385143/ : change the distro and the mirror to a local mirror to create the chroot quickly18:50
shadeslayer* Ok,now cd to ~/packaging and type : sudo pbuilder build choqok_0.9.4+svn20100223-0ubuntu1~ppa1.dsc18:50
shadeslayer* This builds your package in a clean chroot,you can even use this to find out if youve missed out on Build deps for new packages ;)18:50
shadeslayer[ New Packages ]18:50
shadeslayer* New packages are a bit hard to package,since they have no debian/ dirs in them,you have to use dh_make -e <your_email_id_here> to create the debian/ folder and the stuff that goes inside it18:50
shadeslayer* For eg i packaged a brand new KDE app recorditnow in my PPA,and found that it required a unpackaged lib : libjoschy : for creating the package18:50
shadeslayer* So i had to first package the joschy libs and then recorditnow,and this took me a entire 3 days to figure out ;)18:50
shadeslayer* What i would suggest is package stuff already in the repos and then switch to new stuff!18:51
shadeslayerSo  that wraps it up folks!18:57
shadeslayerI had a wonderful time18:57
shadeslayerIll be answering questions in chat18:58
shadeslayerAlso i forgot to mention that you also need pkg-kde-tools,so im sorry18:58
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi
shadeslayerback to normal19:00

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