[DRE-commits] [gem2deb] 01/01: Gem2Deb::Metadata: save temporary modified gemspec to project root

Antonio Terceiro terceiro at moszumanska.debian.org
Wed Mar 9 04:42:37 UTC 2016


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

terceiro pushed a commit to branch master
in repository gem2deb.

commit 3d9fa75cf7f921003fd940612a4e25b064c9ee00
Author: Antonio Terceiro <terceiro at debian.org>
Date:   Wed Mar 9 11:38:28 2016 +0700

    Gem2Deb::Metadata: save temporary modified gemspec to project root
    
    Some gemspecs depend on being on the project root to load properly, e.g.
    because they use File.dirname(__FILE__) and the like.
---
 lib/gem2deb/metadata.rb | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/gem2deb/metadata.rb b/lib/gem2deb/metadata.rb
index 451c1fd..f07007f 100644
--- a/lib/gem2deb/metadata.rb
+++ b/lib/gem2deb/metadata.rb
@@ -121,7 +121,7 @@ module Gem2Deb
     end
 
     GIT_USAGE_MODIFIERS = {
-      /\.files\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '.files = (Dir["**/*"] - Dir["debian/**/*"]).select { |f| !File.directory?(f) }',
+      /\.files\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '.files = (Dir["**/*"] - Dir["debian/**/*"] - Dir["*.gemspec.gem2deb"]).select { |f| !File.directory?(f) }',
       /\.test_files\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '.test_files = []',
       /(\w+)\.executables\s*=\s*`[^`]*git\s+ls-files[^`]*`.*/ => '\1.executables = Dir[\1.bindir + "/*"]',
     }
@@ -129,16 +129,20 @@ module Gem2Deb
     def load_modified_gemspec(original_gemspec_path)
       gemspec_text = File.read(original_gemspec_path)
 
-      modified_gemspec = Tempfile.new('gemspec')
+      modified_gemspec = original_gemspec_path + '.gem2deb'
       GIT_USAGE_MODIFIERS.each do |find,replacement|
         gemspec_text.gsub!(find, replacement)
       end
 
-      File.open(modified_gemspec.path, 'w') do |f|
+      File.open(modified_gemspec, 'w') do |f|
         f.puts(gemspec_text)
       end
 
-      Gem::Specification.load(modified_gemspec.path)
+      spec = Gem::Specification.load(modified_gemspec)
+
+      FileUtils.rm_f(modified_gemspec)
+
+      spec
     end
 
     def set_gemspec_date

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