[DRE-commits] [gem2deb] 01/02: dh-make-ruby: add tests and fix the dependencies thing

Antonio Terceiro terceiro at moszumanska.debian.org
Fri Feb 6 17:30:07 UTC 2015


This is an automated email from the git hooks/post-receive script.

terceiro pushed a commit to branch master
in repository gem2deb.

commit a3961b05351973d7ee40a7951cf21a17f17ca21e
Author: Antonio Terceiro <terceiro at debian.org>
Date:   Fri Feb 6 15:19:00 2015 -0200

    dh-make-ruby: add tests and fix the dependencies thing
---
 lib/gem2deb/dh_make_ruby.rb                   |  11 ++++++++---
 test/sample/simplegem/Rakefile                |   6 ++++++
 test/sample/simplegem/pkg/simplegem-0.0.1.gem | Bin 4096 -> 4608 bytes
 test/unit/dh_make_ruby_test.rb                |  23 +++++++++++++++++++++++
 4 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/lib/gem2deb/dh_make_ruby.rb b/lib/gem2deb/dh_make_ruby.rb
index 75c0e17..e220c5c 100644
--- a/lib/gem2deb/dh_make_ruby.rb
+++ b/lib/gem2deb/dh_make_ruby.rb
@@ -179,10 +179,15 @@ module Gem2Deb
         dep.type == :runtime
       end.each do |dep|
         dependency = gem_name_to_source_package_name(dep.name)
-        if dep.requirements != '>= 0'
-          dependency << (' (%s)' % dep.requirements.gsub('~>', '>='))
+        version = dep.requirement.to_s
+        if version == '>= 0'
+          yield(dependency)
+        else
+          dep.requirements_list.each do |v|
+            spec = v.gsub('~>', '>=').gsub(/>(\s+)/, '>>\1').gsub(/<(\s+)/, '<<\1')
+            yield('%s (%s)' % [dependency, spec])
+          end
         end
-        yield(dependency)
       end
     end
 
diff --git a/test/sample/simplegem/Rakefile b/test/sample/simplegem/Rakefile
index a89e8dd..e6cd2ee 100644
--- a/test/sample/simplegem/Rakefile
+++ b/test/sample/simplegem/Rakefile
@@ -16,6 +16,12 @@ spec = Gem::Specification.new do |s|
   s.description = <<EOF
 simplegem is a simple gem that is used to test gem2tgz.
 EOF
+
+  s.add_runtime_dependency 'dep'
+  s.add_runtime_dependency 'depwithversion', '1.0'
+  s.add_runtime_dependency 'depwithspermy', '~> 1.0'
+  s.add_runtime_dependency 'depwithgt', '> 1.0'
+  s.add_runtime_dependency 'depwith2versions', '>= 1.0', '< 2.0'
 end
 
 Gem::PackageTask.new(spec) do |pkg|
diff --git a/test/sample/simplegem/pkg/simplegem-0.0.1.gem b/test/sample/simplegem/pkg/simplegem-0.0.1.gem
index 2ffd644..6bba24e 100644
Binary files a/test/sample/simplegem/pkg/simplegem-0.0.1.gem and b/test/sample/simplegem/pkg/simplegem-0.0.1.gem differ
diff --git a/test/unit/dh_make_ruby_test.rb b/test/unit/dh_make_ruby_test.rb
index c14a2ed..aca2a2c 100644
--- a/test/unit/dh_make_ruby_test.rb
+++ b/test/unit/dh_make_ruby_test.rb
@@ -124,6 +124,29 @@ class DhMakeRubyTest < Gem2DebTestCase
     end
   end
 
+  context 'dependencies' do
+    setup do
+      text = File.read(File.join(DEBIANIZED_SIMPLE_GEM, 'debian/control'))
+      line = text.lines.find { |l| l =~ /^Depends: / }.strip
+      @dependencies = line.gsub(/^Depends:\s*/, '').split(/\s*,\s*/)
+    end
+    should 'get simple dependency' do
+      assert_include @dependencies, 'ruby-dep'
+    end
+    should 'get dependency with an exact version' do
+      assert_include @dependencies, 'ruby-depwithversion (= 1.0)'
+    end
+    should 'get version with spermy' do
+      assert_include @dependencies, 'ruby-depwithspermy (>= 1.0)'
+    end
+    should 'get version with >' do
+      assert_include @dependencies, 'ruby-depwithgt (>> 1.0)'
+    end
+    should 'get version with two requirements' do
+      assert_include @dependencies, 'ruby-depwith2versions (>= 1.0)'
+      assert_include @dependencies, 'ruby-depwith2versions (<< 2.0)'
+    end
+  end
 
   protected
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/gem2deb.git



More information about the Pkg-ruby-extras-commits mailing list