Re: Let's discuss big changes in Ruby packaging for squeeze+1
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)
> > 5) Regarding test suites, we should really try to execute them during the
> > build (for every ruby implementation), as this will allow to detect
> > regressions.
>
> MRI's test-all has some stress test.
Yes, and we run them during build. But I was talking about test suite
shipped by libraries.
--
| Lucas Nussbaum
| lucas@lucas-nussbaum.net http://www.lucas-nussbaum.net/ |
| jabber: lucas@nussbaum.fr GPG: 1024D/023B3F4F |
Reply to: