/srv/irclogs.ubuntu.com/2010/09/02/#ubuntu-classroom.txt

vishuhey guys06:33
=== 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: Packaging Training Session - Current Session: The sponsoring tools in ubuntu-dev-tools - Instructor: tumbleweed
tumbleweedok, time to start, I guess16:03
tumbleweedHi, I am Stefano Rivera ( http://launchpad.net/~stefanor ), a recentish MOTU.16:03
tumbleweedMost of what I do at the moment is sponsoring universe packages, so I'm talking about tools to help with sponsoring.16:03
tumbleweedI've never given (or even watched) an #ubunt-classroom talk before, but feel free to heckle me via the chat channel (I have a thick skin)16:04
tumbleweedI don't think this will be very long (more time for questions), I don't have that much to cover, but here's what I'm planning to talk about: sponsor-patch, ack-sync.16:04
tumbleweedI suggest you check out lp:ubuntu-dev-tools and symlink ack-sync to ~/bin. That may also encourage you to contribute :)16:05
tumbleweedright, so: Why do we want to use tools to help with sponsorship?16:05
tumbleweed1. They check for the obvious errors (like closing bugs, updating maintainers)16:05
tumbleweed2. They save time (you can do more sporsoring in the same amount of time)16:05
tumbleweed3. You make less mistakes. Personally, I do most of my Ubuntu development on Debian machines (my desktop PCs run Debian), so if I forgot to set DEB_VENDOR=Ubuntu I wouldn't automatically close bugs in changelogs.16:05
tumbleweedsponsor-patch:16:06
tumbleweedthis is a tool recently written by bdrung (who seems to be on holiday atm)16:06
tumbleweedYou call it with a bug number, and it'll download the patch, the source, apply it, test build it, and ask you to confirm the upload.16:06
tumbleweedFor SRUs or other situations with multiple tasks / patches, you'll be prompted to select.16:06
tumbleweedExample:16:07
tumbleweed1. I find this bug on the sponsor list http://launchpad.net/bugs/58499716:07
tumbleweed2. I read the bug, scan the patch, and see that it's good to go. (it seems a bit over the top to introduce quilt, but it's already got SRU approval)16:07
tumbleweed3. I call sponsor-patch -e 58499716:07
tumbleweederr, -s16:08
tumbleweed4. http://paste.ubuntu.com/487288/16:08
tumbleweed5. You can see that I run into a mistake by the patch-author, so I fix it and let it try again.16:08
tumbleweed6. I read the debdiff and lintian output, and approve the upload16:09
tumbleweed7. mark uploaded on LP, manually, and unsubscribe sponsors16:09
tumbleweedthat's that, and it's all quite quick and painless. I find it faster than pulling source packages and curl | patch -p116:10
tumbleweedack-sync:16:10
tumbleweedack-sync is pretty much the same thing, but for sync requests. It uses syncpackage to prepare a sync from debian, and (if it builds) allow you to upload to ubuntu.16:11
tumbleweedthere is still some uncertainty around whether syncpackage is archive-admin-friendly or not, but I haven't done any damage with it (yet?) so I'm using it until someone tells us not to.16:12
tumbleweedIf you don't approve of syncpackage, you could just not allow ack-sync to do the upload, and manually mark it ACKed.16:12
tumbleweedThe process:16:13
tumbleweed1. ack-sync $BUGNUMBER16:13
tumbleweedack-sync will find who requested the sync, and set them as the uploader for the synced package. It'll mark the bug as being "In progress" by you, and unsubscribe ubuntu-sponsors16:13
tumbleweedonce built, if you approve the upload, it'll mark it "Fix Committed"16:14
tumbleweed(pretend those were numbered points)16:14
tumbleweedack-sync can take multiple bug numbers if you have a big pile of syncs to review, so reviewing syncs can be quite quick16:15
tumbleweedone issue you may run into: If the sync requester doesn't have a public e-mail address on launchpad (and isn't an ubuntu member - who would have an ubuntu.com address), then it'll abort because it needs an e-mail address for the .changes16:15
tumbleweedyou can create a CSV file (Name, e-mail address) for such people as you encounter them. It'll read ~/.ack-sync-email.list16:16
tumbleweedobviously we do more review on syncs than just testing that they build.16:17
tumbleweedPersonally, I use grab-merge to pull the debian and ubuntu source (and pre-generated patches)16:17
tumbleweedRecently, when MoM was on an extended holiday (downtime) I wrote a tool that is equivalent to grab-merge, but uses the UDD branches we have for every package in Debian/Ubuntu (almost every package, some are out of date)16:18
tumbleweedlp:~stefanor/ubuntu-dev-tools/grab-udd-merge16:18
tumbleweedit does a bzr checkout of both the Debian and Ubuntu UDD branches, and performs a merge-package. Then it generates debdiff-like diffs.16:19
tumbleweedI find this very useful as a review tool, but I'm a little hesitant about putting it in ubuntu-dev-tools, because I'm not sure we are ready for merge requests to come in the form of bzr branches16:19
tumbleweedthey are hard to review in launchpad's merge review system, because we are normally more interested in the diffs against debian than the diff against the previous ubuntu version16:20
tumbleweedgrab-udd-merge can be used to review such merges (it'll generate the patches you want to see), call grab-udd-merge lp:~some-developer/some-package/merge-XXXXX16:21
tumbleweedand that's about all the material I have to cover. Questions?16:21
tumbleweedthe bot doesn't seem to have any questions for me (was anyone even listening?). Feel free to heckle me about this stuff any time :)16:24
ClassBotThere are are 10 minutes remaining in the current session.16:51
ClassBotThere are are 5 minutes remaining in the current session.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
=== yofel_ is now known as yofel
=== Jordan_U_ is now known as Jordan_U
=== jarlen_ is now known as jarlen
=== drubin_ is now known as drubin
=== Chaser is now known as CHASER

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