Dev Week -- MOTU Processes -- Daniel Holbach -- Wed, Feb 20
see also Tuesday session.
(10:59:57 AM) dholbach: WELCOME EVERYBODY TO DAY THREE OF UBUNTU DEVELOPER WEEK! (11:00:13 AM) dholbach: I hope that's enough caps for today and you don't mind if I write lower case from now on :) (11:00:17 AM) ***mruiz waves (11:00:20 AM) InsClusoe: Hurray! (11:00:28 AM) mrsno: hey :) (11:00:29 AM) dholbach: please ask questions in #ubuntu-classroom-chat, prefixed with QUESTION: (11:00:35 AM) dholbach: everybody excited? (11:00:37 AM) dholbach: ready to go? (11:00:49 AM) ***InsClusoe wags his tail furiously.. (11:00:55 AM) dholbach: hehehe :-) (11:01:13 AM) dholbach: https://wiki.ubuntu.com/UbuntuDeveloperWeek has the schedule of today and we'll start off with "MOTU Processes" (11:01:19 AM) nxvl_work: \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ \o\ /o/ (11:01:30 AM) Iulian: Wooah (11:01:37 AM) dholbach: I gave a session with the same title yesterday and will cover the same topics because I think they're important (11:02:04 AM) dholbach: please don't hesitate to ask all questions related to MOTU, Ubuntu Development and other stuff you're wondering about (11:02:08 AM) nxvl_work: dholbach: i will handle the questons again (11:02:15 AM) dholbach: nxvl_work: you ROCK (11:02:37 AM) dholbach: so there's been talk about MOTU for the whole week already - I hope you all know what MOTU is about :) (11:03:22 AM) dholbach: MOTU is the first stepping stone into Ubuntu Development and the team who will help you get started (11:03:40 AM) dholbach: as member of the MOTU team you can upload packages to universe and multiverse (11:04:00 AM) dholbach: the process to join the team is pretty straight-forward: (11:04:26 AM) dholbach: - you work with sponsors (more about that in a bit) who will review your packages and patches and upload them into the archive once they're happy (11:05:08 AM) dholbach: - once the sponsors tell you: "hey man, you should be able to do this on your own - you're really good", you should probably consider applying for MOTU membership at the MOTU Council (11:05:12 AM) dholbach: and that's all there is to it (11:05:57 AM) dholbach: Sponsoring means: somebody who's member of ~ubuntu-dev will review your patch or package, sign it with their gpg key, then upload to the build daemon (11:06:26 AM) dholbach: the advantage of this process is: you don't have a fixed sponsor but work with a team, so you can learn a lot of different things from a lot of different people (11:06:37 AM) dholbach: also you get to know a lot of people who can help you out in the Ubuntu community (11:07:09 AM) dholbach: the sponsorship process is explained at https://wiki.ubuntu.com/SponsorshipProcess and means in a nutshell: (11:07:22 AM) dholbach: - you attach your patch on a bug report (11:07:51 AM) dholbach: - then subscribe the sponsors team (which for main/restricted packages is ubuntu-main-sponsors and for universe/multiverse packages is ubuntu-universe-sponsors) (11:08:00 AM) dholbach: does that make sense so far? (11:08:13 AM) dholbach: any questions about what it's like to go through the process or anything that's unclear? (11:08:59 AM) nxvl_work: <v0lksman> QUESTION: What's the difference between a sponsor and the REVU site? (11:09:06 AM) dholbach: v0lksman: good point (11:09:22 AM) dholbach: REVU is a page we set up quite a while ago to help us with reviewing NEW packages (11:09:36 AM) dholbach: NEW packages generally mean software that has never been in Ubuntu, so fresh new software :) (11:09:49 AM) dholbach: http://revu.tauware.de/ (11:10:07 AM) dholbach: https://wiki.ubuntu.com/MOTU/Packages/REVU explains how to upload software there (11:10:30 AM) dholbach: NEW packages are a bit different as they require much closer review, the review of a 'diff' is just not enough (11:10:30 AM) v0lksman: gotcha...thanks (11:10:34 AM) nxvl_work: <InsClusoe> QUESTION: How is ensured that patches don't break something else inadvertently? (11:10:36 AM) mruiz: dholbach, http://revu.ubuntuwire.com (11:11:10 AM) dholbach: getting a NEW package in requires two ACKs from ubuntu-dev members and is something we work on in the first half of the release cycle, the second half (after Feature Freeze) is dedicated to fix the packages we already have :) (11:11:18 AM) dholbach: InsClusoe: excellent question (11:11:23 AM) dholbach: there are a lot of things you can test: (11:11:30 AM) dholbach: - does it still build with the patch applied? (11:11:38 AM) dholbach: - is the patch integrated upstream or in debian already? (11:11:57 AM) dholbach: - checking the resulting binary packages: are there removed files? (11:12:20 AM) dholbach: - checking library packages: are there symbols which were removed from the library (11:12:22 AM) dholbach: - etc etc etc (11:13:19 AM) dholbach: there are lots of things to look at, especially when the patches are big - you learn a lot when you try to get patches included, it's the same kind of things you test when you review other patches :) (11:14:21 AM) dholbach: <InsClusoe> QUESTION: How is ensured that patches don't break something else inadvertently? (11:14:21 AM) dholbach: QUESTION: Ok.. Is there any checklist that I can refer to so that I can have a certain level of confidence in the patch I submit? (11:14:34 AM) dholbach: https://wiki.ubuntu.com/UbuntuDevelopment/CodeReviews has a good overview but is probably not complete :) (11:15:10 AM) dholbach: InsClusoe: if you have doubts about the patch you're about to submit, it's probably best to point that concern out in the bug report so people know what to look at (11:15:40 AM) InsClusoe: Yup.. Makes sense.. Thanks. (11:15:57 AM) dholbach: I personally trust people more who point out that they're unsure - it's a sign of good collaboration (11:16:22 AM) dholbach: <slytherin> QUESTION: Recently the process for new versions of packages was changed from 'submit interdiff' to 'submit .diff.gz'. What are the reasons and how does newer process helps sponsoring? (11:16:39 AM) dholbach: slytherin: the process was changed back to .diff.gz (11:17:00 AM) dholbach: some developers found using and reviewing an interdiff to be a bit cumbersome (11:17:35 AM) slytherin: Makes sense. Thanks. :-) (11:17:54 AM) dholbach: people seemed to be more familiar with using filterdiff on diff files, but I have to admit there were other more technical reasons, I can't find the reference right now (11:18:05 AM) dholbach: excusez-moi :) (11:18:27 AM) dholbach: any more questions on how to get your packages / patches included? what is expected of a MOTU or anything else? (11:18:58 AM) nxvl_work: dholbach: mi list is empty (11:19:01 AM) nxvl_work: my* (11:19:08 AM) dholbach: ok, let me talk a bit about Events - it's not so much a process but something that might help get you started (11:19:31 AM) dholbach: every Friday at 13:00 UTC (minus the coming Friday) we have a MOTU Q&A session in this very channel (11:19:59 AM) dholbach: it's a good time to meet developers and talk about problems you're having or things you don't understand in a smaller forum than this IRC session :) (11:20:14 AM) dholbach: also we do Packaging 101 session once a month (11:20:19 AM) dholbach: all of these happen in #ubuntu-classroom (11:20:32 AM) dholbach: other things that might be beneficial for you (11:20:37 AM) dholbach: - #ubuntu-motu of course :) (11:20:46 AM) dholbach: - firstname.lastname@example.org (11:20:59 AM) dholbach: don't hesitate to ask - there's always *somebody* awake :) (11:21:37 AM) dholbach: nxvl will give a session later on about how to get started on MOTU/TODO and MOTU/TODO/Bugs - that's going to be excellent (11:21:49 AM) yannick_lm: hi there (11:22:01 AM) dholbach: I talked a bit about Feature Freeze earlier (11:22:23 AM) dholbach: FF is the time when specs that are targetted for the current release need to be in a good shape already (11:22:34 AM) dholbach: and for us who do package maintenance it means: stabilisation (11:22:57 AM) dholbach: so we need to get exceptions for NEW packages and new upstream releases (if it's not 100% clear that it's a bugfix-only release) (11:23:18 AM) dholbach: some days before the release day we enter Hard Freeze where every single change will be reviewed (11:23:31 AM) dholbach: https://wiki.ubuntu.com/HardyReleaseSchedule for reference (11:23:46 AM) dholbach: does that make sense so far? (11:24:05 AM) dholbach: ok, it seems so :) (11:24:25 AM) dholbach: another important topic is the Sync Request Process (11:24:40 AM) dholbach: there's always some bit of confusion about what a sync actually is (11:25:18 AM) dholbach: a sync means: copy the source package from debian as-is, build it in ubuntu (11:25:30 AM) dholbach: this implies that all changes in the current Ubuntu package are overwritten (11:25:54 AM) dholbach: so if you decide to ask for a sync, you need to make 100% sure it'S OK to do that (11:26:37 AM) dholbach: if you've checked that the new package from debian builds, it's OK to sync it in the current time of the release cycle, you can file a bug report asking for the sync (11:26:53 AM) dholbach: you include the changelog of the debian package to indicate what has happened in the meantime (11:27:30 AM) dholbach: then (if you're not in ubuntu-dev yet) subscribe ubuntu-universe-sponsors if it's in unvierse/multiverse (ubuntu-main-sponsors accordingly) (11:27:50 AM) dholbach: they will ACK the report if it's OK, then get the ubuntu-archive team to do it :) (11:28:21 AM) dholbach: https://wiki.ubuntu.com/SyncRequestProcess also explains about a tool called requestsync which makes your life even easier (11:28:36 AM) dholbach: the same checks that InsClusoe and I talked about earlier apply to sync too (11:28:54 AM) dholbach: so if the synced debian package does not build on ubuntu we have a problem and need to fix it, etc etc (11:29:12 AM) dholbach: being in sync is a very good thing, but we need to be careful (11:29:16 AM) dholbach: what does it mean to be in sync? (11:30:07 AM) InsClusoe: It means we are using the latest version from upstream. (11:30:11 AM) dholbach: if you look at https://wiki.ubuntu.com/HardyReleaseSchedule again you will notice that from start of the release cycle to some time nine weeks later (until Debian Import Freeze) the status is all green (11:30:45 AM) dholbach: in this time we will sync the newest version of the debian package automatically (11:31:41 AM) dholbach: if you're in sync with debian and you run into problems you have more eyes on the problem, because you both use the same unmodified source (11:31:51 AM) dholbach: even better if the debian version is in sync with the version of the upstream authors :) (11:32:23 AM) dholbach: also: if we're not in sync we need to merge our changes manually in that green timeline of the release schedule (11:32:34 AM) dholbach: and that's a lot of work (11:33:03 AM) dholbach: for those of you who didn't have the time to attend James Westby's and nxvl's session about collaborating with debian here's the link: https://wiki.ubuntu.com/MeetingLogs/devweek0802/Debian (11:33:24 AM) dholbach: if we pass on our patches, we can make sure we get in sync quicker again, which we all benefit from (11:33:30 AM) dholbach: any questions? :) (11:33:53 AM) nxvl_work: dholbach: empty list again (11:34:06 AM) dholbach: nxvl_work: I just wanted to leave some time for people to ask questions :) (11:34:45 AM) dholbach: https://wiki.ubuntu.com/UbuntuDevelopment/Merging is a pretty good page of how to do merging (11:34:50 AM) nxvl_work: dholbach: yes, i know, but i was trying to tell you to wait for questions cause there are no one on queue :D (11:34:58 AM) ***dholbach hugs nxvl_work (11:35:08 AM) ***nxvl_work HUGS dholbach back (11:35:17 AM) nxvl_work: <InsClusoe> QUESTION: Between two releases, if there is no change in debian version of a package and there are a few ubuntu fixes, would we still sync with Debian at the start of the release cycle? (11:35:29 AM) dholbach: when Hardy+1 opens this is going to be the first big portion of things we work on and excellent to help out with :) (11:35:51 AM) dholbach: InsClusoe: no, as soon as a package contains "ubuntu" in the version string it is not synced (11:36:32 AM) dholbach: or hang on - did I understand your question correctly? (11:36:48 AM) dholbach: if there are no debian changes, there's nothing to sync (11:37:03 AM) dholbach: we can still try to pass on our ubuntu changes to the debian maintainer though (11:37:07 AM) dholbach: that's always advisable (11:37:32 AM) dholbach: James Westby and nxvl_work might have talked about a tool called submittodebian which makes the process of sending patches virtually painless (11:37:57 AM) dholbach: it makes use of https://wiki.ubuntu.com/Bugs/Debian/Usertagging internally (11:38:24 AM) dholbach: so that patches in the debian bugtracker get a tag called 'origin-ubuntu': http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=origin-ubuntu;email@example.com (11:39:14 AM) dholbach: other patches are directly grabbed by debian maintainers or live in some kind of revision control system, so you probably won't find every patch that was ever sent in that list (11:39:41 AM) dholbach: a few things I always highlight are: (11:40:04 AM) dholbach: - https://wiki.ubuntu.com/UbuntuDevelopment (for general process questions - like How does the archive work? When can I request a sync? etc) (11:40:23 AM) dholbach: - https://wiki.ubuntu.com/PackagingGuide (which helps with packaging, it has tutorials and everything) (11:40:46 AM) dholbach: - and https://wiki.ubuntu.com/MOTU (which lists team meetings, team organisation and so on) (11:41:05 AM) dholbach: https://wiki.ubuntu.com/MOTU/GettingStarted is the general first address :) (11:41:26 AM) dholbach: Who of you could imagine helping out in the MOTU team any time soon? :-) (11:41:55 AM) nxvl_work: o/ (11:42:13 AM) dholbach: that's all? :-) (11:42:17 AM) xander21c: I (11:42:19 AM) ***InsClusoe says yes if [soon=now]. (11:42:19 AM) daishujin: I'd like to try (11:42:31 AM) Picklesworth: :) (11:42:40 AM) dholbach: ROCK and ROLL - that's the spirit :-) (11:42:47 AM) Iulian: Who knows, I still have many things to learn. (11:43:06 AM) dholbach: What's your general impression of Ubutnu Development? Daunting? Crazy? (11:43:43 AM) Iulian: Impressive (11:43:47 AM) nxvl_work: HUGGY (11:43:48 AM) nxvl_work: :D (11:43:52 AM) dholbach: :-) (11:43:56 AM) Iulian: Heh :) (11:43:57 AM) dholbach: Iulian: impressive how? (11:44:07 AM) daishujin: these talks have certainly made me appreciate my desktop alot more! (11:44:23 AM) Iulian: dholbach: In many areas. (11:44:30 AM) bazhang: amazing what all of you do (11:44:42 AM) Iulian: I mean, I like how the team is working, helping each others... (11:44:58 AM) InsClusoe: It's really cool. (11:45:16 AM) slytherin: What is amazing is that you can help improve your own user experience. :-0 (11:45:27 AM) Iulian: Yes, indeed. (11:45:30 AM) slytherin: :-) (11:45:30 AM) dholbach: slytherin: exactly (11:45:52 AM) dholbach: what's important to me is to show you that you can help each other too and that the whole processes are no rocket science :) (11:46:12 AM) dholbach: but that with some patience, some detective skills and motivation you can be part of the whole thing too :) (11:46:27 AM) InsClusoe: QUESTION: How do you guys manage to ensure high levels of usability without any kind of automated testing? Or is there any wrong assumption on my part? (11:46:49 AM) dholbach: InsClusoe: automatic testing as in how? testing of usability? (11:47:19 AM) dholbach: by the way: Thursday 17:00 UTC: Writing Scripts For Automated Desktop Testing (Lars Wirzenius) (11:47:31 AM) InsClusoe: Companies usually have robots for UI testing and things like that. (11:48:02 AM) dholbach: Lars has been putting a lot of effort into figuring out the problem of UI testing (11:48:20 AM) dholbach: but we benefit of course of a lot of other developers working with us (11:48:53 AM) dholbach: so for example gnome packages before they are released in ubuntu have gone through a lot of hands already: the GNOME upstream developers have regular SVN checkouts and so on (11:49:18 AM) dholbach: some software (unfortunately not all) comes with HUGE test suites (11:49:32 AM) dholbach: if you look at the code of bzr for example - it's just amazing (11:50:15 AM) slytherin: And then there are beta testers. :-D (11:50:23 AM) dholbach: of course :) (11:50:25 AM) dholbach: <Shiv> QUESTION: Do the packages have associate test suites to ensure quality? (11:50:50 AM) dholbach: Shiv: we run regular installability test of packages and regular lintian checks too (11:51:02 AM) dholbach: lintian and linda are tools to check how policy compliant packages are (11:51:27 AM) dholbach: when it comes to test suites regarding the software itself we mostly depend on the test suites that upstream authors have written (11:51:58 AM) dholbach: a large degree of software written just for ubuntu has test suites too (like apport, jockey, etc) (11:52:26 AM) dholbach: and as far as I know the security team writes tests for the fixes they upload too (11:52:46 AM) dholbach: so if there should be a security regression it should be caught (11:52:59 AM) dholbach: <Shiv> QUESTION: How do you test installation and functionality of a base package (say glibc) (11:52:59 AM) nxvl: < Shiv> QUESTION: How do you test installation and functionality of a base package (say glibc) (11:53:02 AM) dholbach: :) (11:53:37 AM) dholbach: Shiv: piuparts is a tool that Lars Wirzenius has written which test installation of packages in a chroot (a fresh minimal environment) (11:53:45 AM) dholbach: libc6 is tested like all other packages too (11:53:52 AM) dholbach: another huge part of what we test is upgrades (11:54:12 AM) dholbach: we have machines doing nothing else but testing upgrades from gutsy to hardy, from dapper to hardy and so on (11:54:31 AM) dholbach: <Shiv> QUESTION: For a developer to test this, it would be painful. If a newer ubuntu release needs newer toolchain, building all of them is a difficult proposition. (11:55:03 AM) dholbach: Shiv: absolutely, which is why at least main is built with a new toolchain once it is put in place (11:55:12 AM) dholbach: https://wiki.ubuntu.com/HardyReleaseSchedule indicates when those tests are run (11:55:43 AM) dholbach: any more questions about Ubuntu Development? :) (11:56:00 AM) dholbach: what I like about the questions from you guys today is: you absolutely want to do it right - that's great (11:56:29 AM) nxvl: < Shiv> QUESTION: Is toolchain uploading done by MOTUs or core-dev (11:56:53 AM) dholbach: Shiv: doko is your man - he's in charge of the toolchain and an awesome guy (11:57:06 AM) lsaavedr: holas (11:57:15 AM) dholbach: he's employed by Canonical, a core-dev and works in the Debian Toolchain team too (11:58:05 AM) dholbach: more questions? :) (11:58:21 AM) dholbach: if not, you have two more minutes until the next session :) (11:58:34 AM) dholbach: thanks everybody for coming to the session! (11:58:47 AM) russell__: no problem ;) (11:59:14 AM) ***mruiz hugs dholbach (11:59:16 AM) Iulian: dholbach: No, thank you! (11:59:22 AM) dholbach: :-)))) (11:59:24 AM) ***dholbach hugs Iulian (11:59:35 AM) Iulian: Hehe (11:59:44 AM) dholbach: oh.... I completely forgot something! Packaging Jams! (11:59:54 AM) dholbach: watch out for Packaging Jams in your area :)