(this is a copy of an mail sent to ruby-core@ and ruby-talk@)
Since the beginning of 2011, the Debian Ruby team has been working onÂ several big changes. Those changes all are available in Debian unstable,Â some of them are also available in Debian testing, and they should allÂ be available in the next Debian and Ubuntu releases.
I think that it addresses most of the reasonable concerns about Ruby inÂ Debian.
Using alternatives to switch between Ruby implementations
The alternatives system is now used to manage the “ruby” symlink and theÂ other related symlinks, making it easy to switch between Ruby implementations (only Ruby 1.8 and 1.9.X at the moment) (see this mail for details). The defaultÂ choice for Ruby is still 1.8, but this change will make it easy for usÂ to make a switch to 1.9.X by default (likely by the release of DebianÂ wheezy).
Installing gems executables to /usr/local/bin
Rubygems (both as a standalone package, and as shipped with Ruby 1.9.X)Â now install executables to /usr/local/bin. (The other files still get installed under /var, see this mail)
Enabling gem update –system
gem update –system has been re-enabled. Since upgrading rubygems to aÂ version that may not have been properly tested with the rest of theÂ Debian system may cause issues in the user’s system, there’s a bigÂ warning about that. The user can confirm and upgrade rubygems anyway byÂ defining an environment variable.
New gem2deb packaging helper
There’s a new packaging helper, named gem2deb, that makes it very easyÂ to generate Debian source packages from Rubygems. We are in the processÂ of migrating all ruby libraries packaged in Debian to that new helper.Â It will take some time, though (help is welcomed).
Transition status: http://pkg-ruby-extras.alioth.debian.org/wheezy/
One big benefit of the switch to gem2deb for the Ruby community is that,Â in the process, we are enabling test suites at build time for eachÂ package and each Ruby implementation. This should make it easy to detectÂ regressions in new interpreter versions.
We will switch to Ruby 1.9.3 ASAP (probably when it is branched offÂ trunk, with a package first in Debian experimental). Since the RubyÂ compatibility version issue is likely to stay around, we willÂ re-evaluate how we are dealing with it (to avoid the ruby1.9.1 packageÂ <=> ruby -v = 1.9.2 problem that confuses many users). This is likely byÂ switching the package name to ruby1.9.3 (keep a ruby1.9.1 package forÂ compatibility). The package containing the shared library will stayÂ libruby1.9.1.