[DRE-commits] [gem2deb] 03/06: SetupRbInstaller: always use the system copy of setup.rb

Antonio Terceiro terceiro at moszumanska.debian.org
Sat Dec 20 15:10:29 UTC 2014


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

terceiro pushed a commit to branch master
in repository gem2deb.

commit 59ce6848e14eb3d671157ba23b16266a56ba552a
Author: Antonio Terceiro <terceiro at debian.org>
Date:   Sat Dec 20 12:52:48 2014 -0200

    SetupRbInstaller: always use the system copy of setup.rb
---
 debian/changelog                     |  1 +
 lib/gem2deb/setup_rb_installer.rb    | 37 +++++++++++++++++++++++++++---------
 test/unit/setup_rb_installer_test.rb |  3 ---
 3 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index f57f1a8..91cb233 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ gem2deb (0.11) UNRELEASED; urgency=medium
     - autopkgtest-pkg-ruby will be handled by autopkgtest and the implicit
       test control data that uses gem2deb-test-runner will be used.
   * improved "usage: " banner in several of the provided programs
+  * SetupRbInstaller: always use the system copy of setup.rb
 
  -- Antonio Terceiro <terceiro at debian.org>  Wed, 15 Oct 2014 16:16:04 -0300
 
diff --git a/lib/gem2deb/setup_rb_installer.rb b/lib/gem2deb/setup_rb_installer.rb
index d37d5d8..fd1eb68 100644
--- a/lib/gem2deb/setup_rb_installer.rb
+++ b/lib/gem2deb/setup_rb_installer.rb
@@ -27,24 +27,43 @@ module Gem2Deb
         archdir = destdir(:archdir, rubyver)
         prefix = destdir(:prefix, rubyver)
 
-        # First configure
-        run(ruby, 'setup.rb', 'config', "--prefix=#{prefix}", "--bindir=#{bindir}", "--siteruby=#{siteruby}", "--siterubyver=#{siteruby}", "--siterubyverarch=#{archdir}")
+        with_system_setuprb do
+          # First configure
+          run(ruby, 'setup.rb', 'config', "--prefix=#{prefix}", "--bindir=#{bindir}", "--siteruby=#{siteruby}", "--siterubyver=#{siteruby}", "--siterubyverarch=#{archdir}")
 
-        # Then setup
-        run(ruby, 'setup.rb', 'setup')
+          # Then setup
+          run(ruby, 'setup.rb', 'setup')
 
-        # Then install
-        run(ruby, 'setup.rb', 'install')
+          # Then install
+          run(ruby, 'setup.rb', 'install')
 
-        # Then clean
-        run(ruby, 'setup.rb', 'distclean')
+          # Then clean
+          run(ruby, 'setup.rb', 'distclean')
+        end
 
       end
     end
 
     def run_make_clean_on_extensionss
       ruby = SUPPORTED_RUBY_VERSIONS.keys.sort.first
-      run(ruby, 'setup.rb', 'distclean')
+      with_system_setuprb do
+        run(ruby, 'setup.rb', 'distclean')
+      end
+    end
+
+    def with_system_setuprb(*argv)
+      if File.exists?('setup.rb')
+        run('mv', 'setup.rb', 'setup.rb.gem2deb-orig')
+      end
+      run('ln', '-s', '/usr/lib/ruby/vendor_ruby/setup.rb', 'setup.rb')
+      begin
+        yield
+      ensure
+        run('rm', '-f', 'setup.rb')
+        if File.exists?('setup.rb.gem2deb-orig')
+          run('mv setup.rb.gem2deb-orig', 'setup.rb')
+        end
+      end
     end
 
   end
diff --git a/test/unit/setup_rb_installer_test.rb b/test/unit/setup_rb_installer_test.rb
index 1ad2f0c..102403f 100644
--- a/test/unit/setup_rb_installer_test.rb
+++ b/test/unit/setup_rb_installer_test.rb
@@ -43,9 +43,6 @@ class SetupRbInstallerTest < Gem2DebTestCase
     source_dir = File.join(tmpdir, source_package)
 
     FileUtils.cp_r("test/sample/#{pkgname}", source_dir)
-    # Here, copy setup.rb to the source dir.
-    FileUtils.cp("/usr/lib/ruby/vendor_ruby/setup.rb", 
-                 source_dir)
     system("tar czf #{tarball} -C#{tmpdir} #{source_package}")
     FileUtils.rm_rf(File.join(tmpdir, source_dir))
     Gem2Deb::DhMakeRuby.new(tarball).build

-- 
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