Packaging rack-based applications for Fedora

Jeroen van Meeuwen kanarip at kanarip.com
Thu Feb 10 16:21:28 UTC 2011


On Thu, 10 Feb 2011 17:12:32 +0100, Michal Fojtik <mfojtik at redhat.com>
wrote:
> Hi,
> 
> I want to ask if there are any policies or guidelines for packaging
> 'rack-based' (Sinatra/Rails/..) projects for Fedora.
> 

Yes, there's a set of policies at:

  http://fedoraproject.org/wiki/Packaging:Ruby#Ruby_Gems

> * Where should be these application installed?
> 
> My preference is to install them inside /usr/lib or /usr/share
directory.
> 

This should become clear from the documentation I referred to.

> * Should be they marked as a 'rubygem-*'?
> 
> My opinion is *no*, because they will not provide 'gem' functionality,
> since they are not 'libraries'.
> 

If the distribution method is gem packages (e.g. '.gem' files), and the
command to install them originally is 'gem install', then yes the main
package should be named 'rubygem-*'. That said, however, if the '.gem' is
now only a part of the source RPM package, but not the main part, while you
could %package -n rubygem-* the gem as a sub-package, you oughta split the
sub-package containing the ruby gem into a source package 'rubygem-*'. That
said, if the main package is 'rubygem-*' but this does not seem appropriate
(e.g. users then need to 'yum install rubygem-deltacloud' where you want it
to be 'yum install deltacloud', have you thought of providing a
'deltacloud' meta-sub-package? This sub-package would not necessarily
contain any other files then perhaps just the documentation, but pull in
all the requirements including the rubygem-* package.

> * What if they are already packaged as 'gem', should be they installed
>    using 'gem install'?
> 
> My opinion here is that it doesn't matter what extension is used, it's
> still 'packaged source', so it can be 'unpacked' by gem install.
> 

I'm not sure I understand the question; if they are already packaged as
gem, they should be installed using 'gem install'. If 'gem install' is to
be used to install the package, then the source file extension should be
'.gem'.

-- Jeroen


More information about the ruby-sig mailing list