On 19/03/10 at 02:49 +0900, Aldric Giacomoni wrote:
> > In Debian Squeeze (next Debian release), we ship (and support for
> > several years) ruby 1.8 (likely 1.8.249+some backports) and ruby 1.9.1
> > (maybe a prerelease of 1.9.2, but unlikely). It would be totally insane,
> > to, additionally, try to support several versions of the same libraries.
> > Of course, if you want to install many different Ruby and gems versions,
> > and then try to keep them in a sensible state wrt security issues (which
> > are not that uncommon in the ruby world), that's your choice.
> 
> Sorry to be a pain for you maintainers. Switch to Gentoo ;-) It handles 
> all that very well, and has done a fantastic job of handling an overlay 
> tree for gems - you can essentially get the gems installed and supported 
> by your distribution. It is of course far from perfect, but they're 
> doing a fine job of it.
> Then again, they have just recently started handling license acceptance 
> for things like Java, VMWare and such, so Debian is eons ahead of them 
> in that regard -- which is in fact at the core of our current debate.

I think that rubygems and emerge and actually quite similar, which
probably explains why they work together well. Rubygems is a great tool
for developers who want to get the latest cutting edge software.
However, at some point, applications are transferred from developers to
sysadmins, and "cutting edge" isn't really a good selling point.
Internally (in an organization) it's fine, because you can just
vendorize all the gems you use. But if you want to distribute your
application to the outside world, it's difficult to explain that the
user needs to use rubygems to install that application because it's
written in ruby, while the ruby is just interested in the functionality
provided by the application, and doesn't care whether it's perl or ruby.

I think that approaches that aim at getting rubygems and apt-get to
cooperate are just wrong. Both rubygems and apt-get have good reasons to
exist, but they don't solve the same problem.  Instead, we should try to
develop a set of good practices that make it easier to convert a ruby
library into a "normal" Deb or RPM package. Much progress has already
been done lately, and the last libraries I've packaged didn't use
"require 'rubygems'" except in the test suite, so they did not require
any patching.

We are currently trying to finish the releases for Ubuntu Lucid and
Debian Squeeze (in order of appearance ;). After that, it is likely that
the way we package ruby libraries in Debian will be discussed with the
goal to make it easier to support both ruby 1.8 and 1.9.X (I don't see
Ruby 1.8 disappearing during the next 2.5 years). This discussion will
also be a good opportunity to discuss other aspects of Ruby packaging.

> Besides the issue of licensing mentioned above, the only other real 
> issue mentioned in this thread is "What will the users think?" or WWUT, 
> which can clearly be brought back to WWJDIHHAC (What would Jesus do if 
> he had a computer). JEG II made a change on Ruby's website to help 
> educating the users. Is it possible to add a message of some sort to the 
> pre-install apt-get warning when installing Ruby, to explain the 
> different Ruby packages?

I have kind-of done that a few hours ago.

Before:
# apt-get install ruby
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libruby1.8 ruby1.8
Suggested packages:
  ruby1.8-examples rdoc1.8 ri1.8
The following NEW packages will be installed:
  libruby1.8 ruby ruby1.8
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 2041kB of archives.
After this operation, 6644kB of additional disk space will be used.

Now:
# apt-get install ruby
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libruby1.8 ruby1.8
Suggested packages:
  irb rdoc ri libopenssl-ruby ruby-dev ruby1.8-examples rdoc1.8 ri1.8
The following NEW packages will be installed:
  libruby1.8 ruby ruby1.8
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 2060kB/2082kB of archives.
After this operation, 6980kB of additional disk space will be used.

(See the list of Suggested packages)

It's not much, but still a slight improvement, which should probably
have been done before.
-- 
| Lucas Nussbaum
| lucas / lucas-nussbaum.net   http://www.lucas-nussbaum.net/ |
| jabber: lucas / nussbaum.fr             GPG: 1024D/023B3F4F |