[csw-maintainers] ruby 1.9 madness

Ben Walton bwalton at opencsw.org
Mon Feb 20 15:36:37 CET 2012

Hi All,

I'm hoping to get some input on a rather nasty issue with packaging
ruby 1.9.

The current version of 1.9 is 1.9.3p0.  When built, by default, I end
up with $libdir/ruby/1.9.1 and sonames like .so.1.9.1.  This is
because even though the language is at 1.9.3p0, the API is at 1.9.1
still so older libraries are still compatible.

This[1] thread outlines how the ruby devs plan for changes in the API
version.  I _do_ have the option to override the API number with a
configure option.

Thinking about how to handle library transitions and the installation
of gems, things could be messy for users (and us in terms of forced
repackaging) if the release 1.9.4 sees a change in the API.

So, it seems to me that I can either override the API number at build
time and use three digit versioning in the package names to allow
graceful transitions through the version/api matrix or use three digit
naming but make those digits line up with the API versio giving us
ruby191 for a package delivering ruby -v == '1.9.3'.  (The latter is
what Debian does currently.)  A dummy ruby19 package could always
point at the latest three digit version.

I think I prefer the former and it doesn't sound like Debian is happy
with their current solution[2], but neither is really appealing.

What do you folks thing about this mess?


[1] http://www.ruby-forum.com/topic/176847
[2] http://www.lucas-nussbaum.net/blog/?p=681
Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302

More information about the maintainers mailing list