WorkDebian

Dev Week -- How to work with Debian -- IainLane & Rhonda -- Tue, Jul 13th, 2010

(03:01:22 PM) Laney: Right, let's do this
(03:01:26 PM) Laney: do we have people in #-chat? :)
(03:02:03 PM) Laney: Ah yes, good good!
(03:02:07 PM) ***Laney spots a troublemaker in sebner already :)
(03:02:40 PM) Laney: So I'll quickly introduce myself... I'm Iain and I'm going to talk to you today about why you want to work with Debian
(03:02:49 PM) Laney: I'm a MOTU developer and contribute to Debian packaging too
(03:03:14 PM) Laney: Half or so of the session will also be given by Rhonda who is a long-time DD and recent MOTU, but she can introduce herself later :)
(03:04:07 PM) Laney: So what is Debian? Simply put, it is a hugely important Linux distribution which maintains some tens of thousands of pieces of free software
(03:04:35 PM) Laney: And almost uniquely in our Linuxy world, it is completely volunteer driven and not controlled by any commercial entity
(03:05:11 PM) Laney: The vast vast *vast* majority of software packages that are present in Ubuntu come from Debian packages in one way or another
(03:05:42 PM) Laney: Here's a graph that I found which shows how the packages in Universe are formed: https://merges.ubuntu.com/universe-now.png
(03:06:16 PM) Laney: Everything apart from the cyan wedge are packages which came from Debian — the dark blue wedge are those which haevn't been modified in Ubuntu at all
(03:06:26 PM) Laney: so you can see how important this project is to us :)
(03:06:51 PM) Laney: <zyga> QUESTION: is part of getting ubuntu-specific packages in debian part of the talk?
(03:06:58 PM) Laney: Not specifically, but I will try and get to this at the end
(03:07:16 PM) Laney: <simar> QUESTION: Yesterday I attended Danial's class. It was great but after learning packaging I don't know what to do, where to get started and how to help ubuntu. I hope you  will take care of this :)
(03:07:46 PM) Laney: This talk is more about the why rather than the how: It is intended to encourage people to contribute to Debian directly
(03:08:43 PM) Rhonda: It is also meant to cover how, but for a very specific area. :)
(03:08:53 PM) Laney: ...ok then, so I'm here to convince you to do your Ubuntu work in Debian directly rather than trying to get fixes into Ubuntu. Having the string "ubuntu" in a package version is what we're intending to minimise
(03:09:02 PM) Laney: Rhonda: Right, my half :P
(03:09:48 PM) Laney: The Ubuntu MOTU team has approximately an order of magnitude fewer developers than there are DDs (people who can upload to Debian), so we have really got no hope of keeping on top of that many packages without help
(03:10:15 PM) Laney: By working together with our biggest partner, we can make the effort of keeping Ubuntu in good shape go as smoothly as possible
(03:10:50 PM) Laney: Also there is another perspective to this partnership: getting fixes pushed upstream (to the source of the software) will help more people benefit from your work, which can't be a bad thing
(03:11:23 PM) MTeck is now known as MTecknology
(03:11:37 PM) Laney: I'm not going to spend time in this session talking about the technical process of how to send your work to Debian, but here are some pointers for that:
(03:11:48 PM) Laney:   - look at the script "submittodebian" in the ubuntu-dev-tools package
(03:12:01 PM) Laney:   - look at the program "reportbug" in the reportbug package
(03:12:29 PM) Laney: https://wiki.ubuntu.com/Debian/Bugs#Using%20submittodebian%20to%20forward%20patches%20to%20Debian this is also a good resource on how technically to go about forwarding bugs
(03:12:39 PM) Laney: and as always #ubuntu-motu on freenode is an excellent place to ask any question
(03:13:46 PM) ClassBot: tech2077 asked: When we contribute to debian, and we want a package we made for debian in ubuntu, what should we do
(03:14:42 PM) Rhonda: Packages that are in Debian will get imported automatically into Ubuntu - there usually is nothing needed at all, as long as the next release isn't pending like currently (Debian Import Freeze)
(03:14:50 PM) ClassBot: ari-tczew asked: do I need to be a DD to doing NMU?
(03:15:31 PM) Rhonda: No, you don't need to - though you'll need a DD to sponsor you to do the actual upload. The NMU itself can be get prepared by anyone.
(03:16:05 PM) Laney: contributing RC bug fixes by NMU is a great way to get involved in Debian btw: see various RCBW posts on Planet Debian :)
(03:16:10 PM) Laney: thanks Rhonda
(03:16:35 PM) Laney: Right, so imagine you've found a bug and have managed to identify the fix
(03:16:42 PM) Rhonda: Sidenote: NMU stands for Non Maintainer Upload - there is in many packages within Debian a pretty tight maintainer concept of who is responsible for the package.
(03:17:30 PM) Laney: It can be difficult for you to identify whether the fix is appropriate to Debian or to Ubuntu, and additionally whether the fix is serious enough to require Ubuntu uploading right away or whether you can wait for the Debian maintainer to upload and then do a sync from there
(03:17:57 PM) Laney: Part of your fixing process should be investigating how far upstream to push the fix:
(03:18:40 PM) Laney: If Debian is also seeing the bug, or if the fix is not specific to Ubuntu in any way — forward to the Debian bug tracking system (using submittodebian or reportbug)
(03:19:26 PM) Laney: If the fix is in the upstream code (not part of the Debian/Ubuntu packaging or any patch therein), then it might be nice to try and reproduce the problem on the vanilla upstream version and then send the patch direclty there
(03:19:41 PM) Laney: If it is somehow Ubuntu specific then just submit to Launchpad for sponsoring
(03:19:49 PM) Laney: if you are unsure then ask in #ubuntu-motu as always
(03:20:18 PM) Laney: I've dug up a couple of bugs to use as case studies so that we can decide what to do with some real patches
(03:20:46 PM) Laney: The first one is bug #604565 — https://bugs.launchpad.net/ubuntu/+source/motion/+bug/604565
(03:21:10 PM) Laney: have a look at the proposed diff — http://launchpadlibrarian.net/51774081/debian-ubuntu.debdiff — do you guys think this should be forwarded?
(03:21:54 PM) Laney: <simar> QUESTION: what is vanilla upstream version. Please relate it to bazaar
(03:22:36 PM) Laney: It's useful to download the upstream software from their website and compile it yourself, that way you can tell whether the bug you are seeing is a problem with their software or the way Debian/Ubuntu have set it up
(03:22:48 PM) Laney: that's what I mean by the vanilla upstream version
(03:24:02 PM) Laney: in bzr terms, perhaps a tagged commit? i.e. one which is an official upstream release
(03:24:07 PM) Laney: right, let's move on with the example
(03:24:58 PM) Laney: This is a good case of something which requires a little bit of investigation: the real change is a build-depends change from libmysqlclient15-dev → libmysqlclient-dev
(03:25:22 PM) Laney: What you'd want to do here is to investigate whether this fix applies to Debian too, to see whether we can forward the patch there
(03:25:37 PM) Laney: so we hop over to the PTS page of mysql-5.1 to have a look
(03:25:45 PM) Laney: that's this page: http://packages.qa.debian.org/m/mysql-5.1.html
(03:26:11 PM) Laney: we can see a package by the name libmysqlclient-dev in the "binaries" list, so that's a good start
(03:26:18 PM) Laney: we'll double check the changelog to be sure
(03:26:26 PM) Laney: that's here: http://packages.debian.org/changelogs/pool/main/m/mysql-5.1/current/changelog
(03:26:55 PM) Laney: In the entry for 5.1.37-1 we see the message "Drop empty transitional package libmysqlclient15-dev, and provide/replace it with libmysqlclient-dev
(03:26:58 PM) Laney: "
(03:27:04 PM) Laney: that is a very strong hint that we can indeed apply this fix to Debian too
(03:27:35 PM) Laney: so at this point I'd check the bugs list of the original package tos ee if the change is there: http://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=motion
(03:28:01 PM) Laney: it's not, so now I'd do a test build in a debian environment (e.g. from pbuilder-dist sid create with ubuntu-dev-tools instaled)
(03:28:09 PM) Laney: and if this all works, then forward the patch
(03:28:31 PM) Laney: and hopefully at the next upload the Debian maintainer picks it up and we can just sync the package again :)
(03:29:03 PM) Laney: I got this question in PM:
(03:29:04 PM) Laney: 13/07 20:16:39 <Moomoc> On the Debian site: Am I a Debian Developer when I'm just maintaining one or more packages in Debian, or am I just a Debian maintainer then?
(03:29:45 PM) Rhonda: The terms Debian Developer and Debian Maintainer come with specific permissions.
(03:29:47 PM) Laney: Both of those terms have technical meanings in Debian: a Debian Developer is someone who has passed through the New Maintainer process and has an @debian.org address. They have almost unrestricted upload access to the Deiban archive
(03:30:22 PM) Laney: Debian Maintainer is a more limited set of permissions that is correspondingly not as stringent to achieve. These people can upload to packages they are maintainer or co-maintainer of and have a specific control file field set
(03:30:53 PM) Laney: however you need have neither of these statuses to comment perfectly well to Debian; you will just have to have your uploads spnosored by someone with access
(03:31:09 PM) Laney: Rhonda: did you have some questions you wanted to answer now?
(03:31:37 PM) ClassBot: ari-tczew asked: mentors debian page is for new packages?
(03:31:56 PM) Rhonda: The mentors.debian.net effort is a site for conveniently uploading packages for seeking for sponsors.
(03:32:36 PM) Rhonda: There are some people monitoring uploads to there, but it is usually adviced to also look on the debian-mentors@lists.debian.org mailinglist or in #debian-mentors on OFTC (irc.debian.org)
(03:33:31 PM) ClassBot: porthose asked: If you are unable to make it to UDS or DebConf, how is one to get there key signed to become a DM, what alternatives are there?
(03:34:18 PM) Rhonda: There is a special page in the Debian wiki where you can look for people in your area. Debian Developers are usually found at most bigger conferences and events beside from UDS and DebConf, too.
(03:35:01 PM) Rhonda: There are alternatives too, but those became extremely discouraged in recent times and only apply to people living really off the track.
(03:35:48 PM) Rhonda: Thanks to nthykier, he digged up the keysigning URL: http://wiki.debian.org/Keysigning/Offers
(03:36:42 PM) Rhonda: You can also ask any DD to look up location information in the debian ldap to find additional people that might live in your area.
(03:37:21 PM) Laney: OK, I had another case study which was Ubuntu specific but I'll leave that for now :)
(03:37:26 PM) Laney: it was bug 582253 if you're interested
(03:38:22 PM) Laney: To wrap it up, I just want to quickly talk about actualyl maintaining packages in Debian
(03:38:35 PM) Laney: your contributions need not be limited to forwarding individual patches from Ubuntu
(03:39:11 PM) Laney: If you get more involved in Ubuntu development, you will probably find at some point that there is a particular package or group of packages that hold your interest more than the rest
(03:39:25 PM) Andre_Gondim-afk is now known as Andre_Gondim
(03:39:29 PM) Laney: when this happens to you, it's a good idea to have a look at how they are maintained in Debian and try and get involved directly there
(03:39:51 PM) Laney: for example I am a member of the Haskell packaging team and CLI (~ mono) teams
(03:40:44 PM) Laney: all of the advantages of patch forwarding apply here too — reducing deltas, getting your fixes out to more people etc. with the additional bonus that *you* get to decide (or at least help to decide) what gets into the Debian packages
(03:41:30 PM) Laney: even if your fave package isn't maintained in a team, it might be a nice idea to approach the maintainer and offer your time — often times people are pressed for time themselves and would appreciate your help
(03:42:15 PM) Laney: and by talking to Debian maintainers directly you will be speaking to people who have direct knowledge of the software they are dealing with — this is not guaranteed to be the case in the MOTU team :)
(03:42:27 PM) Laney: right, that's all I had to say for now
(03:42:37 PM) Laney: I believe Rhonda has a few words for you, if I didn't take up too much time… :)
(03:43:42 PM) Rhonda: Hi. I've sneaked in a few lines already, let me introduce myself properly. I'm a Debian Developer for a very long time who piled up a fair amount of packages to look after.
(03:44:28 PM) Rhonda: Over the time I found out that some of the packages I maintain carried diffs within Ubuntu that make sense for Debian, too.
(03:45:13 PM) Rhonda: So I wrote to the last person who I found in the changelog doing a change to one of the packages to ask why the changes weren't forwarded to me.
(03:45:42 PM) Rhonda: Response was mostly "I didn't do the changes, just the last sync."
(03:46:14 PM) Rhonda: Over the time though I was able to convince some of the people to understand that it is good for them to forward patches.
(03:46:42 PM) Rhonda: There are many good reasons, including that it's covered even in the Code of Conduct ;)
(03:47:19 PM) Rhonda: The most appealing reason though should be: It means less work! No more merges needed, no checking wether the patch still is required, wether the patch might even produce a conflict, and others.
(03:48:01 PM) Rhonda: When a package can easily get synced without requiring a merge, it is a win-win situation for everyone: The fix is available to a broader audience and there is no work anymore for you!
(03:48:19 PM) ClassBot: NMinker asked: Is there an IRC channel that we can talk to Debian Maintainers, much like we can with the Ubuntu MOTDs?
(03:49:10 PM) Rhonda: There is a very old channel that was pretty dead over the time but got reactivated recently for this purpose: #debian-ubuntu which lives on OFTC (irc.debian.org)
(03:51:04 PM) Rhonda: I'd like to mention two pages in the Ubuntu wiki that are closely related to this topic:
(03:52:13 PM) Rhonda: https://wiki.ubuntu.com/Debian/Bugs mentiones how the Debian Bug Tracking System (BTS) works and how one can interface with it. The approach is a fair bit different to launchpad, mostly in the way that it's email centric and doesn't have a web interface for changing bug status and comments.
(03:53:44 PM) Rhonda: Secondly, https://wiki.ubuntu.com/Debian/Usertagging is also extremely interesting. It helps keeping track of bugs that were submitted to Debian to get an overview of where one might need a little more prodding to get it applied, or find candidates of packages that might require NMUs to get them fixed.
(03:54:08 PM) ClassBot: Ram_Yash asked: Is there any code review tools used?
(03:55:02 PM) Rhonda: Usual people are more happy to receive ready patches to apply to the packages. When they are sent to the BTS they can easily be reviewed by the package maintainer or anyone else interested in the packages.
(03:55:27 PM) Rhonda: A very important question that I still want to address:
(03:55:32 PM) Rhonda: <fabrice_sp> and what abut DD or DM that are hostile? Is there a way to work around that hostility?
(03:56:06 PM) Rhonda: Unfortunately this is part of the reason why some Ubuntu people rather refrain from forwarding patches or bugs to Debian.
(03:56:37 PM) Rhonda: I'd like to stress that those might be very vocal but on the other hand are a rather small group.
(03:57:58 PM) Rhonda: The best advice is to try to keep your temper and stay calm. Feel invited to come over to #debian-ubuntu (OFTC) and seek help on advices for how to move on in those areas. Usually there are DDs around who have had their own issues with those people already and found a way to work around already, in the one or the other way.
(03:58:44 PM) Rhonda: I think our time is almost up - next session should start within a few minutes time.
(03:58:56 PM) Laney: Thanks for coming!
(03:59:18 PM) Laney: The take home message is: always think about Debian when fixing stuff in Ubuntu
(03:59:21 PM) ***Laney waves
(03:59:26 PM) Rhonda: Thanks for listening, and also for the good questions. :)

MeetingLogs/devweek1007/WorkDebian (last edited 2010-07-13 20:00:47 by ausimage)