summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtool/rbinstall.rb13
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}")