New Ruby Guidelines Draft

Scott Seago sseago at
Tue Jan 3 15:09:26 UTC 2012

On 12/23/2011 04:31 AM, Vít Ondruch wrote:
> Dne 22.12.2011 17:19, Scott Seago napsal(a):
>> On 12/22/2011 09:09 AM, Vít Ondruch wrote:
>>>> - In the Rubygems section:
>>>> "For every dependency on a Gem named|gemdep|, the package must contain a|Requires|  on|rubygem(%{gemdep})|  with the same version constraints as the Gem"
>>>> Can this be a "should" or can we append a "where possible" onto the end of this. I've run into situations in the past where the constraints on the upstream gem are too restrictive, and infact the gem will work with a more lax gem set which we ship in Fedora
>>> You are right. We should not be as strict. Actually, I believe that 
>>> we should not use version unless necessary. We will try to polish 
>>> this formulation according to your suggestion.
>> Actually, we need to be very careful here. We've been bitten in the 
>> past by creating RPMs with deps that don't strictly follow the gem 
>> deps, since you then have a gem installed that, strictly speaking, 
>> doesn't meet its gem dep requirements. If you end up using bundler 
>> for something, it's going to complain. We had a big problem with this 
>> when we had an RPM for which the underlying gem required rspec 
>> (2.0+), but we required the rspec sub-packages instead.
>> Scott
>> _______________________________________________
>> ruby-sig mailing list
>> ruby-sig at
> Scott,
> I understand your point, unfortunately there is not good solution. In 
> Fedora, if you are *not* developer, then you have always one set of 
> packages which should work together and this should be ensured by its 
> packagers, i.e. the packagers in Fedora should replace the Bundler in 
> Ruby world. I know, its probably to much should but that is how it 
> works. Let me give you one example I remember:
> If you are using Rails 3, their dependency says that they needs Rack 
> ~> 1.3. However, we had in Fedora just Rack 1.1 and unresponsive 
> maintainer. So how would you solve it? We chosen to relax the Rails 
> dependency to ~> Rack 1.1 and everything worked just fine. However, if 
> you used your Gemfile.lock, it obviously either did not work on other 
> platforms or did not worked for Fedora. So in this case you can either:
> 1) Do not use Bundler.
> 2) Provide more Gemfile.lock, for each Fedora version etc.
> Generally I am fan of 1) and I would say we are using it quite often 
> already. There is plenty of gems which are trying to use Bundler to 
> execute their test suite and the best solution IMO is just to remove 
> "require 'bundler/setup'" and you don't rely on the Bundler anymore.
> Btw the problem with RSpec might be of two natures. Either you tried 
> to use Gemfile.lock which was not specific for the Fedora you used or 
> it was bug in packaging, i.e. the packager specified some RPM 
> requirements, but forgot to update the .gemspec to proper versions. 
> Speaking about that, we should note how to do that.
Yes, the issue with rspec was the second one. The RPM deps were modified 
from the gemspec, but the gem itself was left untouched.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ruby-sig mailing list