== Dev Week -- Working with Debian -- tumbleweed -- Wed, Feb 1st, 2012 == {{{#!irc [18:30] Hi everyone, I'm Stefano Rivera, an Ubuntu MOTU and Debian Developer [18:31] I live in South Africa, and have been actively working on Ubuntu & Debian for 3 years or so [18:31] I'm here to talking to you about Working with Debian [18:31] This is a short session (30 mins) so I've prepared some notes and will go fast. Maybe there'll be time for examples at the end, probably not [18:31] Laney will take a second session on doing work for Ubuntu *in* Debian, later tonight [18:31] Reminder to please ask any questions in #ubuntu-classroom-chat, and start them with QUESTION: [18:31] In fact, if you're listening, please wave in #ubuntu-classroom-chat, so I know how full the room is :) [18:32] == Why work with Debian? == [18:32] err [18:32] Right, that's the formalities, let's get moving [18:32] * tumbleweed waves to Kerbero, from my LoCo team :) [18:32] If you followed dholbach's introductory sessions yesterday, you'll know that Ubuntu is largely (~75%) unmodified Debian source packages, rebuilt [18:32] We like to keep it this way, because we don't actually have that many developers (~170 with upload rights, compared to Debian's ~900), and it makes sense to avoid duplicating work [18:33] You may not think of yourself as a Debian user, and you probably want to spend your time improving Ubuntu, not Debian, but improving Debian improves Ubuntu. [18:33] So, where possible, when issues affect both Debian and Ubuntu, we like to get them fixed in Debian and let the fix flow to Ubuntu [18:34] If it's too urgent for that in Ubuntu, we can fix it directly in Ubuntu, until the next Debian version brings the fix [18:34] Or if bringing in the next Debian version would bring in some undesired bits (e.g. after Feature Freeze, bring in new features), we can apply the fix directly in Ubuntu, and get the new version from Debian next cycle [18:34] debian and ubuntu don't have synchronised release cycles, so this kind of thing happens quite often [18:35] have I convinced everyone why you should care about debian, and submit patches there (or even upstream, when possible)? [18:35] I hope so [18:35] == Maintainership == [18:35] That's the motivation, now for a little discussion on the differences in culture between Debian and Ubuntu [18:36] In Debian, every package has a maintainer who (hopefully) cares for it. The maintainer gets e-mail for all the bugs filed against the package, and is responsible for looking after it [18:36] In Ubuntu, we don't have strong maintainership, anyone can upload any package without having to ask anyone else (except for some core packages, where we have people / teams that know them really well and probably want to talk to you first) [18:36] (ok, obviously you need upload rights to upload in debian or ubuntu, but both distributions have sponsorship proceses for new developers without upload rights. And we all started there) [18:37] Debian also has some teams (they are becoming more common), but every package will also have a human maintaining it [18:37] You can see who maintains a package by looking it up in the Package Tracking System (PTS) (or by doing an apt-cache showsrc) [18:37] The PTS URL is http://packages.qa.debian.org/SRC_PACKAGE_NAME [18:37] I'm referring to source packages everywhere, because that's what developers deal with. Source packages build binary packages, we fix the bugs in the source packages. [18:38] e.g. here are some packages I maintain: [18:38] http://packages.qa.debian.org/beautifulsoup [18:38] http://packages.qa.debian.org/pypy [18:38] You can see links to the equivalent Ubuntu pages in Launchpad, in the Ubuntu box on the right: http://pad.lv/u/beautifulsoup http://pad.lv/u/pypy [18:39] any questions about that? anyone never come across source packages before? [18:40] kanliot asked: i've never submitted a patch to a maintainer. what do i need to put in the email [18:40] right, good question [18:40] it depends a little on what the patch is for [18:40] if it's a packaging change, you should say why it's necessary [18:41] if it's an issue that only affects Ubuntu, not Debian, you should probably say so, and mark the bug minor/wishlist (the maintainer has no obligation to care about Ubuntu :P ) [18:42] generally, it should asy everything that a good bug report usually says (google for how to write a good bug report) [18:42] what causes the problem, what the problem is, how you propose fixing it [18:42] obounaim asked: where can i find packages to maintain? [18:42] if you want to take over maintainance of packages yourself, you can look at the list of orphaned packages [18:43] http://wnpp.debian.net/ [18:43] packages which are "O" are orphaned [18:43] "RFH" is a request for help, such as help triaging bugs [18:43] or help co-maintaining it [18:43] almost all big packages need help like that, all the time [18:44] "RFA" is request for adoption. The current maintainer would like to hand it over to someone, but still cares enough, not to orphan it [18:44] and of coures, anyone can propose to bring in new packages, and maintain them [18:44] see the debian new maintainers guide for more details on that bit [18:45] Ceno asked: I'm developing a free software application and intend to directly support Ubuntu by providing a PPA. Should I register as a maintainer and put together a package and publish for debian first and then somehow create a PPA where I treat my software as an external, upstream project? [18:45] Ceno: I don't see how that's directly relevant to working with Debian [18:45] but if you want to get your package into Ubuntu eventually (rather than just keep it in a PPA) [18:46] then getting into debian is a very good idea [18:46] Debian is generally a better distribution for maintaining ones onwn packages (the strong maintainership I mentioned) [18:46] metasansana asked: Are there any copyright or legal issues to be aware of when becomming the maintainer for a package? [18:46] metasansana: You are effectively the person responsible for it [18:47] it's up to you as the maintainer to review that everything within the package meets the Debian Free Software Guidelines [18:48] I've never heard of anyone being sued for screwing up there, but packages certainly get removed fro containing non-free bits [18:48] (the ftp-masters do a licencing check, but it's only a check) [18:48] hope that answers that [18:48] obounaim asked: What about Ubuntu where can i find packages to maintain? [18:48] most packages in Ubuntu could use some love [18:49] pick something that has lots of open bugs, and go through them [18:49] harvest.ubuntu.com is a great place to find things [18:49] subscribes to bugs from packages that you care about [18:49] *subscribe [18:49] ok, let's press on [18:49] == Debian's Bug Tracker == [18:49] If you look at the top right hand corner of a PTS page, you'll see a bugs box, this gets you to the right bit of Debian's Bug Tracking System (BTS) [18:49] they're broken down into totals by severity [18:50] most packages have very few bugs, so the "all" link is what you want [18:50] You can also go directly to http://bugs.debian.org/src:SRC_PACKGAGE_NAME or http://bugs.debian.org/BUG_NUMBER [18:50] Unlike Launchpad (although it also has e-mail support), the BTS is driven *entirely* by e-mail [18:50] You don't have to register for anything [18:50] There are 10 minutes remaining in the current session. [18:50] you don't need any special permissions [18:50] you can just e-mail any bug [18:50] Each bug is filed by sending a specially formated to e-mail to the BTS, and all comments are just replies to the bug's e-mail address. [18:51] Here's an example: http://bugs.debian.org/505442 [18:51] You can see that I replied to the bug and included some commands to modify the bug (and I CC-ed a special address that parses those commands) [18:51] You can find out more about the gorey details here: http://www.debian.org/Bugs/ or in last year's UDW session by Rhonda: https://wiki.ubuntu.com/MeetingLogs/devweek1103/GettingYourFixesIntoDebian [18:51] most of the time, you don't need the fancy bits, and can just reply to e-mail [18:52] Debian users report bugs with the "reportbug" tool. You should probably use that, or our "submittodebian" tool (in ubuntu-dev-tools) [18:52] To modify bugs, you may want to use the "bts" tool (in devscripts) (and, if you use mutt, bts show -m is pure awesome) [18:52] You'll need to set up a way for these tools to send e-mail [18:52] The first time you run submittodebian, it'll set up a working .reportbugrc that sends directly to the BTS, but you may want to edit that to use your normal SMTP server... [18:53] == Examples! == [18:53] OK, that was the high level overview. Let's squeeze in an example, and any last questions [18:53] bug 840709: [18:53] pah, there's no ubottu here [18:53] http://pad.lv/840709 [18:53] This bug is just a fix for some spelling errors in a package description. [18:54] If we fixed that directly in Ubuntu, we'd have to carry that change, and merge it into new versions of the package whenever they came from Debian [18:54] That takes effort, and isn't really worth it in this case [18:54] So, what the submitter did, was to forward the bug to Debian [18:54] He downloaded the package source, made the change, and then ran submittodebian [18:54] This automatically generated a debdiff, and fired up reportbug [18:55] It's a very handy tool! :) [18:55] Once he had the bug number (you get it by e-mail), he linked the debian bug to the Ubuntu one, to ease tracking [18:55] There are 5 minutes remaining in the current session. [18:55] Now we wait for the debian maintainer to apply that patch, and we'll get it for free :) [18:55] last questions? [18:56] (you can see the link to the forwarded bug, at the top, it's an extra bug task on "conduit (Debian)" [18:57] OK, hope that wasn't too fast and people were able to learn something [18:58] if you need any help in dealing with Debian, as an Ubuntu Developer / contributor, stick your nose into #debian-ubuntu on irc.oftc.net (Debian's IRC network) [18:58] there are a fair number of people who know Debian & Ubuntu in there [18:58] also, most of #ubuntu-motu can probably help out [18:58] kanliot asked: if this is as easy as you say, how come its so damn hard for me [18:58] ^ I love that question! [18:59] everything is probably quite hard the first time one does it [18:59] it gets easier :) [18:59] I can't really say much more without details, but I'm happy to help, if you ask me afterwards [18:59] metasansana asked: you mentioned ~75% so what would be the main diff between ubuntu and debian software [19:00] IIRC about 10% is minor changes (e.g. small bug fixes or dealing with the slightly different environment) }}}