[Fedora-packaging] Packaging of ruby gems

David Lutterkort dlutter at redhat.com
Fri Mar 30 02:55:12 UTC 2007

On Wed, 2007-03-28 at 11:05 -0600, Jeremy Hinegardner wrote:
> On Thu, Mar 08, 2007 at 05:47:28PM -0800, David Lutterkort wrote:
> > At long last, I wrote up a guideline [1] for packaging ruby gems, ruby's
> > own packaging format; since almost any ruby library is packaged as a
> > gem, and some of them provide no other way of installation, it becomes
> > increasingly important to enable packaging of gems for Fedora. 
> > 
> > At the same time, it is fairly easy to automate most of this process[2],
> > which hopefully means that lots of people will submit packages of ruby
> > gems.
> > 
> > You can find some examples of ruby gems packaged as rpm's on my people
> > page [3] - look for specfiles called 'rubygem-*'
> I just became a packager and am very interested in making sure Fedora
> and rubygems work well together.  I'll try packaging up a couple of gems
> with your guidelines in the next week or so and see how it goes.  I may
> have comments or suggestions afterwards.

Excellent .. the rubygems proposal right now is stalled since I need to
try out how/whether we could package the same ruby library as a gem and
non-gem. Assum that we have rubygem-activerecord, which just installs
the gem, and that somebody needs to have ruby-activerecord since they
don't want to use gems for their application (it's somewhat remote but
possible as long as gems aren't a completely official part of the ruby)

What I need to try is if we can get away for the ruby-activerecord
package to just contain symlinks that go
from /usr/lib/ruby/site_ruby/1.8/*
  to /usr/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/*
so that we don't really install the same bits twice

> Have you given thought to gems that are also applications?  I have an
> application 'keybox' that is a gem, but it is really a command line
> application, at what point would we want to draw the line between saying
> package this as a rubygems-* vs. a normal package that just Requires:
> ruby and maybe some rubygems-*.

I would use hte same rule as for general ruby packages here: if the main
purpose of the gem is a library, it should be called rubygem-*; if the
main purpose of the gem is as an application and users don't really care
what language it is written in, I would call it just the name of the
application, i.e. 'keybox' in that case

> Or would you rather think of rubygems-* as being packaged from the gem
> and anything that was self contained be packaged from the .tgz or the
> original source?

That should be up to the packager, though I would guess that once we
have rubygems guidelines, the lion's share of ruby code will be packaged
from the gems, not from tarballs, since that is the normal, tested way
of installation for a lot of upstream projects.


More information about the Fedora-packaging mailing list