[DRE-commits] [SCM] gem2deb.git branch, master, updated. 0.4.0-9-gabd9703

Antonio Terceiro terceiro at debian.org
Sun Jun 2 15:19:20 UTC 2013


The following commit has been merged in the master branch:
commit 28c7236244d50aca529f9a6bfeab2d54748828f1
Author: Antonio Terceiro <terceiro at debian.org>
Date:   Sat Jun 1 17:17:26 2013 -0300

    Make extension buidler honor DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR
    
    Closes: #701716

diff --git a/lib/gem2deb/extension_builder.rb b/lib/gem2deb/extension_builder.rb
index a8adef1..667315a 100644
--- a/lib/gem2deb/extension_builder.rb
+++ b/lib/gem2deb/extension_builder.rb
@@ -24,12 +24,10 @@ module Gem2Deb
     include Gem2Deb
 
     attr_reader :extension
-    attr_reader :package
     attr_reader :directory
 
-    def initialize(extension, pkg)
+    def initialize(extension)
       @extension = extension
-      @package = pkg
       @directory = File.dirname(extension)
     end
 
@@ -41,7 +39,7 @@ module Gem2Deb
       end
     end
 
-    def build_and_install
+    def build_and_install(destdir)
       clean
       results = []
       rubygems_builder =
@@ -57,7 +55,7 @@ module Gem2Deb
           exit(1)
         end
       begin
-        target = File.expand_path(File.join('debian', package, RbConfig::CONFIG['vendorarchdir']))
+        target = File.expand_path(File.join(destdir, RbConfig::CONFIG['vendorarchdir']))
         Dir.chdir(directory) do
           rubygems_builder.build(extension, '.', target, results)
           puts results
@@ -68,11 +66,11 @@ module Gem2Deb
       end
     end
 
-    def self.build_all_extensions(package)
+    def self.build_all_extensions(destdir)
       all_extensions.each do |extension|
-        ext = new(extension, package)
+        ext = new(extension)
         ext.clean
-        ext.build_and_install
+        ext.build_and_install(destdir)
       end
     end
 
@@ -87,7 +85,7 @@ if $PROGRAM_NAME == __FILE__
   if ARGV.length == 1
     Gem2Deb::ExtensionBuilder.build_all_extensions(ARGV.first)
   else
-    puts "usage: #{File.basename($PROGRAM_NAME)} PKGNAME"
+    puts "usage: #{File.basename($PROGRAM_NAME)} DESTDIR"
     exit(1)
   end
 end
diff --git a/lib/gem2deb/installer.rb b/lib/gem2deb/installer.rb
index b54895e..ea40bc0 100644
--- a/lib/gem2deb/installer.rb
+++ b/lib/gem2deb/installer.rb
@@ -33,7 +33,7 @@ module Gem2Deb
       if metadata.has_native_extensions?
         ruby_versions.each do |rubyver|
           puts "Building extension for #{rubyver} ..." if verbose
-          run("#{SUPPORTED_RUBY_VERSIONS[rubyver]} -I#{LIBDIR} #{EXTENSION_BUILDER} #{binary_package}")
+          run("#{SUPPORTED_RUBY_VERSIONS[rubyver]} -I#{LIBDIR} #{EXTENSION_BUILDER} #{destdir_base}")
 
           # Remove duplicate files installed by rubygems in the arch dir
           # This is a hack to workaround a problem in rubygems
diff --git a/test/integration/gem2deb_test.rb b/test/integration/gem2deb_test.rb
index 6095a9d..d937a9c 100644
--- a/test/integration/gem2deb_test.rb
+++ b/test/integration/gem2deb_test.rb
@@ -71,4 +71,10 @@ class Gem2DebTest < Gem2DebTestCase
     end
   end
 
+  self.build_tree('test/sample/simpleextension_dh_auto_install_destdir') do |dir|
+    should 'honor DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR when building extensions' do
+      assert Dir.glob("#{dir}/debian/tmp/usr/lib/ruby/vendor_ruby/**/*.so").size > 0, 'no .so files found in debian/tmp/'
+    end
+  end
+
 end
diff --git a/test/sample/simpleextension/Rakefile b/test/sample/simpleextension_dh_auto_install_destdir/Rakefile
similarity index 100%
copy from test/sample/simpleextension/Rakefile
copy to test/sample/simpleextension_dh_auto_install_destdir/Rakefile
diff --git a/test/sample/simpleextension/bin/simpleextension b/test/sample/simpleextension_dh_auto_install_destdir/bin/simpleextension
similarity index 100%
copy from test/sample/simpleextension/bin/simpleextension
copy to test/sample/simpleextension_dh_auto_install_destdir/bin/simpleextension
diff --git a/test/sample/simpleextension_dh_auto_install_destdir/debian/changelog b/test/sample/simpleextension_dh_auto_install_destdir/debian/changelog
new file mode 100644
index 0000000..6841c92
--- /dev/null
+++ b/test/sample/simpleextension_dh_auto_install_destdir/debian/changelog
@@ -0,0 +1,5 @@
+ruby-simpleextension-dh-auto-install-destdir (0.1.0~FIXME-1) UNRELEASED; urgency=low
+
+  * Initial release (Closes: #nnnn)
+
+ -- Antonio Terceiro <terceiro at debian.org>  Sat, 01 Jun 2013 16:52:32 -0300
diff --git a/debian/compat b/test/sample/simpleextension_dh_auto_install_destdir/debian/compat
similarity index 100%
copy from debian/compat
copy to test/sample/simpleextension_dh_auto_install_destdir/debian/compat
diff --git a/test/sample/simpleextension_dh_auto_install_destdir/debian/control b/test/sample/simpleextension_dh_auto_install_destdir/debian/control
new file mode 100644
index 0000000..1f5f182
--- /dev/null
+++ b/test/sample/simpleextension_dh_auto_install_destdir/debian/control
@@ -0,0 +1,24 @@
+Source: ruby-simpleextension-dh-auto-install-destdir
+Section: ruby
+Priority: optional
+Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>
+Uploaders: Antonio Terceiro <terceiro at debian.org>
+Build-Depends: debhelper (>= 7.0.50~), gem2deb (>= 0.4.0~)
+Standards-Version: 3.9.4
+#Vcs-Git: git://anonscm.debian.org/pkg-ruby-extras/ruby-simpleextension-dh-auto-install-destdir.git
+#Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ruby-extras/ruby-simpleextension-dh-auto-install-destdir.git;a=summary
+Homepage: FIXME
+XS-Ruby-Versions: all
+
+Package: ruby-simpleextension-dh-auto-install-destdir
+Architecture: any
+XB-Ruby-Versions: ${ruby:Versions}
+Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter
+Description: FIXME
+ <insert long description, indented with spaces>
+
+Package: ruby-simpleextension-dh-auto-install-destdir-doc
+Architecture: all
+Description: dummy package
+ The existance of this package will make dh_auto_install call dh_ruby with
+ debian/tmp as destdir
diff --git a/lib/gem2deb/dh_make_ruby/template/debian/copyright b/test/sample/simpleextension_dh_auto_install_destdir/debian/copyright
similarity index 90%
copy from lib/gem2deb/dh_make_ruby/template/debian/copyright
copy to test/sample/simpleextension_dh_auto_install_destdir/debian/copyright
index b8bf6c7..9b26824 100644
--- a/lib/gem2deb/dh_make_ruby/template/debian/copyright
+++ b/test/sample/simpleextension_dh_auto_install_destdir/debian/copyright
@@ -1,5 +1,5 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: <%= gem_name %>
+Upstream-Name: simpleextension_dh_auto_install_destdir
 Source: FIXME <http://example.com/>
 
 Files: *
@@ -8,7 +8,7 @@ Copyright: <years> <put author's name and email here>
 License: GPL-2+ (FIXME)
 
 Files: debian/*
-Copyright: <%= Date.today.year %> <%= maintainer['DEBFULLNAME'] %> <<%= maintainer['DEBEMAIL'] %>>
+Copyright: 2013 Antonio Terceiro <terceiro at debian.org>
 License: GPL-2+ (FIXME)
 Comment: the Debian packaging is licensed under the same terms as the original package.
 
diff --git a/test/sample/simpleextension_dh_auto_install_destdir/debian/rules b/test/sample/simpleextension_dh_auto_install_destdir/debian/rules
new file mode 100755
index 0000000..6ec0ae0
--- /dev/null
+++ b/test/sample/simpleextension_dh_auto_install_destdir/debian/rules
@@ -0,0 +1,6 @@
+#!/usr/bin/make -f
+
+export DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR=1
+
+%:
+	dh $@ --buildsystem=ruby --with ruby
diff --git a/lib/gem2deb/dh_make_ruby/template/debian/source/format b/test/sample/simpleextension_dh_auto_install_destdir/debian/source/format
similarity index 100%
copy from lib/gem2deb/dh_make_ruby/template/debian/source/format
copy to test/sample/simpleextension_dh_auto_install_destdir/debian/source/format
diff --git a/test/sample/simpleextension_dh_auto_install_destdir/ext/simpleextension_dh_auto_install_destdir/extconf.rb b/test/sample/simpleextension_dh_auto_install_destdir/ext/simpleextension_dh_auto_install_destdir/extconf.rb
new file mode 100644
index 0000000..dd9be54
--- /dev/null
+++ b/test/sample/simpleextension_dh_auto_install_destdir/ext/simpleextension_dh_auto_install_destdir/extconf.rb
@@ -0,0 +1,2 @@
+require 'mkmf'
+create_makefile('simpleextension_dh_auto_install_destdir')
diff --git a/test/sample/simpleextension/ext/simpleextension/simpleextension.c b/test/sample/simpleextension_dh_auto_install_destdir/ext/simpleextension_dh_auto_install_destdir/simpleextension_dh_auto_install_destdir.c
similarity index 100%
copy from test/sample/simpleextension/ext/simpleextension/simpleextension.c
copy to test/sample/simpleextension_dh_auto_install_destdir/ext/simpleextension_dh_auto_install_destdir/simpleextension_dh_auto_install_destdir.c
diff --git a/test/sample/simpleextension/test/test_simpleextension.rb b/test/sample/simpleextension_dh_auto_install_destdir/test/test_simpleextension.rb
similarity index 100%
copy from test/sample/simpleextension/test/test_simpleextension.rb
copy to test/sample/simpleextension_dh_auto_install_destdir/test/test_simpleextension.rb

-- 
gem2deb.git



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