From Fedora Project Wiki
m (→‎Members: Add myself)
m (Small grammar fix.)
(29 intermediate revisions by 14 users not shown)
Line 1: Line 1:
= Ruby Special Interest Group =
{{autolang|base=yes}}
{|width="100%" align="center"
{|width="100%" align="center"
|-
|-
Line 10: Line 10:
== State of Affairs ==
== 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 [http://fedoraproject.org/wiki/PackageMaintainers/Join submitting it to Fedora] .
We are always happy to get more Ruby packages into Fedora. That means that you, dear reader, can become a hero by packaging your favorite piece of Ruby code as an RPM and [[Join_the_package_collection_maintainers|submitting it to Fedora]].


* We are closely following Ruby MRI development. There is available .spec file for Ruby 2.0 in the [http://pkgs.fedoraproject.org/cgit/ruby.git/log/?h=ruby-2.0 branch of Ruby's official repository]
* We are closely following Ruby MRI development. Once a new Ruby release gets in the wild it is packaged for Rawhide.
* We are working towards packaging [http://lists.fedoraproject.org/pipermail/ruby-sig/2012-September/001096.html JRuby 1.7] for F18.
* All Ruby implementations should be able to use gem provided by the single package, but we are not yet there.
* We are trying to package [https://github.com/mifo/rubinius-fedora Rubinius] for Fedora.
* All Ruby implementations should be able to use gem provided by single package, but we are not yet there.
* We try to make possible to install several version of gem on single system [https://bugzilla.redhat.com/show_bug.cgi?id=845247].


=== Creating RPM's ===
=== Creating RPM's ===
The ''guidelines'' for building Ruby packages can be found on a [[Packaging/Rubyseparate page]] .
The ''guidelines'' for building Ruby packages can be found on a [https://docs.fedoraproject.org/en-US/packaging-guidelines/Ruby/ separate page].


[[OliverAndrich|  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.
[[OliverAndrich|  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.
Line 26: Line 23:
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.
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 {{package|rubygem-gem2rpm}} utility for all new gem packages. (This tool obsoletes <code>gem2spec</code>).
Please use the {{package|rubygem-gem2rpm}} utility for all new gem packages.


=== Bundler and RPM ===
=== Bundler and RPM ===


Fedora doesn't allowing vendorizing packages without special exception, but this does not mean bundler based applications cannot be used with the Fedora stack
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 [https://github.com/bundlerext/bundler_ext 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 [https://github.com/bundlerext/bundler_ext 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 [https://github.com/ManageIQ/polisher 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.
The [https://github.com/ManageIQ/polisher 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 ==
* [https://github.com/lutter/gem2rpm gem2rpm] Generate an rpm from a rubygem.
* [https://github.com/daviddavis/pkgwat pkgwat] Checking that your project's gems are available in Fedora/EPEL repos.
* [https://github.com/strzibny/gem-compare gem-compare] A RubyGems plugin that compares versions of the given gem.
* [https://github.com/ManageIQ/polisher polisher] A Ruby module and set of utilities aimed to assist the post-publishing packaging process for Ruby gems and applications.
* [https://github.com/bundlerext/bundler_ext 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|DNF]]/[[yum|YUM]]/apt).


== References ==
== References ==
Line 40: Line 45:
[http://www.ruby-doc.org/ Ruby-Doc.org] <BR>
[http://www.ruby-doc.org/ Ruby-Doc.org] <BR>
[http://rubygems.org/ RubyGems.org] <BR>
[http://rubygems.org/ RubyGems.org] <BR>
[http://rubyforge.org/ RubyForge] <BR>
[https://github.com/fedora-ruby/ fedora-ruby] repository at GitHub <BR>


== Mailing list ==
== Mailing list ==
Line 55: Line 60:


==Meetings==
==Meetings==
There is not too many chances to meet and discuss Ruby topics related to Fedora. But FUDCons might be ideal place to meet. Since several members of Ruby-SIG are going to visit [http://fedoraproject.org/wiki/FUDCon:Paris_2012 FUDCon Paris], I'd like to take this opportunity to invite everybody for small discussion about future of Ruby in Fedora.
There are not too many chances to meet and discuss Ruby topics related to Fedora. But 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:
 
=== Join the mailing list ===
To join the mailing list, you must subscribe to {{fplist|ruby-sig}} mailing list. Important news, discussions, and announcements take place there.
 
=== Send a self-introduction  ===
Send a self-introduction mail to [mailto:ruby-sig@lists.fedoraproject.org Ruby SIG mailing list] to introduce and tell us a bit about yourself. Tell us why are you interested in contributing and what area do you want to contribute to. Also you can share with us what projects are you working on and your role there. Additionally, 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 ===
Next step would be joining the {{fpchat|#fedora-ruby}} channel on the [[FreeNode]] [[IRC]] network.


== Members ==
=== Create an FAS Account ===
To be able to contribute to Fedora you will need a [[Account_System | FAS account]] and sign the [[Legal:Fedora_Project_Contributor_Agreement|Fedora Project Contributor Agreement]] if you have not already.


''If you are interested in joining the SIG, just add yourself to this list''
=== Members ===
Members of Ruby SIG are tracked by [https://admin.fedoraproject.org/accounts/group/members/ruby-sig/* ruby-sig FAS group]. The minimal requirement to get sponsored to the group is to go through all the steps above. Members of the group are awarded [https://badges.fedoraproject.org/badge/ruby-sig-member this nice small badge].


# [[DavidLutterkort| David Lutterkort]]
The old list of members, prior we used [https://admin.fedoraproject.org/accounts/group/members/ruby-sig/* ruby-sig FAS group], can be found in [https://fedoraproject.org/w/index.php?title=SIGs/Ruby&diff=543749&oldid=543748 wiki history]
# [[OliverAndrich| Oliver Andrich]]
# [[AkiraTagoh| Akira TAGOH]]
# [[JeremyHinegardner|  Jeremy Hinegardner]]
# [[MichaelStahnke|  Michael Stahnke]]
# [[ConradMeyer|  Conrad Meyer]]
# [[User:Mikedanko|  Mike Danko]]
# [[User:Kanarip | Jeroen van Meeuwen]]
# [[User:Aeperezt | Alejandro Perez Torres]]
# [[User:Mkent | Matthew Kent]]
# [[User:Gomix | Guillermo Gómez]]
# [[User:Mtasaka | Mamoru Tasaka]]
# [[User:jtaber  | John Taber]]
# [[User:mfojtik | Michal Fojtik]]
# [[User:neliojr | Nelio Junior]]
# [[User:Jorris | Jon Orris]]
# [[User:xds2000 | Deshi Xiao]]
# [[User:mrbond | Daniel Bond]]
# [[User:vondruch | Vít Ondruch]]
# [[User:RubioJr | Sergio Rubio]]
# [[User:someara | Sean OMeara]]
# [[User:lzap | Lukáš Zapletal]]
# [[User:bkabrda | Bohuslav Kabrda]]
# [[User:mmorsi | Mo Morsi]]
# [[User:tuxdna | Saleem Ansari]]
# [[User:jamielinux | Jamie Nguyen]]
# [[User:Samridh90 | Samridh Srinath]]
# [[User:slinabery | Steve Linabery]]
# [[User:Witlessbird | Dmitri Dolguikh]]
# [[User:Jaysonr  | Jayson Rowe]]
# [[User:fenris02 | D. Johnson]]
# [[User:Pchalupa | Petr Chalupa]]
# [[User:Jstribny | Josef Stříbný]]
# [[User:iNecas  | Ivan Nečas ]]
# [[User:Fvollero | Francesco Vollero ]]
# [[User:nicolassatragno | Nicolás Satragno ]]
# [[User:areke | Mark Klein ]]
# [[User:kendhia| Dhia Eddine ]]
# [[User:Something | Harish Ved ]]
# [[User:noopq | Anup Nivargi]]
# [[User:Cha1tanya | Prathamesh Sonpatki]]
# [[User:Maxamillion | Adam Miller]]
# [[User:Axilleas| Achilleas Pipinellis]]


== Package Wishlist ==
[[Category:SIGs]]
* [http://ruby-rbot.org/ Rbot] - Ruby IRC Bot framework.
* [http://vpim.rubyforge.org/ vpim] - iCal/vcard support for Ruby, dependency of [http://www.offensivethinking.org/projects/ical2rem/ ical2rem]
* [http://www.jus.uio.no/sisu/ SiSU] - Information structuring, publishing and search framework.
[[Category:Language-specific SIGs]]
[[Category:Language-specific SIGs]]
[[Category:Fedora special-interest groups]]
[[Category:Ruby]]
[[Category:Fedora special-interest groups|Ruby SIG]]

Revision as of 16:38, 23 May 2019

Application-x-ruby.png 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

We are always happy to get more Ruby packages into Fedora. 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.

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 Package-x-generic-16.pngrubygem-gem2rpm utility for all new gem packages.

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

References

Ruby
Ruby-Doc.org
RubyGems.org
fedora-ruby repository at GitHub

Mailing list

ruby-sig mailing list

IRC Channel

#fedora-ruby[?] on freenode.net

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.

Meetings

There are not too many chances to meet and discuss Ruby topics related to Fedora. But 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:

Join the mailing list

To join the mailing list, you must subscribe to ruby-sig mailing list. Important news, discussions, and announcements take place there.

Send a self-introduction

Send a self-introduction mail to Ruby SIG mailing list to introduce and tell us a bit about yourself. Tell us why are you interested in contributing and what area do you want to contribute to. Also you can share with us what projects are you working on and your role there. Additionally, 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

Next step would be joining the #fedora-ruby[?] channel on the FreeNode IRC network.

Create an FAS Account

To be able to contribute to Fedora you will need a FAS account and sign the Fedora Project Contributor Agreement if you have not already.

Members

Members of Ruby SIG are tracked by ruby-sig FAS group. The minimal requirement to get sponsored to the group is to go through all the steps above. Members of the group are awarded this nice small badge.

The old list of members, prior we used ruby-sig FAS group, can be found in wiki history