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.
David