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@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
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.
Vit
_______________________________________________
ruby-sig mailing list
ruby-sig@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/ruby-sig