As announced before, I spent a week last month in Vaumarcus, Switzerland, attending the 14th Debian conference (DebConf13).
It was great to be at DebConf again, with lots of people I hadn't seen since New York City three years ago, and lots of new faces. Kudos to the organizers for pulling this off. These events are always a great boost for motivation, even if the amount of free time after coming back home is not quite as copious as I might like.
One thing that struck me this year was the number of upstream people, not directly involved in Debian, who showed up. From systemd's Lennart and Kay, to MariaDB's Monty, and people from upstart, dracut, phpmyadmin or munin. That was a rather pleasant surprise for me.
Here's a report on the talks and BoF sessions I attended. It's a bit long, but hey, the conference lasted a week. In addition to those I had quite a few chats with various people, including fellow members of the Debian release team.
Day 1 (Aug 11)
Linux kernel : Ben Hutchings made a summary of the features added between 3.2 in wheezy and the current 3.10, and their status in Debian (some still need userspace work).
SPI status : Bdale Garbee and Jimmy Kaplowitz explained what steps SPI is making to deal with its growth, including getting help from a bookkeeper recently to relieve the pressure on the (volunteer) treasurer.
Hardware support in Debian stable : If you buy new hardware today, it's almost certainly not supported by the Debian stable release. Ideas to improve this :
- backport whole subsystems: probably not feasible, risk of regressions would be too high
- ship compat-drivers, and have the installer automatically install newer drivers based on PCI ids, seems possible.
- mesa: have the GL loader pick a different driver based on the hardware, and ship newer DRI drivers for the new hardware, without touching the old ones. Issue: need to update libGL and libglapi too when adding new drivers.
- X drivers, drm: ? (it's complicated)
Meeting between release team and DPL to figure out next steps for jessie. Decided to schedule a BoF later in the week.
Day 2 (Aug 12)
Munin project lead on new features in 2.0 (shipped in wheezy) and roadmap for 2.2. Improvements on the scalability front (both in terms of number of nodes and number of plugins on a node). Future work includes improving the UI to make it less 1990 and moving some metadata to sql.
jeb on AWS and Debian : Amazon Web Services (AWS) includes compute (ec2), storage (s3), network (virtual private cloud, load balancing, ..) and other services. Used by Debian for package rebuilds. http://cloudfront.debian.net is a CDN frontend for archive mirrors. Official Debian images are on ec2, including on the AWS marketplace front page. build-debian-cloud tool from Anders Ingeman et al. was presented.
openstack in Debian : Packaging work is focused on making things easy for newcomers, basic config with debconf. Advanced users are going to use puppet or similar anyway. Essex is in wheezy, but end-of-life upstream. Grizzly available in sid and in a separate archive for wheezy. This work is sponsored by enovance.
Patents : http://patents.stackexchange.com, looks like the USPTO has used comments made there when rejecting patent applications based on prior art. Patent applications are public, and it's a lot easier to get a patent application rejected than invalidate a patent later on. Should we use that site? Help build momentum around it? Would other patent offices use that kind of research? Issues: looking at patent applications (and publicly commenting) might mean you're liable for treble damages if the patent is eventually granted? Can you comment anonymously?
Why systemd? : Lennart and Kay. Pop corn, upstart trolling, nothing really new.
Day 3 (Aug 13)
dracut : dracut presented by Harald Hoyer, its main developer. Seems worth investigating replacing initramfs-tools and sharing the maintenance load. Different hooks though, so we'll need to coordinate this with various packages.
upstart : More Debian-focused than the systemd talk. Not helped by Canonical's CLA...
dh_busfactor : debhelper is essentially a one-man show from the beginning. Though various packages/people maintain different dh_* tools either in the debhelper package itself or elsewhere. Joey is thinking about creating a debhelper team including those people. Concerns over increased breakage while people get up to speed (joeyh has 10 years of experience and still occasionally breaks stuff).
dri3000 : Keith is trying to fix dri2 issues. While dri2 fixed a number of things that were wrong with dri1, it still has some problems. One of the goals is to improve presentation: we need a way to sync between app and compositor (to avoid displaying incompletely drawn frames), avoid tearing, and let the app choose immediate page flip instead of waiting for next vblank if it missed its target (stutter in games is painful). He described this work on his blog.
security team BoF : explain the workflow, try to improve documentation of the process and what people can do to help. http://security.debian.org/
Day 4 (Aug 14)
day trip, and conference dinner on a boat from Neuchatel to Vaumarcus
Day 5 (Aug 15)
git-dpm : Spent half an hour explaining git, then was rushed to show git-dpm itself. Still, needs looking at. Lets you work with git and export changes as quilt series to build a source package.
Ubuntu daily QA : The goal was to make it possible for canonical devs (not necessarily people working on the distro) to use ubuntu+1 (dev release). They tried syncing from testing for a while, but noticed bug fixes being delayed: not good. In the previous workflow the dev release was unusable/uninstallable for the first few months. Multiarch made things even more problematic because it requires amd64/i386 being in sync.
- 12.04: a bunch of manpower thrown at ubuntu+1 to keep backlog of technical debt under control.
- 12.10: prepare infrastructure (mostly launchpad), add APIs, to make non-canonical people able to do stuff that previously required shell access on central machines.
- 13.04: proposed migration. britney is used to migrate packages from devel-proposed to devel. A few teething problems at first, but good reaction.
- 13.10 and beyond: autopkgtest runs triggered after upload/build, also for rdeps. Phased updates for stable releases (rolled out to a subset of users and then gradually generalized). Hook into errors.ubuntu.com to match new crashes with package uploads. Generally more continuous integration. Better dashboard. (Some of that is still to be done.)
Lessons learned from debian:
- unstable's backlog can get bad → proposed is only used for builds and automated tests, no delay
- transitions can take weeks at best
- to avoid dividing human attention, devs are focused on devel, not devel-proposed
Lessons debian could learn:
- keeping testing current is a collective duty/win
- splitting users between testing and unstable has important costs
- hooking automated testing into britney really powerful; there's a small but growing number of automated tests
Ideas:
- cut migration delay in half
- encourage writing autopkgtests
- end goal: make sid to testing migration entirely based on automated tests
Debian tests using Jenkins http://jenkins.debian.net
- https://github.com/h01ger/jenkins-job-builder
- Only running amd64 right now.
- Uses jenkins plugins: git, svn, log parser, html publisher, ...
- Has existing jobs for installer, chroot installs, others
- Tries to make it easy to reproduce jobs, to allow debugging
- {c,sh}ould add autopkgtests
Day 6 (Aug 16)
X Strike Force BoF : Too many bugs we can't do anything about: {mass,auto}-close them, asking people to report upstream. Reduce distraction by moving the non-X stuff to separate teams (compiz removed instead, wayland to discuss...). We should keep drivers as close to upstream as possible. A couple of people in the room volunteered to handle the intel, ati and input drivers.
reclass BoF
I had missed the talk about reclass, and Martin kindly offered to give a followup BoF to show what reclass can do.
Reclass provides adaptors for puppet(?), salt, ansible. A yaml file describes each host:
- can declare applications and parameters
- host is leaf in a dag/tree of classes
Lets you put the data in reclass instead of the config management tool, keeping generic templates in ansible/salt.
I'm definitely going to try this and see if it makes it easier to organize data we're currently putting directly in salt states.
release BoF : Notes are on http://gobby.debian.org. Basic summary: "Releasing in general is hard. Releasing something as big/diverse/distributed as Debian is even harder." Who knew?
freedombox : status update from Bdale
Keith Packard showed off the free software he uses in his and Bdale's rockets adventures.
This was followed by a birthday party in the evening, as Debian turned 20 years old.
Day 7 (Aug 17)
x2go : Notes are on http://gobby.debian.org. To be solved: issues with nx libs (gpl fork of old x). Seems like a good thing to try as alternative to LTSP which we use at Logilab.
lightning talks
- coquelicot (lunar) - one-click secure(ish) file upload web app
- notmuch (bremner) - need to try that again now that I have slightly more disk space
- fedmsg (laarmen) - GSoC, message passing inside the debian infrastructure
Debconf15 bids :
- Mechelen/Belgium - Wouter
- Germany (no city yet) - Marga
Debconf14 presentation : Will be in Portland (Portland State University) next August. Presentation by vorlon, harmoney, keithp. Looking forward to it!
- Closing ceremony
The videos of most of the talks can be downloaded, thanks to the awesome work of the video team. And if you want to check what I didn't see or talk about, check the complete schedule.