On 22/04/10 at 19:40 +0900, NARUSE, Yui wrote:
0) We try to provide as much support as possible for all ruby interpreters
(well, at least 1.8 and 1.9.1, but maybe also jruby). However, we decide
on a default version (1.8 currently) that all libraries must support.
We'll release Ruby 1.9.2 in this summer.
Sure, but that doesn't mean that the community will adopt it as a
replacement for ruby1.8. I hope it will be the case, of course.
So where 1.9.2 will install, /usr/lib/ruby/1.9.1 or /usr/lib/ruby/1.9.2?
Note that 1.9.2 intends to have ABI compatibility to 1.9.1.
It is likely that ruby1.9.2 will replace ruby1.9.1 if it is
ABI-compatible.
2) Instead of installing to /usr/lib/ruby/1.{8,9.1}, we install to:
/usr/lib/ruby/vendor_ruby/<= libraries that support all versions
of the interpreter
/usr/lib/ruby/vendor_ruby/1.8<= libraries that only support 1.8
/usr/lib/ruby/vendor_ruby/1.9.1<= libraries that only support 1.9.1
That allows to make a better difference between the stdlib and the
third-party libraries.
What will you do about a gem supports 1.8 and 1.9.1 but not 1.9.2.
Since it's ABI-compatible, it shouldn't exist, no? :-)
Anyway, we have two solutions here:
- install in vendor_ruby/1.8 and vendor_ruby/1.9.1 (possibly with
symlinks to reduce disk space)
- ignore the problem, and install it in vendor_ruby/ (similar to what is
done for Java in Debian)