From Fedora Project Wiki

Revision as of 22:09, 17 May 2019 by Jackorp1 (talk | contribs) (Minor spell edits and replace the members sections with steps to join the Ruby SIG FAS group.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Ruby SIG
Ruby Special Interest Group

A SIG for people who are interested in improving the state of Ruby in Fedora. This includes packaging Ruby libraries and applications, setting and improving standards for packaging them as RPM's and maintaining Ruby packages for Fedora.

State of Affairs

Packaging Ruby libraries and applications for Fedora is still in its infancy, and only very few RPM's are available. We hope that this situation will improve dramatically over the next few months; that means that you, dear reader, can become a hero by packaging your favorite piece of Ruby code as an RPM and submitting it to Fedora.

  • We are closely following Ruby MRI development. Once a new Ruby release gets in the wild it is packaged for Rawhide.
  • All Ruby implementations should be able to use gem provided by the single package, but we are not yet there.
  • We try to make possible to install several version of gem on the single system [1].

Creating RPM's

The guidelines for building Ruby packages can be found on a separate page .

Oliver Andrich has created a specfile template for Ruby packages that is included in rpmdevtools 1.5 and later. Please start with this template when packaging Ruby code for Fedora.

Gems and RPM

Ruby has its own packaging format, gem, meant to be a cross-platform way to distribute Ruby software. Gems carry much of the metadata that RPM's carry, but not all of it, and because of their cross-platform nature violate the LSB. Gems that contain shared libraries also do not play nicely with multilib.

Please use the rubygem-gem2rpm utility for all new gem packages. (This tool obsoletes gem2spec).

Bundler and RPM

Fedora doesn't allow vendorizing packages without special exception, but this does not mean bundler based applications cannot be used with the Fedora stack.

The bundler_ext gem loads the system-installed versions of packages specified in a Ruby application Gemfile, providing a simple mechanism to switch between custom ruby stacks and distro-supported stacks.

The polisher gem implements many downstream / post-publishing operations and querying mechanisms. Developers and end users can utilize these to check the state of their Ruby gems and applications and move them along custom workflows.

Useful tools

  • gem2rpm Generate an rpm from a rubygem.
  • pkgwat Checking that your project's gems are available in Fedora/EPEL repos.
  • gem-compare A RubyGems plugin that compares versions of the given gem.
  • polisher A Ruby module and set of utilities aimed to assist the post-publishing packaging process for Ruby gems and applications.
  • bundler_ext Simple library leveraging the Bundler Gemfile DSL to load gems already on the system and managed by the systems package manager (like DNF/YUM/apt).



Mailing list

ruby-sig mailing list

IRC Channel

#fedora-ruby[?] on

Web portal

is-it-fedora-ruby (github)

Currently Open Ruby Package Review Bugs

The Ruby SIG also likes to get more Ruby packages into Fedora. This is the list of opened review requests for ruby packages.


There are not too many chances to meet and discuss Ruby topics related to Fedora. You can always hold an IRC meeting.

Join the Ruby SIG

We are always glad for new contributors. If you are interested in joining the SIG there are a few steps to do first:

Create an FAS Account

Create a FAS account, if you haven't already. To be able to contribute to Fedora you will need an FAS account and follow the steps for creating a new account. You can do this through the Fedora Account System.

Join the mailing list

To join the mailing list, you must subscribe to ruby-sig mailing list.

Send a self-introduction

Send a self-introduction mail to Ruby SIG mailing list to introduce yourself. Are you a new contributor to Fedora? If yes, tell us why are you interested in contributing and what area do you want to contribute to. Are you already a Fedora contributor? Share with us what projects are you working on and your role there. Also, it is the perfect place to ask what do you need help with to get started, maybe something left you confused? Just ask.

Join #fedora-ruby channel on IRC

Also be sure to join in the #fedora-ruby channel on the FreeNode IRC network.

Apply to Ruby SIG

You can apply to the Ruby SIG at the [group], to be able to apply you must have the CLA agreement already signed. This can be done through FAS. To become a member you must be sponsored by a sponsor from the group.

Package Wishlist

  • Rbot - Ruby IRC Bot framework.