Differences between revisions 14 and 15
Revision 14 as of 2010-10-11 17:35:50
Size: 4127
Revision 15 as of 2010-10-11 17:37:58
Size: 4136
Deletions are marked like this. Additions are marked like this.
Line 43: Line 43:
 * have a [[gem2tgz]] script that generates a clean tarball as a basis for packaging work.  * have a [[/gem2tgz|gem2tgz]] script that generates a clean tarball as a basis for packaging work.

The Debian/Ruby Teams

The Debian/Ruby teams maintain the Ruby interpreters, libraries and applications. There are actually two different Ruby teams in Debian:

  • the pkg-ruby team maintains the interpreter
  • the pkg-ruby-extras team maintains libraries and applications

Most discussions happen on the debian-ruby mailing list. Discussions specific to pkg-ruby-extras also happen on the pkg-ruby-extras-maintainers list. You should be subscribed to both if you want to follow Ruby in Debian.

We also use IRC (#debian-ruby on irc.debian.org) quite a lot.


How you can help:

  • {*} Subscribe to the pkg-ruby packages (ruby1.8, ruby1.9.1, ruby-defaults) on the Packages Tracking System, and then contribute to the bug mail you get. (It is a good idea to also subscribe to bugmail from Ubuntu, see http://www.debian.org/doc/developers-reference/resources.html#pts-commands developers reference for details).

  • {*} Go through bugs, see if you can reproduce them and provide more information. Report them upstream when needed.

  • {*}{*} Checkout the SVN repository, see if you can provide a patch for some issues.


How you can help:

  • {*} Subscribe to the lists, and start contributing to solving bugs.

  • {*} Use the Packages overview to go through all existing bugs, and see if you can help with solving some of them.

  • {*}{*} Checkout the SVN repository, and see if you can improve the existing packages. There are many things that can be improved!

Mid- and Long-term tasks


{*} Provide backports for the key Ruby packages (interpreter, rubygems) for both Debian and Ubuntu stable releases.

Revamp the libraries packaging helper

{*}{*}{*}{*} Our current approach is based on cdbs, and duplicates a lot of code between binary packages when we provide both 1.8 and 1.9.X packages. It would be much better if we only had one package when the library works with both. Also, we need somehow to work with rubygems (this is a bit too hard currently). The approach could be:

  • have a ?gem2tgz script that generates a clean tarball as a basis for packaging work.

  • have a dh-make-ruby script that converts the tarball into a Debian source package, using the gem metadata as a basis
  • have a dh_ruby helper that would handle installing with either a modified setup.rb or a modified extconf.rb, run tests, etc.

Many things need to be well thought, like how to handle dependencies. Which makes this task quite hard to approach.

Use the alternatives system

{*}{*}{*} The alternatives system would allow to easily switch between Ruby 1.8 and Ruby 1.9.X (instead of the current "/usr/bin/ruby is a symlink to ruby1.8" approach). However, this requires rethinking how we package Ruby applications and libraries, to make sure that those that only work with one particular Ruby version will be correctly treated. We cannot just break them all.