add gem source handler #10

wants to merge 1 commit into

4 participants


I just started using fpm-cookery and would like a uniform interface to building packages. Since I use fpm to build Ruby gems, I hacked this branch together.

I don't know if this is of any value to you. Here's an example recipe:

class RubygemJson173 < FPM::Cookery::Recipe
  description 'This is a JSON implementation as a Ruby extension in C.'

  name 'rubygem-json'
  version '1:1.7.3'
  revision 1
  homepage ''
  source '', :with => :gem, :name => 'json', :version => '1.7.3', :as => 'json-1.7.3.gem'
  sha256 '1070e6cd2fedc0cb06e7e56a980b884bdf6e61a9184abb1c6e677d308b4c26d9'

  section 'ruby'

  def build
    # noop

  def install
    system "gem install --ignore-dependencies --no-rdoc --no-ri --bindir #{destdir}/usr/bin --install-dir=#{destdir}/usr/lib/ruby/gems/1.8 json-1.7.3.gem"

It would be cool to have some of the default fpm functionality in this though, like dependencies etc.


Thanks for your work! I was wondering, wouldn't it be easier to just provide a separate recipe class for rubygems? fpm knows how to handle rubygem sources already. (fpm -s gem -t deb json)

Something like this.

class JSON < FPM::Cookery::RubygemRecipe
  name 'json'
  version '1.7.3'

I think that should be enough. (maybe add dependecy handling later) What do you think?


+1 for FPM::Cookery::RubygemRecipe.

@smasset smasset referenced this pull request Mar 12, 2013

Gem Recipes #18


Another 👍 for class-specific overrides - we could extend this out to cover all the various things FPM can input from, so that one can easily define how to build a specific NPM/egg/gem package based off of a main, package-specific base.


Closing this because the gem receipes pull request (#18) has been merged.

@bernd bernd closed this Aug 19, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment