/srv/irclogs.ubuntu.com/2009/05/21/#ubuntu-classroom.txt

=== ejat is now known as e-jat
=== nick is now known as Guest46725
=== Guest46725 is now known as ziroday
=== MaWaLe1 is now known as MaWaLe
=== MaWaLe1 is now known as MaWaLe
=== Rafik_ is now known as Rafik
mok0We'll wait just a couple of minutes to allow people to show up...18:59
mok0Hi! Welcome to the class! Can we have a count of hands, please?19:02
* asomething raises hand19:02
* Rail waves19:02
* weboide says 'me!'19:02
mok0This class is going to be about packaging and reviewing packages on the REVU site.19:03
mok0We will look at some uploads at the REVU site, developed and maintained by MOTUs... you are probably all familiar with it... http://revu.ubuntuwire.org/19:03
mok0Reviewing other peoples packages is a great way to learn. First of all, you can learn new tricks and see how others solve problems. But you can also learn from mistakes, and via looking at many packages will familiarize you with the Ubuntu Policy Manual http://people.ubuntu.com/~cjwatson/ubuntu-policy/policy.html/ which of course is the packager's bible :-)19:04
mok0That is a modified version of the Debian Policy Manual found here: http://www.debian.org/doc/debian-policy/19:05
mok0Another good place to get information is the MOTU packaging guide: https://wiki.ubuntu.com/PackagingGuide19:05
mok0Any questions at this point?19:05
mok0OK let's get started. Let's go to REVU and select some package to look at. REVU allows everyone to leave comments, but you need to lock in with your Launchpad ID using the OpenID system.19:06
mok0Does everyone have a Launchpad ID? (Just checking :-))19:06
* Rail has19:06
* weboide also19:07
mok0Cool. I thought we would combine this tutorial with the useful and let uploaders benefit by getting their packages reviewed. Therefore, we will leave our comments once we have reviewed the package(s).19:07
mok0Any suggestions for packages to look at? Perferably some that haven't been reviewed before19:08
mok0How about "gammapage"19:09
mok0The first thing I generally do before spending time on a package, is to check if it's already been uploaded to Debian, or if there's been an ITP bug filed. That indicates that someone else might be working on the package, in which case there might be a conflict of interest and/or a duplicate effort == waste of someones time.19:09
asomethingsure19:09
mok0So let's look for gammapage here: http://ftp-master.debian.org/new.html and http://www.de.debian.org/devel/wnpp/being_packaged and just do a search for the package name in the browser.19:09
mok0What's the verdict?19:10
weboidenot in debian ;)19:10
mok0Right19:10
mok0The next thing I do is to du a cursory check if this software can be distributed at all. Otherwise, there's no need spending time on it. We absolutely need a file -- normally called COPYING -- that grants Ubuntu permission to distribute the software. So let's browse down REVU's html pages into the directory and see if this permission is present.19:11
mok0(Select the LATEST upload of gammapage)19:11
mok0This one looks ok!19:12
weboideQuestion: Do every src files need a license header also? What if they don't?19:12
mok0Answer: Ideally, yes.19:13
mok0It's something that the packager might negotiate with upstream about19:14
mok0The argument is, if someone lifts a file and uses it in another project, it will not contain information of where it came from, who wrote it and what the copyright is19:14
mok0OK, let's move on19:14
mok0My next step is generally to download the package. I find the link to the relevant .dsc file, right click -> copy the link. Then I move into a terminal, and type "dget -ux " + right-click -> paste.19:14
mok0I usually do this in /tmp :-)19:15
mok0A bit about what has been downloaded to your machine: A source package is mainly composed of the pristine tarball and a diff.gz file containing the work of the packager. While it is possible for the diff.gz file to patch everything in the source tree, the current paradigm is that nothing outside the debian/ directory must be touched.19:16
mok0So, now let's check to see that nothing else is in the .diff.gz file:19:17
mok0lsdiff -z <package>.diff.gz19:17
mok0Is everyone with me at this point?19:17
* Rail is19:18
* weboide is too19:18
* tuantub :D19:18
mok0What's the situation with gammapage_0.5.1-0ubuntu1.diff.gz ?19:18
asomethinglooks like there are some direct changes to the source in the diff.gz19:18
mok0It does indeed19:18
weboidediffstat says 1418 insertions into gammapage file. Big change.19:21
mok0Can you see what's going on?19:21
mok0Exactly. Looks like the file gammapage is not in the tarball19:21
Railactually the file was renamed19:22
weboideyeah, filename is gammapage-0.5.1/GAMMApage19:22
Railmv GAMMApage gammapage19:22
mok0Well copied19:22
mok0Do we like this way of doing things?19:23
Railsymlink would be better at least19:23
loic-mnope, better patch in debian/19:23
mok0loic-m: yes19:23
asomethingit would be better to do it in debian/rules i'd think, no patch needed19:23
mok0And the question is if the app should be renamed at all19:24
loic-mindeed, we'd get a different command than other distros19:24
mok0There's not anything in policy saying that we can't have caps in application names19:24
tuantubwhat is when we use dpatch insteed ?19:25
mok0So this is something we need to tell the uploader.19:25
mok0tuantub: Hm, it's not worth adding a patch system to do something as simple as that.19:25
mok0If we _must_ rename it, better do it in debian/rules19:26
mok0But I would choose to let upstream decide how the name of the app should be spelled19:26
mok0Now we can focus attention on the files debian/ -- we won't allow anything else to be modified by the packager in a new package.19:27
mok0setup.py is a special case perhaps :-)19:27
tuantubmok0: so far i know, we'd better use dpatch than touching the source :-/19:27
mok0tuantub: that's true, but sometimes it's a pain to patch files used by the build19:28
tuantubmok0: i think we can tell the rules to patch before building ?19:29
mok0tuantub: we can19:29
asomethingthe diff in setup.py is only about the renaming. if they drop the rename, they don't need it19:29
mok0asomething: right19:30
mok0So that problem goes away19:30
* tuantub :)19:30
Railmoving the file after "python setup.py install..." is the solution19:30
mok0Rail: yes19:30
mok0Rail: But I think it is wrong to rename the app, actually. As loic-m said, the app might have the original name in other distros19:31
mok0I generally write my review in a local file and paste it into the browser later. I have one-too-many times experienced that the browser quits on me... and a lengthy review has been lost!19:31
mok0Do we have a volunteer to write down the review, and post it later?19:31
Railok, if you want to rename it, moving is better than patch19:32
mok0Rail: yes19:32
tuantubQuestion: must we build the packages on the newest release of ubuntu ?19:32
* asomething will post the review19:32
mok0asomething, thanks.19:32
mok0tuantub: Generally, yes19:33
mok0tuantub: but if you don't have a karmic builder, never mind for now19:33
mok0Next we do a cursory check of the files in debian/. We need at least five files to be present there: control, changelog, copyright, config and rules. Otherwise, the package won't build!19:33
mok0The the de-facto requirement is to have a debian/watch file also. I require it when advocating :-) ... the exception being when upstream's sources are only available from a VCS.19:33
Railhmm, lintian file is 0 bytes, but I can see at least one warning regarding standards-version...19:35
asomethingon debian.mentors most sponsors require an empty watch file commenting why one can't be used19:35
Rail/see/predict/19:35
mok0Right. The current version is 3.8.119:35
tuantubmok0: debian/config ?19:35
asomethingRail: I find running "lintian -iI --pedantic" more useful19:36
mok0tuantub: it's set to 5, which is ok IMO... if you don't require anything from the later versions of debhelper19:36
tuantubmok0: did you mean compat ?19:36
mok0tuantub: yes, sorry19:37
tuantubmok0: ;)19:37
Railasomething: a'm talking about the lintian output on the revu site19:37
loic-mRail: package was uploaded when version vas still 3.8.0, no?19:38
loic-ms/vas/was/19:38
Railah, yes19:38
asomethingRail: REVU probably only runs it at the up load time19:38
mok0loic-m: yes, but it needs to be updated for karmic now19:38
mok0Running lintian with the -I switch gives some points to discus19:39
mok0s19:39
mok0Generally, for packages in REVU, I like them to be completely clean19:40
loic-mmol0: OTOH, I'm not sure it's so great when contibutors who didn't get any review in 6 month (or more) get a sudden review with only "You should target karmic" (when the upload was good at the time)19:40
asomethingBuild-Depends-Indep should be used19:40
mok0loic-m: no :-)19:41
loic-m(sorry, I've got gloves today ;) )19:41
mok0loic-m: but it should be on the list of things to do19:41
mok0The lintian report sometimes gives a convenient outset for some comments in the review. But copy-pasting the lintian report is not a good idea. When reviewing, your role is that of a teacher and mentor. You need to communicate the problems in a clear way, and perhaps give hints at solutions. You must be helpful and friendly in your comments, but don't take over the packaging! The uploader must do the work.19:41
asomethingloic-m: sure if that's the only comment19:41
mok0What about debian/rules?19:42
loic-mmok0: what if an uploader doesn't answer neither review or emails for month but you'd like to get the package in Ubuntu?19:42
mok0loic-m: let's discuss that after class :-)19:43
loic-mmok0: ok19:43
Raili'd prefer to use cdbs to avoid copy/paste in debian/rules :)19:43
asomethingwell something is amiss, it's FTBFS in a pbuilder (sorry, if that's getting ahead).19:43
mok0Rail: well, that's the choice of the packager19:44
mok0debian/rules contains boilerplate comments at the top, they must go19:45
mok0Otherwise, it's nice and clean, good work19:45
asomethinghttp://paste.ubuntu.com/177375/19:45
mok0asomething: yes the building is not working19:46
stefanlsdmok0: do you know where we can find more information about each dh_ call?  (besides man page)19:46
mok0And it's because of debian/rules19:46
mok0And it's because of debian/control sorry19:46
Raili'd add a blank line between install: and binary-indep: :)19:46
mok0stefanlsd: no, it's badly missing. I've looked at the source once in a while19:47
Railstefanlsd: vi =dh_whatever ;)19:47
mok0Rail: me too, but it doesn't matter19:47
Rail+119:48
mok0This is a python package, so we should use python_central19:48
mok0... or rather the uploader should fix it.19:48
mok0We can leave a URL in the comment: http://wiki.debian.org/DebianPython/NewPolicy19:49
stefanlsdhttp://python-modules.alioth.debian.org/python-central_howto.txt19:49
mok0... and we need a "XS-Python-Version:" field in debian/control19:50
mok0stefanlsd: thx19:50
mok0The package also needs a watch file19:50
mok0asomething: are you up to speed with the review? You might pastebin it and we can take a look19:51
asomethingmok0: sorry, I was just going to go back into the log and write it when we were done19:52
mok0asomething: ah ok19:52
mok0After looking at the files in debian/ I usually do a build19:53
mok0It is absolutely recommended that you use a pbuilder , cowbuilder og sbuilder for that19:53
Rail(pbuilder-dist is the easiest, IMHO)19:55
mok0It is19:55
mok0Hm. I'm a bit puzzled at the dh_testroot error19:56
mok0Well, if you remove it from the clean: target, it builds19:57
* tuantub_ :D19:58
mok0Now finally, any comments about the description field in debian/control?20:00
weboidethe short description isn't very meaningful?20:01
mok0right20:01
mok0... and the long description ain't very long :-)20:01
weboidetrue20:02
mok0The uploader has written a manpage, which I usually thank them for especially. But this one is very short as well20:03
mok0A man page should say HOW the program is to be used, not only WHAT it does20:03
mok0It should describe what it does while it's working. Will it change the gamma of the monitor live, and let you decide when you like it? Will it show some number and let you choose it? Will it fry my monitor?20:05
mok0So while it's good that uploaders write a manpage, it should be a _good_ manpage also20:05
mok0So, at this point, I think we have enough for a lengthy review...20:06
asomethingAlright. Here's what I have so far. Anything missing? http://paste.ubuntu.com/177390/20:06
mok0asomething: that is very good!20:07
mok0asomething: also tell him to remove the boilerplate comment in debian/rules (at the top)20:08
asomethingmok0: will do!20:08
Railno Vcs-* in debian/control, must be :)20:08
weboideasomething: and maybe also a more meaningful short-description20:08
mok0right, leave this link:  http://www.debian.org/doc/developers-reference/best-pkging-practices.html#bpp-pkg-synopsis20:09
mok0Well, perhaps it's time to end the lesson. Any questions?20:10
asomethingmok0: thanks!20:11
tuantub_mok0: thanks ;)20:11
weboideIs it required to package the lastest version of the software for the package to get included into ubuntu?20:11
Railmok0: tahnk you very much20:11
loic-mthanks mok020:12
weboidethanks for the lesson mok020:12
mok0My pleasure! Thanks for coming along!20:12
mok0Now for the question we postponed20:12
* mok0 searches scrollback20:12
weboidegotta go now, thank you again mok0 , see you all!20:13
mok0hm can't locate it20:14
mok0Ah20:14
mok0what if an uploader doesn't answer neither review or emails for month but you'd like to get the package in Ubuntu?20:14
mok0If the uploader doesn't reply in a reasonable time, you are free to take over the package20:15
mok0Anyone can make a new upload20:15
mok0In fact, I'd like to encourage everyone to grab packages from REVU that are idling, because MOTUs and others have already spent time reviewing them20:16
loic-mmok0: in that case, the one making the new upload can just either grab the old upload and improve it, or do it from scratch. Is there a copyright problem doing the first?20:17
mok0loic-m: No20:17
mok0loic-m: usually the packager has  used a free software license for the packaging20:18
mok0loic-m: I think it's fair to continue the work on the uploaded package20:18
=== tuantub_ is now known as tuantub
mok0If the uploader is MIA the package is fair game20:19
loic-mmok0: ok, thanks. And if no license is made for the packaging, it's still ok (I guess the copyright problem might only occur for man pages, since they're shipped, no)?20:19
mok0loic-m: if the previous uploader has written a manpage, you should maintain his/her name on the copyright, and add your own if you make additions and changes20:20
loic-mok20:20
mok0loic-m: it's also about giving credit where it's due20:20
loic-mindeed20:21
mok0otoh, uploaders are also making use of a service where they get (free) reviews20:21
mok0so if they loose interest, it's only fair that someone else can take over20:22
mok0many packages in "needs work" are in pretty good shape, they just need someone to push it along20:22
stefanlsdmok0: it feels like motu's are reluctant to advocate packages...  (maybe for fear of missing something, someone else picks up on?)  - how can we change this / improve it...20:22
mok0stefanlsd: It's true20:23
mok0stefanlsd: one reason is that not many motus are actively reviewing20:23
stefanlsdmok0: and maybe, what kind of impact do we have on universe if a 'not so great - but working package' makes it into universe?20:24
mok0... so if the probability of finding one reviewer is p, then the probability of finding two reviewers is p**220:24
Railbecoming a motu is the solution :)20:24
mok0stefanlsd: I don't think it matters much.20:24
mok0But our hope is that uploaders stick around and care for their packages20:25
mok0It's been discussed that some kind of commitment should be required, but it's uncertain how that can be implemented20:25
stefanlsdi agree, but i think its also unfair for uploaders to ask and ask, and nobody really looks at it. they get tired of trying, and move on20:26
mok0stefanlsd: indeed.20:26
stefanlsd(different if comments were made by reviewer and they haven't responded)20:26
Railyes, someties passing NEW queue at Debian is easier than getting revu...20:27
mok0But we do have REVU day every friday, and this is a good time to show up on #ubuntu-motu and ask for feedback20:27
stefanlsdalso maybe i think we need to be less harsh on packages?  if they have the basics right, copyright is ok, package builds... lets get it into ubuntu. chances are, for the little things, the uploader will improve as he goes, or users now using it will file a bug and fix it...20:28
mok0I disagree, actually20:28
mok0Once the package has been accepted, it will never improve20:29
mok0It's much better to get the package in _perfect_ shape from the outset20:29
mok0That also makes maintenance of it much simpler20:29
mok0But I do understand the frustration20:29
stefanlsdmok0: i agree with that, but to be honest, as a user.. i really just want to apt-get install somethingnew.   i guess its a balance...20:30
mok0In fact, I think the packages that make it into Ubuntu are generally in much better shape than those coming from Debian.20:30
kklimondamok0: Do I have to add copyright file to every package if I split source package into few binary packages and they all depend on a package that has copyright (and links /usr/share/doc/package-foobar to single directory)?20:30
mok0kklimonda: the dpkg-buildpackage system takes care of that20:31
mok0kklimonda: you only need to make sure one debian/copyright file is there :-)20:31
asomethingmok0: but do we follow up with maintenance or let them bit rot?20:31
kklimondamok0: but I have few different packages - crawl-common, crawl-console, crawl-x1120:31
stefanlsdmok0: again it may be so, but for the end user - if its not in the repo - ubuntu sucks. it doesnt even have X  (but i get the point of X man page not being complete or wrong and causing more frustration to users)20:32
kklimondamok0: crawl-common has all documentation files (including copyright) and /usr/share/doc/crawl-{console,x11} links to /usr/share/doc/crawl-common/20:32
mok0asomething: maintenance, and that's the problem if the uploader abandons the package20:32
mok0kklimonda: dpkg-buildpackage makes sure there's a copyright file in all20:33
mok0stefanlsd: fortunately, we have the PPAs now20:33
stefanlsdmok0: mmm. we need to incentivise reviewers somehow20:33
mok0stefanlsd: true20:33
mok0I have not been doing reviews yet for this cycle (because of work) but I will start again soon20:34
asomethingmok0: without having specific maintainers how do we go about getting people to make that commitment?20:34
mok0asomething: good question!20:34
asomethingI wonder if there could be a way to automatically subscribe someone to the new packages bug page20:34
mok0We do encourage people to get their packages into Debian, because they have a system of maintainership20:35
mok0otoh getting packages into Debian is even more wait-ful20:35
mok0So perhaps having a system of maintainership would be something to consider.20:36
mok0One argument often heard from MOTUs is: "We have > 1000 packages to care for already, why should we have more?"20:37
asomethingmok0: my problem with debian.mentors hasn't actually been getting new packages in. they're exciting people want to sponsor. it's been getting sponsors for unsexy uploads, little upstream releases20:37
mok0asomething: I've been able to get things uploaded only via being in a team20:37
mok0s/uploaded/sponsored20:38
mok0Unfortunately, Debian does not accept packages from Ubuntu directly20:38
asomethingit's the flip side of our more lose system. I can get smaller fixes into ubuntu much quicker. my packages often end up ahead in ubuntu as I get frustrated waiting for the changes to make it in debian20:39
mok0asomething: indeed20:39
mok0What we need are some DDs/MOTUs working across the aile20:40
mok0Someone who would take the responsibility of sponsoring -0ubuntu1 packages, and naming a maintainer20:41
asomethingdefinitely, one day I'll make DD, but hopefully I'll be a MOTU much sooner20:41
mok0asomething: sound great!20:41
asomethingthere was a program for awhile, but it seems to have died out. the list still exists20:42
mok0asomething: what program are you thinking of?20:42
asomethingmok0: http://wiki.debian.org/Utnubu20:43
mok0Ah that. It's been dead as long as I remember20:44
asomethingya, I CCed the list on a debian RFS and people seemed surprised that it still existed20:45
mok0Well, I think there was bad blood for a while after Ubuntu forked off and took some of the best developers20:45
stefanlsdmok0: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=522138     (whats the status on the ITP? - how do i know if someone is working on it?)20:45
mok0stefanlsd: It's only a few months old. I think you should mail the guy20:46
asomethingstefanlsd: you could check http://mentors.debian.net/ and see if there's been an upload as well20:46
stefanlsdmok0: who do i mail, the owner?20:47
stefanlsdRail and I actually already did it for Ubuntu - http://revu.ubuntuwire.com/p/gears20:47
mok0stefanlsd: yes20:48
asomethingstefanlsd: might be worth mentioning it on the debian bug. if nothing else, it might be helpful for them20:48
mok0It is possible to get a package into Ubuntu, but if it get's into Debian later, it will likely be overridden20:49
mok0... which is kinda a waste of work20:49
asomethingwell, I must be going... thanks for the great session, mok0!20:49
mok0so it's better to communicate with the Debian folks20:49
mok0OK see you later!20:49
stefanlsdmok0: kk. thanks. mailed the owner20:50
mok0stefanlsd: good luck!20:50
Railsee you all, mok0 tahnks a lot20:50
mok0Byebye!20:50
Railzzz...20:51

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