deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Lutterkort <>
Subject Re: Deltacloud dependencies
Date Wed, 31 Aug 2011 17:14:48 GMT
On Wed, 2011-08-31 at 19:22 +0300, wrote:
> However, the .gemspec only lists dependencies for the gems required to 
> run the deltacloud server (like 'sinatra', 'thin' etc). This means that 
> if you are just looking to download/use deltacloud and do a 'sudo gem 
> install deltacloud-core' you don't get the gems for talking to the cloud 
> providers. This will mean that 'deltacloudd -i ec2' gives a scary error 
> message about missing stuff. Not good for someone just trying out 
> deltacloud to see if its worth looking into.

What a pickle. I agree that we want people to only have to run 'gem
install deltacloud-core' and be able to run their favorite driver; we
could do what we do for the rpm's and have sub-gems for each of the
driver, but that might be overkill.

> Resolutions:
> A) Add Gemfile dependencies to the .gemspec:
> require 'bundler'
> do |s|
> ... (all the other dependencies and author, name etc)
> s.add_bundler_dependencies
> Problem with this approach is: 1) it adds a dependency for bundler, 
> before you can build/install the gem (no biggie really since our gemspec 
> already requires 'rake'). 2) 'add_bundler_dependencies' seems to have 
> been deprecated 3) 
> Gemfile has cloud provider dependencies in groups, and 
> add_bundler_dependencies doesn't include those
> B) Add a full list of dependencies to the .gemspec like here 
> but then does that make Gemfile redundant?
> I like B. What do other people think? Perhaps there isn't a problem? For 
> example, we can augment the Download instructions with text along the 
> lines of 'once you've installed deltacloud, you need to install gem X to 
> talk to cloud provider Y' but I think thats really counterproductive - 
> the whole point is to make getting and using deltacloud easy.

Yeah, I wouldn't want people to have to think too hard what drivers they
need and then install the supporting gems manually. I would have
preferred (A), since bundler is more precise about versions, but since
that's deprecated upstream, we should go with (B).


View raw message