2010-03-15 59 views
2

gem2rpm的0.6.0版本包含给定Gem的所有(开发和运行时)依赖关系。gem2rpm包含所有依赖项,而不仅仅包含运行时依赖关系

示例:Rack Gem(http://rubygems.org/gems/rack)版本1.1.0没有运行时依赖关系,但有六个开发 依赖关系。

gem2rpm --dependencies rack-1.0.1.gem

控制台输出是:

  • ruby​​gem(测试规格)> = 0
  • ruby​​gem(露营)> = 0
  • ruby​​gem(FCGI)> = 0
  • ruby​​gem(内存缓存客户端)> = 0
  • ruby​​gem(杂种)> = 0
  • ruby​​gem(红宝石的OpenID)> = 2.0.0
  • ruby​​gem(thin)> = 0`

如何指定只包含运行时依赖项?

我也打开了rubyforge.org的门票,但该跟踪器上没有太多活动。

谢谢你的任何提示。

回答

4

发件人:Miguel Armas

我也遭受了这个错误。我纠正它仅包含 依赖型:

-- 
--- gem2rpm.rb.orig 2010-04-08 00:09:39.794856454 +0100 
+++ gem2rpm.rb 2010-04-08 00:27:11.808853058 +0100 
@@ -105,10 +105,12 @@ 
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u}-n) 
Requires: rubygems 
<% for d in spec.dependencies %> 
+<% if d.type == :runtime %> 
<% for req in d.version_requirements.to_rpm %> 
Requires: rubygem(<%= d.name %>) <%= req %> 
<% end %> 
<% end %> 
+<% end %> 
BuildRequires: rubygems 
<% if spec.extensions.empty? %> 
BuildArch: noarch 
-- 

我不包括:与下面的补丁,运行时开发依赖关系BuildRequires ,因为它们不需要从SRPM创建RPM

相关问题