/srv/irclogs.ubuntu.com/2010/04/15/#ubuntu-classroom.txt

larka06Hello everyone02:59
larka06I do not think anyone is home today. I see the schedule is tomorrow. bye03:03
=== issyl0_ is now known as issyl0
=== joaopinto_ is now known as joaopinto
=== mohi_away is now known as mohi1
=== starshiptrooper is now known as apachelogger
=== 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 || Event: Packaging Training Session - Current Session: Fixing an Ubuntu bug with bzr - Instructor: james_w || Questions in #ubuntu-classroom-chat
james_whi16:01
james_wWho is here for the packaging training session?16:02
james_wI'll wait a couple more minutes for people to join16:06
james_wright, hello everyone16:07
james_wmost of the names that just joined I recognise, so I won't take it too slowly today16:07
james_wthis is all a bit last-minute though, so I don't have anything prepared16:08
james_wso I'm happy to answer any questions you have16:08
james_wright, so a quick introduction16:08
james_wyou can now use bzr for doing a lot of packaging work, instead of having to learn how to generate debdiffs and the like16:09
james_wdebdiffs are ok, they have some disadvantages, but the main thing is that they aren't something used in other projects16:09
james_wbzr is a version control system, and so is probably more familiar to newcomers16:10
james_wso, if you want to make use of it, please install bzr and bzr-builddeb if you don't already have them installed16:10
james_wbzr-builddeb is a plugin for bzr that knows about packaging stuff16:10
james_wonce you have those, then you can run16:11
james_wbzr branch lp:ubuntu/<source package name>16:11
james_wto get the current source of any package in ubuntu as a bzr branch16:11
james_wthere is also lp:ubuntu/karmic/source etc. as well16:11
james_wyou can run bzr log and bzr annotate and the like to see how the package evolved over time16:12
james_wthat gets useful when debugging etc.16:13
james_wnow, you can build a package by using "bzr builddeb" from one of these branches16:13
james_w"bzr bd" for short16:13
james_wto build a source package use "bzr bd -S"16:13
james_w<joaopinto> QUESTION: is there a specific bzr revision for each different version commited to the archives ?16:13
james_wyes16:13
james_wgrab a branch of a package you know and have a look16:14
james_wor click around on launchpad16:14
james_whttps://launchpad.net/ubuntu/+source/package16:14
james_wand then click on "Branches" and you can browse them online16:14
james_w<blueyed> Question: Would it make sense to automatically handle "-v" when doing "bzr builddeb -S" (so that it auto-adds the last uploaded version with it)?16:14
james_wthat would be cool16:14
james_whowever, you can't do it automatically16:14
james_wwithout querying something remote to find out what the current version is, and I don't want building a package to require that16:15
james_wso, we currently require a human to tell us what value to use16:16
james_wwhat I would like to do is have a flag to say "this is a merge from Debian", so use -vlast-ubuntu-version and -sa if needed16:16
james_wthe main thing stopping me is that I can't come up with a good name for that flag ;-)16:17
james_wso, once you have built the package with your changes and tested it, you can commit16:18
james_whow do you get someone to upload that for you?16:18
james_wto do that you should propose the branch for merging on launchpad16:19
james_wfirst, push it to your namespace on launchpad16:19
james_wbzr push lp:~LP-ID/ubuntu/lucid/package/some-descriptive-name16:19
james_wthen open up the branch page on launchpad and click "Propose for merging"16:19
james_wexplain what you have done and click "Propose"16:20
james_wa couple of timesavers here:16:20
james_wbzr lp-open16:20
james_wrunning that after you pushed will open your browser at the right page16:20
james_wbzr lp-propose16:20
james_winstead of clicking around on the webapp this will let you type your description in to your editor, like when you commit, and then make the merge proposal for you16:21
james_wsomeone will review your changes and vote on them16:21
james_wif they would like you to fix something then you can just make the changes locally, "bzr commit", "bzr push" and then comment on the merge proposal to say you have done it16:22
james_wonce they are happy they will upload it for you16:22
james_w<joaopinto> QUESTION:  Are there branches for Debian packages (lp:debian/package) ?16:22
james_windeed16:22
james_wyou can find any debian package that way as well16:22
james_wthe history isn't nearly as complete for Debian packages, but it will improve from here on out16:23
james_wso, what can you do with the Debian branches?16:23
james_wdiff between Ubuntu and Debian when investigating something16:23
james_wmerge from Debian to pull in their changes16:23
james_wcherry-pick from them when near release time and you just want part of their changes16:23
james_wuse the branches to generate a diff to send back to them16:24
james_wlet's look at merging16:24
james_wfrom a copy of an ubuntu branch you can run16:24
james_wbzr merge-package lp:debian/sid/package16:24
james_wto merge from the sid version of the package16:24
james_wthis may give you conflicts, which you can resolve16:26
james_wrun "bzr diff" if you want to check the changes that are being pulled in16:26
james_wthen commit when you are happy16:26
james_wrunning16:26
james_wbzr diff --old lp:debian/sid/package16:26
james_wwill tell you the current diff from Debian, so you can see if there is anything that should be submitted back16:26
james_wagain you can push this up and request the merge16:26
james_w<blueyed> QUESTION: re auto-using "-v" with "bzr bd", couldn't you use the last tag from mark-uploaded? Does mark-uploaded do anything besides creating a tag only?16:27
james_wfirst, no, mark-uploaded is just creating a tag16:27
james_win maverick you will just be able to run "bzr tag" thanks to jelmer16:27
james_was for using the last tag from mark-uploaded that's an interesting idea, but I'm not sure if it would be reliable enough16:28
james_wmight be worth a go16:28
james_wI'd be happy to help you implement it if you like16:28
james_w<ckorn42> QUESTION: so no more debdiffs ?16:28
james_wyou don't have to use debdiffs to get sponsored any more16:28
james_wthey may have their use from time to time16:28
james_wany more questions before I move on?16:29
james_w<joaopinto> QUESTION: are there branchs for PPAs  ?16:31
james_wonly if you make them16:31
james_wyou can branch from Ubuntu, make your changes, and then push it16:31
james_wuploading the source package to your PPA16:31
james_wthey aren't created automatically or anything though16:31
james_w<blueyed> QUESTION: more bzr related. Is it possible to get the "diff" after a merge annotated? When diffing, you see what's added, but not from what particular merged revision.16:36
james_wI don't think that's possible16:36
james_wask in #bzr16:36
james_w<blueyed> QUESTION: branches for PPA: is there planned anything to get them created automatically?16:36
james_wno16:36
james_wthere's not a lot of payoff there16:37
james_wand you can just use bzr to manage the PPAs16:37
james_wright, we've looked at merging from Debian16:38
james_wlet's look briefly at merging from upstream16:38
james_wthis is based around the inventively named "bzr merge-upstream" command16:38
james_wfrom one of the branches we got earlier we can merge a new upstream release by passing it the URL of the tarball of the new upstream release (or a local path if you have already downloaded it)16:39
james_wand the version number that is assigned to this release16:39
james_wbzr merge-upstream --version 1.2 http://example.org/foo-1.2.tar.gz16:39
james_wworks with tar.gz tar.bz2 .zip and a couple more16:40
james_wagain it will leave you with a diff to review and any conflicts to fix up16:40
james_wI plan to make it use uscan, so that you don't even have to tell it that stuff if you have a watch file16:40
james_w"bzr merge-upstream" would just find everything out and do the obvious thing for you16:41
james_wI think this is one of the coolest things16:41
james_wand I plan to add more things as cool as that and build on top of it16:42
james_wso, what else do we have planned?16:42
james_wwork is currently underway to add support in Launchpad for building from branches16:42
james_wthat means you will be able to go from the branch you just pushed up to a package in your PPA without building and uploading it16:43
james_wwe will probably extend that to Ubuntu itself once we are happy with it16:43
james_wthis will allow us to do lots of great things16:44
james_wdaily builds will be just a few clicks16:44
james_wit will be easy for people to find a patch upsteam, stick it in to bzr, and put it in their PPA for people on the bug to test16:44
james_wlike, one command easy if someone wants to automate that16:44
james_wand building on top of bzr makes it easier for an Ubuntu developer to hoover up such patches after testing and merge them all together16:45
james_w<mhall119> QUESTION: are you doing anything with ground control to get these features in that?16:46
james_wnot yet16:46
james_wbut I want to have some of that stuff16:46
james_wthere's a possible SoC project to lay the groundwork for that16:46
james_wwe're not /quite/ at the point where we can have something as slick as groundcontrol, but very close16:46
james_wand because we are just using bzr, launchpad etc. it should be easy to modify groundcontrol to do packages as well as projects16:47
james_wright, any more questions for the last 10 minutes16:47
james_wright, some cool stuff16:48
=== apachelogger is now known as starshiptrooper
james_wbzr gannotate or the qt equivalent when you find a bad line of code can tell you when it was changed, regardless of whether upstream debian or ubuntu changed it16:49
james_wassuming that it's v3 quilt right now16:49
james_wand you can then go from that to the diff of the revision that uploaded it, so see the rationale in the changelog16:50
ClassBotThere are are 10 minutes remaining in the current session.16:50
james_wand if you want to revert it, it's one bzr command, rather than doing it by hand, or trying to generate a patch to reverse-apply16:50
james_wsimilar with cherry picking16:51
james_wyou can grab the changes in the last debian upload and pull them in to your tree16:51
james_wbzr merge -c 1 lp:debian/sid/package16:51
james_wthen use "bzr revert" and "bzr shelve --destroy" to remove the parts you don't want16:52
james_wand keep only the parts you do16:52
james_wyou don't need to rely on Merge-o-Matic to have the merge ready for you to apply16:52
james_wyou can merge from testing, unstable, experimental as you like16:52
james_wor the branch of anyone else in the same way16:52
james_wyou have a version control system so you can just "bzr revert" if you get in to a strange situation, rather than having to blow away your workspace and unpack the source package again like you had to sometimes before16:53
james_wand plenty more as well16:53
james_wthere's loads of opportunity for automating tasks and the like now, so if you have an idea for something like that I would be happy to help you implement it16:54
james_wand I'm keen that the tools are usable, so if you find something that is too hard or doesn't make sense, please file a bug16:54
james_wany last questions?16:55
ClassBotThere are are 5 minutes remaining in the current session.16:55
james_wok, let's call it a day and go make lucid even better :-)16:58
james_wthanks all16: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
=== yofel_ is now known as yofel
=== starshiptrooper is now known as apachelogger
=== mohi1 is now known as mohi_away
=== mohi_away is now known as mohi1
mhall119james_w: are you still around?21:02
james_wyeah21:02
=== mohi1 is now known as mohi_away
=== mohi_away is now known as mohi1
=== mohi1 is now known as mohi_away
=== mohi_away is now known as mohi1
=== janito_ is now known as joaopinto_
=== mohi1 is now known as mohi_away
=== mohi_away is now known as mohi1

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