[DRE-commits] [SCM] gem2deb.git branch, master, updated. e54f196cd9435c5147d4b83469a2be5cf12303b1

Lucas Nussbaum lucas at lucas-nussbaum.net
Fri Mar 25 07:20:00 UTC 2011


The following commit has been merged in the master branch:
commit 97f374cd1b347fe71432349c4dda487b30438949
Author: Lucas Nussbaum <lucas at lucas-nussbaum.net>
Date:   Wed Mar 23 16:06:59 2011 +0100

    Put everything in the same binary package.

diff --git a/debian/changelog b/debian/changelog
index 0c5d1ff..a10ac5a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,8 +11,9 @@ gem2deb (0.1.1) experimental; urgency=low
   * gem2tgz gemname now downloads the gem if needed.
   * Generate a better debian/copyright template.
   * Support DEB_BUILD_OPTIONS=nocheck.
+  * Put everything in the same binary package.
 
- -- Lucas Nussbaum <lucas at lucas-nussbaum.net>  Tue, 22 Mar 2011 19:01:47 +0100
+ -- Lucas Nussbaum <lucas at lucas-nussbaum.net>  Wed, 23 Mar 2011 16:06:45 +0100
 
 gem2deb (0.1.0) experimental; urgency=low
 
diff --git a/lib/gem2deb/dh_make_ruby.rb b/lib/gem2deb/dh_make_ruby.rb
index d8b60da..543ebe9 100644
--- a/lib/gem2deb/dh_make_ruby.rb
+++ b/lib/gem2deb/dh_make_ruby.rb
@@ -115,19 +115,27 @@ module Gem2Deb
       self.metadata = Gem2Deb::Metadata.new('.')
     end
 
+    MULTI_PACKAGES = false # kept in case we want to reintroduce that, as an option for example
     def detect_needed_binary_packages
-      binary_packages << Package.new(source_package_name)
-      if metadata.has_native_extensions?
-        binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.8-'))
-        binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.9.1-'))
-      end
+      if MULTI_PACKAGES
+        binary_packages << Package.new(source_package_name)
+        if metadata.has_native_extensions?
+          binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.8-'), 'any')
+          binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.9.1-'), 'any')
+        end
 
-      binary_packages.each do |package|
-	metadata.dependencies.each do |dependency|
-	  package.gem_dependencies << dependency
-	end
+        binary_packages.each do |package|
+          metadata.dependencies.each do |dependency|
+            package.gem_dependencies << dependency
+          end
+        end
+      else
+        pkg = Package.new(source_package_name, metadata.has_native_extensions? ? 'any' : 'all')
+        metadata.dependencies.each do |dependency|
+          pkg.gem_dependencies << dependency
+        end
+        binary_packages << pkg
       end
-
       binary_packages
     end
 
@@ -233,8 +241,10 @@ module Gem2Deb
 
     class Package
       attr_accessor :name
-      def initialize(name)
+      attr_accessor :architecture
+      def initialize(name, architecture = 'all')
         self.name = name
+        self.architecture = architecture
       end
       def dependencies
         ['${shlibs:Depends}', '${misc:Depends}', 'ruby1.8 | ruby-interpreter' ]
@@ -242,13 +252,6 @@ module Gem2Deb
       def gem_dependencies
 	@gem_dependencies ||= []
       end
-      def architecture
-        if name =~ /^ruby-/ || name !~ /ruby/
-          'all'
-        else
-          'any'
-        end
-      end
     end
 
     def test_suite
@@ -372,7 +375,7 @@ Standards-Version: 3.9.1
 #Vcs-Browser: http://git.debian.org/?p=pkg-ruby-extras/<%= source_package_name %>;a=summary
 Homepage: <%= homepage ? homepage : 'FIXME'%>
 <% binary_packages.each do |package| %>
-
+ 
 Package: <%= package.name %>
 Architecture: <%= package.architecture %>
 Depends: <%= package.dependencies.join(', ') %>
diff --git a/lib/gem2deb/dh_ruby.rb b/lib/gem2deb/dh_ruby.rb
index 0153009..3b278bb 100644
--- a/lib/gem2deb/dh_ruby.rb
+++ b/lib/gem2deb/dh_ruby.rb
@@ -91,6 +91,19 @@ module Gem2Deb
         install_files('lib', find_files('lib'), File.join(destdir_for(package), libdir_for(package)), 644) if File::directory?('lib')
       end
 
+      package = packages.first
+      if metadata.has_native_extensions?
+        SUPPORTED_RUBY_VERSIONS.each_key do |rubyver|
+         puts "Building extension for #{rubyver} ..." if @verbose
+         run("#{SUPPORTED_RUBY_VERSIONS[rubyver]} -I#{LIBDIR} #{EXTENSION_BUILDER} #{package}")
+        end
+      end
+      # run tests
+      SUPPORTED_RUBY_VERSIONS.each_key do |rubyver|
+        run_tests(rubyver)
+      end
+
+=begin This only works in the multi-binary packages case, which is not supported anymore
       packages.each do |package|
         # handle extensions
         rubyver = ruby_version_for(package)
@@ -115,6 +128,7 @@ module Gem2Deb
         # Update shebang lines of installed programs
         update_shebangs(package)
       end
+=end
 
       # FIXME after install, check for require 'rubygems' and other stupid things, and
       #       issue warnings

-- 
gem2deb.git



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