From Fedora Project Wiki
m (Adding languages options)
(44 intermediate revisions by 28 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] .
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 [[PackageMaintainers/Join|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 [https://bugzilla.redhat.com/show_bug.cgi?id=845247].


We are working on the migration to Ruby 1.9. See [[The Road to Ruby 1.9]]
=== Creating RPM's ===
=== Creating RPM's ===
The ''guidelines'' for building Ruby packages can be found on a [[Packaging/Ruby| separate page]] .
The ''guidelines'' for building Ruby packages can be found on a [[Packaging/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 21: Line 24:
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.


[https://github.com/lutter/gem2rpm gem2rpm] is now available as <code>rubygem-gem2rpm</code>, and obsoletes <code>gem2spec</code>.
Please use the {{package|rubygem-gem2rpm}} utility for all new gem packages. (This tool obsoletes <code>gem2spec</code>).
 
=== 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 [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.
 
== 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 ==
[http://www.ruby-lang.org/ Ruby] <BR>
[http://www.ruby-lang.org/ Ruby] <BR>
[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://rubyforge.org/ RubyForge] <BR>
[http://rubyforge.org/ RubyForge] <BR>
[http://gemcutter.org/ Gemcutter] <BR>


== Mailing list ==
== Mailing list ==
{{fplist|ruby-sig}} mailing list
{{fplist|ruby-sig}} mailing list
==IRC Channel==
{{fpchat|#fedora-ruby}} on freenode.net
==Web portal==
[http://www.isitfedoraruby.com is-it-fedora-ruby]  ([http://github.com/zuhao/isitfedoraruby github])


== Currently Open Ruby Package Review Bugs==
== Currently Open Ruby Package Review Bugs==
The Ruby SIG also likes to get more Ruby packages into Fedora. The following are open review requests for ruby packages.
The Ruby SIG also likes to get more Ruby packages into Fedora. [https://bugzilla.redhat.com/buglist.cgi?list_id=580018&short_desc=rubygem-&query_based_on=Rubygems%20review&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&short_desc_type=allwordssubstr&component=Package%20Review&product=Fedora&known_name=Rubygems%20review This] is the list of opened review requests for ruby packages.
* [https://bugzilla.redhat.com/show_bug.cgi?id=445208 Review Request: rubygem-rapt] (dead review)
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=470696 Review Request: rubygem-passenger]
==Meetings==
There is not too many chances to meet and discuss Ruby topics related to Fedora. You can always hold an IRC meeting.


== Members ==
== Members ==
Line 71: Line 97:
# [[User:Witlessbird | Dmitri Dolguikh]]
# [[User:Witlessbird | Dmitri Dolguikh]]
# [[User:Jaysonr  | Jayson Rowe]]
# [[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: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]]
# [[User:Coffeina| Andrzej Dubaj]]
# [[User:smoitra | Sourav Moitra]]
# [[User:pvalena | Pavel Valena]]
# [[User:jaruga | Jun Aruga]]
# [[User:ribeiro | Athos Ribeiro]]
# [[User:akostadi | Aleksandar Kostadinov]]
# [[User:Jackorp1 | Jaroslav Prokop]]


== Package Wishlist ==
== Package Wishlist ==
Line 76: Line 121:
* [http://vpim.rubyforge.org/ vpim] - iCal/vcard support for Ruby, dependency of [http://www.offensivethinking.org/projects/ical2rem/ ical2rem]
* [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.
* [http://www.jus.uio.no/sisu/ SiSU] - Information structuring, publishing and search framework.
[[Category:SIGs]]
[[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 02:41, 22 December 2018

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

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 Package-x-generic-16.pngrubygem-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).

References

Ruby
Ruby-Doc.org
RubyGems.org
RubyForge

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 is not too many chances to meet and discuss Ruby topics related to Fedora. You can always hold an IRC meeting.

Members

If you are interested in joining the SIG, just add yourself to this list

  1. David Lutterkort
  2. Oliver Andrich
  3. Akira TAGOH
  4. Jeremy Hinegardner
  5. Michael Stahnke
  6. Conrad Meyer
  7. Mike Danko
  8. Jeroen van Meeuwen
  9. Alejandro Perez Torres
  10. Matthew Kent
  11. Guillermo Gómez
  12. Mamoru Tasaka
  13. John Taber
  14. Michal Fojtik
  15. Nelio Junior
  16. Jon Orris
  17. Deshi Xiao
  18. Daniel Bond
  19. Vít Ondruch
  20. Sergio Rubio
  21. Sean OMeara
  22. Lukáš Zapletal
  23. Bohuslav Kabrda
  24. Mo Morsi
  25. Saleem Ansari
  26. Jamie Nguyen
  27. Samridh Srinath
  28. Steve Linabery
  29. Dmitri Dolguikh
  30. Jayson Rowe
  31. D. Johnson
  32. Petr Chalupa
  33. Josef Stříbný
  34. Ivan Nečas
  35. Francesco Vollero
  36. Mark Klein
  37. Dhia Eddine
  38. Harish Ved
  39. Anup Nivargi
  40. Prathamesh Sonpatki
  41. Adam Miller
  42. Achilleas Pipinellis
  43. Andrzej Dubaj
  44. Sourav Moitra
  45. Pavel Valena
  46. Jun Aruga
  47. Athos Ribeiro
  48. Aleksandar Kostadinov
  49. Jaroslav Prokop

Package Wishlist

  • Rbot - Ruby IRC Bot framework.
  • vpim - iCal/vcard support for Ruby, dependency of ical2rem
  • SiSU - Information structuring, publishing and search framework.