diff options
| -rwxr-xr-x | tool/rbinstall.rb | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index f4a8d03577..22ac0137fd 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -1040,17 +1040,22 @@ install?(:ext, :comm, :gem, :'bundled-gems') do File.foreach("#{srcdir}/gems/bundled_gems") do |name| next if /^\s*(?:#|$)/ =~ name next unless /^(\S+)\s+(\S+).*/ =~ name + gem = $1 gem_name = "#$1-#$2" - # Try to find the gemspec file - path = "#{srcdir}/.bundle/gems/#{gem_name}/#{name}.gemspec" + # Try to find the original gemspec file + path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem}.gemspec" unless File.exist?(path) # Try to find the gemspec file for C ext gems # ex .bundle/gems/debug-1.7.1/debug-1.7.1.gemspec # This gemspec keep the original dependencies path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem_name}.gemspec" unless File.exist?(path) - skipped[gem_name] = "gemspec not found" - next + # Try to find the gemspec file for gems that hasn't own gemspec + path = "#{srcdir}/.bundle/specifications/#{gem_name}.gemspec" + unless File.exist?(path) + skipped[gem_name] = "gemspec not found" + next + end end end spec = load_gemspec(path, "#{srcdir}/.bundle/gems/#{gem_name}") |
