using markdown format ...

# Report from the Debian Ruby Sprint at Paris, April 2015

The Ruby team met at IRILL, Paris on the 8th to 10th of April for a Sprint.
Last year's sprint was a great success for the team, so we decided to have
another one.  We'd like to thank Cédric Boutillier for organizing the sprint
again, even though unfortunately he couldn't join us because of a flu, IRILL
for again hosting us, and the Debian sponsors who covered the costs of the
meeting.

## General information

* Location: [IRILL](http://www.irill.org/), Paris
* Attendants:
  * Antonio Terceiro
  * Christian Hofstaedtler
  * Sebastien Badia
  * Tomasz Nitecki

Raw notes taken during the spring can be seen at
[https://titanpad.com/ep/pad/view/debian-ruby-2015-paris](https://titanpad.com/ep/pad/view/debian-ruby-2015-paris)

The following sections provide information on the work that was accomplished
during the sprint. We'd hoped to do more disruptive changes, but we ended up
staging those in experimental.

## RC/important bugs

We've triaged and/or fixed almost all of the 'important' (and higher) bugs in
Ruby library packages. While doing this, we discovered that the popular
text-with-markup parsers bluecloth (a Markdown parser) and redcloth (a Textile
parser) are unmaintained upstream; we'd like to encourage anyone to work on
these projects upstream.

We also worked on the security bugs and Release Critical bugs
[#781238](https://bugs.debian.org/781238),
[#774661](https://bugs.debian.org/774661),
[#774044](https://bugs.debian.org/774044) and
[#782315](https://bugs.debian.org/782315).

A few houre were also invested in triaging and fixing bugs in Redmine, a
project management application written in Ruby that is maintained by the team.
This work has recently got in unstable, and will also probably be backported
into a stable update for the package in Jessie.

## General QA

Obsolete packages have been identified and requests for removal have been filed
and/or prepared. The obsolete "githubredir" service has been removed from the
team's watch files of all of the team packages.

The [Ruby page on the Debian wiki](http://wiki.debian.org/Ruby) was updated
with Jessie info.

We fixed a long standing issue with the handling of the /var/lib/gems/$VERSION
paths. On stretch and beyond, they will be shipped with the interpreter itself,
instead of with the bundler package (what required changes every time an
interpreter was added).

## Improved support for reproducible builds

We also worked on improve the support for [Reproducible
builds](http://reproducible.debian.net/) support on teams packages.

Two issues that affect a reasonable number of packages were handled:

 * yard was patched to not write timestamps to generated documentation files.
 * gem2deb was changed to remove timestamp files generated by rdoc during
   builds.

## Porting work

Ruby 2.2 has been available in unstable for a while, but none of the libraries
had been rebuilt for it so far. The new interpreter has removed support for many
interfaces that had been deprecated a long time ago, most notably Config (use
RbConfig instead) and the removal of the previously bundled Test::Unit library
(available as ruby-test-unit instead).

We ran multiple rebuilds of all ruby libraries (from experimental and unstable)
during the sprint (thanks to Lucas for provisioning a VM on AWS), and triaged
many of the resulting build failures. Many of the build failures found in the
2.2 rebuild are actually caused by the newer RSpec 3 which is also available in
experimental now. We've also found some other very interesting build failures,
e.g. test suites that killed our apt-cache-ng on port 9999, or tests leaving
processes behind when they failed (e.g.
https://github.com/brianmario/mysql2/issues/611). Many uploads to experimental
were done fixing common build failures.

## Whitelisting Ruby packages in Debian CI

We finished triaging test failures of the team packages on the Debian CI
infrastructure and fixed CI tests in multiple packages.  Because now more
packages pass automated tests, we updated the Ruby (and Perl) package
auto-whitelist on ci.debian.net so that a lot more packages will now be tested
on CI (see http://anonscm.debian.org/cgit/collab-maint/debian-ci-config.git for
details).

## Q&A: Sebastian Badia, first timer in a Ruby team sprint

**What were your expectations before the sprint?**

I have joined the Ruby team for a while now (just before the previous Ruby sprint,
also organized in IRILL) but I was not living in Paris at the time and after a
setback, I had not been able to participate to the Sprint. Investing in a team
without really knowing the people is not necessarily easy. So my expectations were
to meet the other team members, discuss, learn, and work on team-packages/infra/ci.

**How did it turn out?**

A little bewildered by the fact that Cedric was not there (the poor guy had
organized everything), which was the only person I previously knew. :-)

The Sprint was interesting, on a timing level we have not been able to play
with unstable because of the freeze, but it does not matter since there was
plenty of other stuff to do.  We also met with other members of the project
(Zack (<zack>, Nicolas <olasd>), and it was cool!

**What are the main take aways for you?**

A golden rule: never be sick before a Sprint. Ok it's a joke :-p Otherwise the
organisation was very fine, kudos to Cédric!

**Would you do it again?**

Yes! Sure, the Sprint was nice. And very motivating to work and learn with
others on team packages/infra.

-----------------------------------------------------------------------