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 |