[CentOS] recent ruby packages?

James B. Byrne byrnejb at harte-lyne.ca
Tue Feb 5 14:40:31 UTC 2013


On Mon, February 4, 2013 19:01, Les Mikesell wrote:
> On Mon, Feb 4, 2013 at 5:36 PM, Craig White <craig.white at ttiltd.com>
> wrote:
>>
>>
>> And lastly, Ruby is an ecosystem far beyond the base language. It
>> has a 'gem' package management system which again is cross platform
>> and even when you try to package ruby in rpm's, there's no way an RH
>> or EPEL will keep up with updates.
>>
>
> I guess I still don't understand why you think that is a good thing.
> If the developers didn't get it right the first dozen times, why do
> you think the next update will be better?  That is, if EPEL can't keep
> up, why would anyone want to?  If you don't have the QA that a
> packager does it means you have to do it yourself.
>

It is a good thing in the sense that the cost of entry for developers
who provide Ruby extensions is very, very, low as all platforms Ruby
runs on are essentially supported out of the box by RubyGems.  If one
becomes expert at RPM package building on RHEL/CentOS then how exactly
does that expertise translate from RHEL into say Debian; or BSD; or
OSX; or MS-Windows?  It does not.  On the other hand, any non-native
language extension released as a RubyGem and pushed to rubygems.org is
instantly available on every platform running a comparable version of
Ruby.

Further, with rubygems one has version control at the extension level
with support for concurrent versions built in.  Compare that with rpm
where one has exactly one choice of a given package for the entire
host.

The problem with system packagers like rpm from a Ruby developers
standpoint is that frequently developers are packaging language
components that are extracted from a larger application and not the
application itself. This is essentially how Ruby on Rails came to be
released.  In such cases a system level application package management
system is simultaneously too large and too small for Ruby gems.  It is
too big in that it requires too much overhead to get it to work at
all.  It is too small because it only handles one Linus distribution
and does nothing at all for any non-linux OS.

One must think in terms of plugins when considering RubyGems.  Firefox
10 ESR is packaged for CentOS as an rpm but most of the addons that
make FF valuable to me are plugins obtained directly by FF from the
Mozilla repository or from trusted third parties.  These addons are
not provided as rpms from RH and never will be.  RubyGems serve much
the same purpose as FF addons and they are implemented in a similar
fashion; an extension belongs to the application and not to the
system.

As for not getting 'it' right, whatever 'it' is, Ruby is not a single
implementation.  The baseline is the MRI but there exists several
alternative implementations including one written in Java.  Each of
these serves a different user audience while providing a common
syntax.

-- 
***          E-Mail is NOT a SECURE channel          ***
James B. Byrne                mailto:ByrneJB at Harte-Lyne.ca
Harte & Lyne Limited          http://www.harte-lyne.ca
9 Brockley Drive              vox: +1 905 561 1241
Hamilton, Ontario             fax: +1 905 561 0757
Canada  L8E 3C3




More information about the CentOS mailing list