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-*'
David
[1] http://fedoraproject.org/wiki/PackagingDrafts/RubyGems [2] http://people.redhat.com/dlutter/gem2spec.html [3] http://people.redhat.com/dlutter/yum/spec/
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.
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-*.
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?
enjoy,
-jeremy
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
packaging@lists.fedoraproject.org