/srv/irclogs.ubuntu.com/2009/07/02/#ubuntu-classroom.txt

tcoreaddate -u06:12
=== tcoread1 is now known as tcoread
dholbachGood morning everybody!07:01
dholbachwho' all here for the packaging training session? :-)07:01
micahgis this an open session?07:01
dholbachyes07:01
micahgok07:01
* micahg is here for packaging07:01
* Rail is here too07:01
dholbachwho else? come on, don't be shy! :)07:02
juliendo/07:02
* Koterpillar *07:02
dholbachalright - I hope you all brought questions07:03
dholbachdo we have any questions about something to do with packaging or ubuntu development in general?07:03
* Koterpillar yes07:03
dholbachKoterpillar: cool - go ahead!07:03
KoterpillarHow can I replace a package A with B so that ones dependent on A are satisfied?07:04
dholbachKoterpillar: can you illustrate that case a bit?07:04
dholbachjust so we all know what we're talking about07:06
Koterpillarubuntu-desktop depends on readahead, but there is sreadahead which i'd like to replace readahead with, but not remove ubuntu-desktop.07:06
KoterpillarCurrently, sreadahead conflicts with readahead.07:07
dholbachthere's two ways to achieve this, you could either change ubuntu-desktop (which is a special case) to depends on either  readahead | sreadahead  or you could change sreadahead to say   Provides: readahead   (if they indeed offer identical functionality)07:08
dholbachubuntu-desktop is a special case because it is not modified by hand, but created from seed files07:08
dholbachhttps://wiki.ubuntu.com/SeedManagement has more detail about that07:09
KoterpillarDo I remove Conflicts: readahead?07:09
dholbachno07:09
dholbach"Conflicts:" says that both packages ship the same file which dpkg can't deal with07:10
dholbachhttp://www.debian.org/doc/debian-policy/ch-relationships.html has more detail about what conflicts / replaces / provides / etc are for07:10
Railand http://www.debian.org/doc/debian-policy/ch-relationships.html#s7.6.207:10
dholbachKoterpillar: I'm curious, what does sreadahead offer that readahead doesn't?07:11
dholbach(I haven't looked into either of them)07:11
KoterpillarI've seen a news about it doing better with SSD, wanted to try.07:11
dholbachok07:11
dholbachdo we have any other questions already?07:12
FuturePilotwhat do you do with the debian patches when a new version of the program is released? I know most of the time they won't patch anymore.07:12
dholbachFuturePilot: you need to check if you need to update them or if they can be dropped (because they were included upstream already)07:12
TheMusoWell, it depends on whether the patch has been commited upstrea in the new version07:12
TheMusoAnd any good maintainer will send patches upstream for inclusion.07:13
ethana2dholbach: doctormo and I are working on the wizardpen driver..07:13
dholbachTheMuso is absolutely right... the earlier you get stuff upstream, the less pain you have :)07:13
ethana2trying to get it to Just Works status and included in main07:13
ethana2by karmic07:13
FuturePilotah, I see07:14
dholbachethana2: just a sec07:14
ethana2....there's one dependency that's giving us trouble, and he's going to make a 64 bit ubuntu install to help us pin it down07:14
ethana2dholbach: k07:14
TheMusoMind you, there are sometimes patches for configuration settings that you want to keep, in which case you need to refresh the patch somehow.07:14
dholbachsometimes you will see that people use names for their patches like 50_from_cvs_............., so it's obvious that they can be dropped with the new release07:14
dholbachhttps://wiki.ubuntu.com/UbuntuDevelopment/PatchTaggingGuidelines is really really helpful in that regard too07:14
TheMusoThat, and documenting that the patch was from upstream in the changelog is good.07:14
dholbachso if somebody else comes across your package they know where the patch comes from and where the discussion about it is happening07:15
TheMusoIf the patch is from a git repo for example, its also useful to keep the git commit message in the header of the patch./07:15
dholbachsometimes "refreshing a patch for a new upstream version" is easy enough, because you just need to apply it again and you'll have some offsets and some fuzz, but sometimes it's really unpleasant work07:15
TheMusoAnd patch systems like dpatch alow a description of the patch to be added in the header of the patch.07:15
dholbachTheMuso: don't all patch systems allow that?07:16
TheMusodholbach: Not in an official sense. Dpatch actually has commented lines where you add the author of the patch, and a description.07:16
TheMusoSure you can add it to headers of other patches and it will be ignored, which is ok as well.07:16
dholbach"patch" itself can deal with    ## comment .....    above the    diff .....   line07:16
dholbachah ok07:17
dholbachyes07:17
dholbach:-)07:17
TheMusoYeah.07:17
dholbachFuturePilot: problem solved? :)07:17
dholbachhttps://wiki.ubuntu.com/Bugs/Upstream has more info for sending stuff upstream07:17
FuturePilotdholbach: yeah I think I get it now. thanks07:17
dholbachROCK07:17
dholbachethana2: so... what is giving you guys trouble? :)07:18
ethana2xautomation is a virtual package07:18
ethana2...I don't think it's a problem on x32... not sure07:18
ethana2xautomation is evidently a dependency of wizardpen, which we're trying to package07:18
ethana2on 64 bit ubuntu, it won't build because it can't get that package07:19
ethana2I've checked my sources.list, it can get to source files07:19
dholbachdaniel@bert:~$ apt-cache show xautomation | grep ^F07:19
dholbachFilename: pool/universe/x/xautomation/xautomation_1.03-1_amd64.deb07:19
dholbachdaniel@bert:~$07:19
dholbach?07:19
ethana2hmm07:19
dholbachit seems to exist on 64bit Ubuntu07:19
ethana2I'll get a pastebin link to my build errors07:19
dholbachsure07:19
ethana2http://paste.ubuntu.com/205915/07:19
ethana2and...  http://paste.ubuntu.com/205930/07:20
ethana2ok the second one is the important one at this point07:20
dholbachdid you enable universe and multiverse for your pbuilder?07:20
ethana2not specifically07:20
dholbachdo something like this07:21
dholbachdaniel@miyazaki:~$ cat .pbuilderrc07:21
dholbachCOMPONENTS="main universe multiverse restricted"07:21
dholbachdaniel@miyazaki:~$07:21
dholbachand recreate the pbuilder07:21
ethana2k07:21
dholbachhttps://wiki.ubuntu.com/PbuilderHowto has more info07:21
dholbachmight be the problem that xautomation is in universe07:21
dholbachlooking at the first pastebin now07:21
ethana2don't bother I think07:21
ethana2ok, so I want a ~/.pbuilderrc file07:22
ethana2containing07:22
TheMusoThe first one doesn't seem to be a problem, except for some lintian warnings.07:22
ethana2COMPONENTS="main universe multiverse restricted"07:22
nelleryfirst one just looks like a keysigning error07:22
dholbachto avoid "Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address" you can run 'update-maintainer' from the ubuntu-dev-tools package07:22
ethana2TheMuso: maybe a gpg thing, but yeah07:22
dholbachhttps://wiki.ubuntu.com/DebianMaintainerField has the reason for it07:22
* ethana2 saves .pbuilderrc file07:22
ethana2ok, I'm just going to try to build this again, carry on07:23
dholbachdh-clean-k-is-deprecated: just use dh_prep in debian/rules instead07:23
ethana2oh, ok, I should do that now07:23
* ethana2 navigates to debian/rules07:23
dholbachconfigure-generated-file-in-source config.log config.status: just remove them in the clean target in debian/rules07:23
dholbachdebian-files-list-in-source: this is weird :-)07:23
dholbachother than that there doesn't seem to be anything wrong from as far as I can tell07:24
dholbachdo we have any other questions? :)07:24
RailThe upstream tarball doesn't contain LICENSE file, but the author declared LGPL on the Homepage. Should I repack the tarball and put a copy of license file?07:24
dholbachRail: I'd ask the upstream developers to put a license file in there, then repacking for just this one release is fine07:25
Raildholbach: already done, but no feedback from the author :(07:25
dholbachok, that's fine then - just make sure you mention it in debian/changelog very prominently so reviewers and archive admins know why the md5sums of the original tarball and yours don't match07:26
RailI have a very descriptive get-orig-source :)07:27
dholbachthat sounds like a good idea :)07:27
dholbachany more questions? :)07:28
ethana2ope, it failed again :(07:28
ethana2ok, I made that file...07:28
ethana2but it gives me the same error07:28
dholbachI think you might need to recreate the pbuilder07:28
ethana2ohhh07:29
dholbachsudo pbuilder update --distribution karmic --override-config07:29
dholbachor something07:29
ethana2ok yeah I think I forgot that part07:29
ethana2karmic?07:29
ethana2I'm on Jaunty, does that matter?07:29
dholbachjaunty might be fine for now07:29
ethana2k07:29
ethana2should I still use 'karmic' in that command?07:29
dholbachbut if you want to get it into karmic, it only makes sense if you test it on karmic first :)07:30
ethana2ahh07:30
ethana2hmm07:30
dholbachhttps://wiki.ubuntu.com/UbuntuDevelopment/UsingDevelopmentReleases explains how to do that in a sane way07:30
ethana2I was going to wait for alpha 3 and then install karmic over my intrepid07:30
ethana2I always dual boot two ubuntu's07:30
dholbachethana2: you can use a vm too07:31
ethana2dholbach: yeah07:31
dholbachthe page explains various options07:31
dholbachcool07:31
ethana2well, I don't think I'm nearly to the point where it becomes a matter of testing07:31
ethana2but I'll certainly test with karmic before I send it in to REVU07:32
ethana2or anything of that nature07:32
dholbachexcellent07:32
dholbachdo we have any more problems some of you ran into?07:32
dholbachwhat about the things we just discussed, did they raise any questions or eyebrows?07:34
* ajmitch has a whole truckload of patches to check through & tag :)07:34
RailSometimes I want to override lintian warnings. Is there any policy or good practices on this subject?07:35
ethana2Rail: a warning shouldn't need to be overridden07:35
ethana2do you mean an error?07:35
dholbachRail: I usually just leave them there to remind me (or others) to fix them at some stage :)07:35
Railethana2: no, just annoying warnings, like no-upstream-changelog07:36
ethana2Rail: yeah, the only proper thing to do is fix their cause07:36
* ajmitch would only override where necessary07:36
ethana2ok, pbuilder updated and stuff, attempting to build the package again07:37
dholbachhttp://lintian.debian.org/manual/ch2.html#s2.407:37
dholbachif you really want to07:37
dholbachI normally wouldn't bother :)07:37
ethana2well, it went to make it07:38
ethana2..but failed07:38
dholbachRail: but I agree... no-upstream-changelog is really annoying :)07:38
ethana2..due to a bug in the code07:38
dholbachespecially considering how much space on the CDs we waste because of changelogs :-)07:38
ethana2ohhhh, stricter gcc07:38
ethana2blast, I have to find a way to fix the code here07:39
Raildholbach: thanks, going to read that manual :)07:39
dholbachany more questions? :)07:39
maxpaguruhow to check in general if a patch that won't fix anymore need to be dropped or update? and then which steps?07:39
dholbachso let's assume there's version 6.5 of something and we have a bunch of patches and we update to 7.0 and applying some of the patches fails07:40
dholbachwhat you can do to easily test if a patch was applied upstream as-is, is run     patch -p1 --dry-run -R < some-patch-file07:41
dholbachit won't make changes to the code, and will try to "revert" the patch again07:41
dholbachif you have complicated patches were upstream used some parts and neglected others, it's a bit more tricky07:42
dholbachor if stuff was fixed in a different way07:42
dholbachanother tool I find useful is diffstat - you can run it on a patch file and quickly get an overview over what's changed in the patch07:42
ethana2'night, that was very helpful, rock on07:43
dholbachmaxpaguru: was that answer helpful?07:43
ajmitchporting patches forward over multiple versions gets tedious, which is why it'd a great idea to pass stuff to debian & to upstream07:43
maxpagurudholbach:thanks, i need to know better. what to reeD or tutorials ?07:44
dholbachmaxpaguru: https://wiki.ubuntu.com/UbuntuDevelopment/PatchTaggingGuidelines https://wiki.ubuntu.com/Bugs/Upstream and generally https://wiki.ubuntu.com/MOTU/GettingStarted :-)07:45
maxpagurudholbach: ok!07:45
dholbach:-)07:45
dholbachany more questions?07:46
dholbachajmitch, TheMuso: it's weird that nobody says "review my package please", isn't it? :)07:47
Railhehe :)07:47
TheMusodholbach: Yeah.07:47
FuturePilotsometimes when I'm watching a package build I see warnings about uselessly linked libraries or something. What is that?07:47
TheMusoSometimes, executables or libraries are linked against other libraries when they don't need to be.07:48
Raildholbach: everybody pushes to Debian NEW :P07:48
ajmitchdholbach: I'll have to produce a few for you to review then :)07:48
dholbachFuturePilot: that's something the upstream maintainers should dive into - it's if you specify stuff in Makefiles just to be safe :)07:48
TheMusoFuturePilot: It won't break anything if they do, but may introduce unnecessary dependencies to a package, so if they can be fixed up, its worth doing so.07:48
dholbachTheMuso: does linking with -Wl,as-needed (or however you specify it) help with that?07:49
FuturePilotah ok, so probably notify upstream?07:49
dholbachFuturePilot: yes07:49
TheMusodholbach: I don't know.07:49
TheMusoI've just fixed up the autofoo and sent a patch upstream.07:50
julienddholbach: hi, is there a tutorial somewhere about packaging perl projects from CPAN ?07:50
dholbach       --as-needed07:50
dholbach       --no-as-needed07:50
dholbach           This option affects ELF DT_NEEDED tags for dynamic  libraries  men‐07:50
dholbach           tioned on the command line after the --as-needed option.  Normally,07:50
dholbach           the linker will add a DT_NEEDED tag for each dynamic  library  men‐07:50
dholbach           tioned  on  the  command line, regardless of whether the library is07:50
dholbach           actually needed.  --as-needed causes  DT_NEEDED  tags  to  only  be07:50
dholbach           emitted for libraries that satisfy some symbol reference from regu‐07:50
dholbach           lar objects which is undefined at the point that  the  library  was07:50
dholbach           linked.  --no-as-needed restores the default behaviour.07:50
dholbachthat's from the ld manpage... I've seen it in a couple of packages already, and I've seen it break a very few packages on some architectures07:50
TheMusoah ok.07:51
dholbachso it might be a suitable workaround in some cases07:51
dholbachjuliend: I'm delighted to tell you that we're going to have some perl wizards here in a few weeks that are going to talk about exactly that!07:51
juliendgreat :)07:51
dholbach23rd July, 00:00 UTC, gwolf and jawnsy, Packaging Perl Modules07:51
ajmitchthe problem is not seeing breakage until you hit specific areas of a program that need those missing functions07:52
dholbachajmitch: that too07:52
dholbachjuliend: for now I'd just tell you to review existing perl modules and how they are packaged07:52
dholbachhttp://www.debian-administration.org/articles/78 might be helpful too07:52
juliendperfect, thanks07:53
dholbachnice07:53
dholbachany more questions? :)07:53
dholbachI'm immensely proud of all the great work you guys are doing!07:54
FuturePilot:)07:54
maxpagurucan you give us an example of package updating where some of the patches fail and how to handle the problem?07:55
dholbachjust a sec07:57
dholbachsudo apt-get install devscripts; dget -xu https://launchpad.net/ubuntu/karmic/+source/yelp/2.27.1-0ubuntu2/+files/yelp_2.27.1-0ubuntu2.dsc; dget -xu https://launchpad.net/ubuntu/karmic/+source/yelp/2.27.2-0ubuntu1/+files/yelp_2.27.2-0ubuntu1.dsc07:58
dholbachrobert_ancell had to "refresh" the patches because they didn't apply any more in their current form07:58
Railmaxpaguru: maybe this log will help https://wiki.ubuntu.com/Packaging/Training/Logs/2009-04-1607:58
dholbachok, let's wrap up07:59
maxpagurudholbach:thank you very much!07:59
dholbachthanks a lot everybody for attending and your clever questions!07:59
dholbachlogs will be up soon08:00
FuturePilotdholbach: thanks again08:00
dholbachsee you in #ubuntu-motu and #ubuntu-devel :)08:00
dholbachhave a great day :-)08:00
maxpaguruRail: thanks a lot!08:01
=== yofel_ is now known as yofel
=== pleia2 changed the topic of #ubuntu-classroom to: Ubuntu Classroom || https://wiki.ubuntu.com/Classroom || https://lists.ubuntu.com/mailman/listinfo/ubuntu-classroom || Upcoming: Thu July 16 @ 18:00 UTC: Mono packaging: quick, easy, and awesome; July 23 @ 00:00 UTC: Packaging Perl Modules || Run 'date -u' in a terminal to find out the UTC time
=== worellana_ is now known as ramses-sv
=== alexbobp_ is now known as alexbobp
=== jarlen_ is now known as jarlen
=== Quintasan_ is now known as Quintasan
ryanpriorHello there. Anybody helping with packaging questions yet?21:50
ryanprior(I'm currently working on a nearly-completed package that I hope to get into Ubuntu for Karmic if possible. =D )21:50
=== olujicz_ is now known as olujicz
james_wryanprior: #ubuntu-motu is the place to go21:57
ryanpriorjames_w: I thought that there was a packaging tutorial coming up soon?21:57
james_wthere was one this morning21:57
ryanpriorAh, what time?21:57
james_w(last night for those on the West Coast US)21:57
james_w6am UTC21:58
ryanpriorThat seems like a really silly time. >.>21:59
nhandlerryanprior: The times alternate each week21:59

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