WorkingWithDebian

Revision 1 as of 2012-02-02 09:29:17

Clear message

Dev Week -- Working with Debian -- tumbleweed -- Wed, Feb 1st, 2012

   1 [18:30] <tumbleweed> Hi everyone, I'm Stefano Rivera, an Ubuntu MOTU and Debian Developer
   2 [18:31] <tumbleweed> I live in South Africa, and have been actively working on Ubuntu & Debian for 3 years or so
   3 [18:31] <tumbleweed> I'm here to talking to you about Working with Debian
   4 [18:31] <tumbleweed> 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
   5 [18:31] <tumbleweed> Laney will take a second session on doing work for Ubuntu *in* Debian, later tonight
   6 [18:31] <tumbleweed> Reminder to please ask any questions in #ubuntu-classroom-chat, and start them with QUESTION:
   7 [18:31] <tumbleweed> In fact, if you're listening, please wave in #ubuntu-classroom-chat, so I know how full the room is :)
   8 [18:32] <tumbleweed> == Why work with Debian? ==
   9 [18:32] <tumbleweed> err
  10 [18:32] <tumbleweed> Right, that's the formalities, let's get moving
  11 [18:32]  * tumbleweed waves to Kerbero, from my LoCo team :)
  12 [18:32] <tumbleweed> If you followed dholbach's introductory sessions yesterday, you'll know that Ubuntu is largely (~75%) unmodified Debian source packages, rebuilt
  13 [18:32] <tumbleweed> 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
  14 [18:33] <tumbleweed> 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.
  15 [18:33] <tumbleweed> 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
  16 [18:34] <tumbleweed> If it's too urgent for that in Ubuntu, we can fix it directly in Ubuntu, until the next Debian version brings the fix
  17 [18:34] <tumbleweed> 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 [18:34] <tumbleweed> debian and ubuntu don't have synchronised release cycles, so this kind of thing happens quite often
  19 [18:35] <tumbleweed> have I  convinced everyone why you should care about debian, and submit patches there (or even upstream, when possible)?
  20 [18:35] <tumbleweed> I hope so
  21 [18:35] <tumbleweed> == Maintainership ==
  22 [18:35] <tumbleweed> That's the motivation, now for a little discussion on the differences in culture between Debian and Ubuntu
  23 [18:36] <tumbleweed> 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
  24 [18:36] <tumbleweed> 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)
  25 [18:36] <tumbleweed> (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)
  26 [18:37] <tumbleweed> Debian also has some teams (they are becoming more common), but every package will also have a human maintaining it
  27 [18:37] <tumbleweed> You can see who maintains a package by looking it up in the Package Tracking System (PTS) (or by doing an apt-cache showsrc)
  28 [18:37] <tumbleweed> The PTS URL is http://packages.qa.debian.org/SRC_PACKAGE_NAME
  29 [18:37] <tumbleweed> 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.
  30 [18:38] <tumbleweed> e.g. here are some packages I maintain:
  31 [18:38] <tumbleweed>  http://packages.qa.debian.org/beautifulsoup
  32 [18:38] <tumbleweed>  http://packages.qa.debian.org/pypy
  33 [18:38] <tumbleweed> 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
  34 [18:39] <tumbleweed> any questions about that? anyone never come across source packages before?
  35 [18:40] <ClassBot> kanliot asked: i've never submitted a patch to a maintainer.  what do i need to put in the email
  36 [18:40] <tumbleweed> right, good question
  37 [18:40] <tumbleweed> it depends a little on what the patch is for
  38 [18:40] <tumbleweed> if it's a packaging change, you should say why it's necessary
  39 [18:41] <tumbleweed> 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 )
  40 [18:42] <tumbleweed> generally, it should asy everything that a good bug report usually says (google for how to write a good bug report)
  41 [18:42] <tumbleweed> what causes the problem, what the problem is, how you propose fixing it
  42 [18:42] <ClassBot> obounaim asked: where can i find packages to maintain?
  43 [18:42] <tumbleweed> if you want to take over maintainance of packages yourself, you can look at the list of orphaned packages
  44 [18:43] <tumbleweed> http://wnpp.debian.net/
  45 [18:43] <tumbleweed> packages which are "O" are orphaned
  46 [18:43] <tumbleweed> "RFH" is a request for help, such as help triaging bugs
  47 [18:43] <tumbleweed> or help co-maintaining it
  48 [18:43] <tumbleweed> almost all big packages need help like that, all the time
  49 [18:44] <tumbleweed> "RFA" is request for adoption. The current maintainer would like to hand it over to someone, but still cares enough, not to orphan it
  50 [18:44] <tumbleweed> and of coures, anyone can propose to bring in new packages, and maintain them
  51 [18:44] <tumbleweed> see the debian new maintainers guide for more details on that bit
  52 [18:45] <ClassBot> 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?
  53 [18:45] <tumbleweed> Ceno: I don't see how that's directly relevant to working with Debian
  54 [18:45] <tumbleweed> but if you want to get your package into Ubuntu eventually (rather than just keep it in a PPA)
  55 [18:46] <tumbleweed> then getting into debian is a very good idea
  56 [18:46] <tumbleweed> Debian is generally a better distribution for maintaining ones onwn packages (the strong maintainership I mentioned)
  57 [18:46] <ClassBot> metasansana asked: Are there any copyright or legal issues to be aware of when becomming the maintainer for a package?
  58 [18:46] <tumbleweed> metasansana: You are effectively the person responsible for it
  59 [18:47] <tumbleweed> it's up to you as the maintainer to review that everything within the package meets the Debian Free Software Guidelines
  60 [18:48] <tumbleweed> I've never heard of anyone being sued for screwing up there, but packages certainly get removed fro containing non-free bits
  61 [18:48] <tumbleweed> (the ftp-masters do a licencing check, but it's only a check)
  62 [18:48] <tumbleweed> hope that answers that
  63 [18:48] <ClassBot> obounaim asked: What about Ubuntu where can i find packages to maintain?
  64 [18:48] <tumbleweed> most packages in Ubuntu could use some love
  65 [18:49] <tumbleweed> pick something that has lots of open bugs, and go through them
  66 [18:49] <tumbleweed> harvest.ubuntu.com is a great place to find things
  67 [18:49] <tumbleweed> subscribes to bugs from packages that you care about
  68 [18:49] <tumbleweed> *subscribe
  69 [18:49] <tumbleweed> ok, let's press on
  70 [18:49] <tumbleweed> == Debian's Bug Tracker ==
  71 [18:49] <tumbleweed> 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)
  72 [18:49] <tumbleweed> they're broken down into totals by severity
  73 [18:50] <tumbleweed> most packages have very few bugs, so the "all" link is what you want
  74 [18:50] <tumbleweed> You can also go directly to http://bugs.debian.org/src:SRC_PACKGAGE_NAME or http://bugs.debian.org/BUG_NUMBER
  75 [18:50] <tumbleweed> Unlike Launchpad (although it also has e-mail support), the BTS is driven *entirely* by e-mail
  76 [18:50] <tumbleweed> You don't have to register for anything
  77 [18:50] <ClassBot> There are 10 minutes remaining in the current session.
  78 [18:50] <tumbleweed> you don't need any special permissions
  79 [18:50] <tumbleweed> you can just e-mail any bug
  80 [18:50] <tumbleweed> 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.
  81 [18:51] <tumbleweed> Here's an example: http://bugs.debian.org/505442
  82 [18:51] <tumbleweed> 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)
  83 [18:51] <tumbleweed> 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
  84 [18:51] <tumbleweed> most of the time, you don't need the fancy bits, and can just reply to e-mail
  85 [18:52] <tumbleweed> Debian users report bugs with the "reportbug" tool. You should probably use that, or our "submittodebian" tool (in ubuntu-dev-tools)
  86 [18:52] <tumbleweed> To modify bugs, you may want to use the "bts" tool (in devscripts) (and, if you use mutt, bts show -m is pure awesome)
  87 [18:52] <tumbleweed> You'll need to set up a way for these tools to send e-mail
  88 [18:52] <tumbleweed> 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...
  89 [18:53] <tumbleweed> == Examples! ==
  90 [18:53] <tumbleweed> OK, that was the high level overview. Let's squeeze in an example, and any last questions
  91 [18:53] <tumbleweed> bug 840709:
  92 [18:53] <tumbleweed> pah, there's no ubottu here
  93 [18:53] <tumbleweed> http://pad.lv/840709
  94 [18:53] <tumbleweed> This bug is just a fix for some spelling errors in a package description.
  95 [18:54] <tumbleweed> 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
  96 [18:54] <tumbleweed> That takes effort, and isn't really worth it in this case
  97 [18:54] <tumbleweed> So, what the submitter did, was to forward the bug to Debian
  98 [18:54] <tumbleweed> He downloaded the package source, made the change, and then ran submittodebian
  99 [18:54] <tumbleweed> This automatically generated a debdiff, and fired up reportbug
 100 [18:55] <tumbleweed> It's a very handy tool! :)
 101 [18:55] <tumbleweed> Once he had the bug number (you get it by e-mail), he linked the debian bug to the Ubuntu one, to ease tracking
 102 [18:55] <ClassBot> There are 5 minutes remaining in the current session.
 103 [18:55] <tumbleweed> Now we wait for the debian maintainer to apply that patch, and we'll get it for free :)
 104 [18:55] <tumbleweed> last questions?
 105 [18:56] <tumbleweed> (you can see the link to the forwarded bug, at the top, it's an extra bug task on "conduit (Debian)"
 106 [18:57] <tumbleweed> OK, hope that wasn't too fast and people were able to learn something
 107 [18:58] <tumbleweed> 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)
 108 [18:58] <tumbleweed> there are a fair number of people who know Debian & Ubuntu in there
 109 [18:58] <tumbleweed> also, most of #ubuntu-motu can probably help out
 110 [18:58] <ClassBot> kanliot asked: if this is as easy as you say, how come its so damn hard for me
 111 [18:58] <tumbleweed> ^ I love that question!
 112 [18:59] <tumbleweed> everything is probably quite hard the first time one does it
 113 [18:59] <tumbleweed> it gets easier :)
 114 [18:59] <tumbleweed> I can't really say much more without details, but I'm happy to help, if you ask me afterwards
 115 [18:59] <ClassBot> metasansana asked: you mentioned ~75% so what would be the main diff between ubuntu and debian software
 116 [19:00] <tumbleweed> IIRC about 10% is minor changes (e.g. small bug fixes or dealing with the slightly different environment)