aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/indexer/marshal_index_builder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/indexer/marshal_index_builder.rb')
-rw-r--r--lib/rubygems/indexer/marshal_index_builder.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/rubygems/indexer/marshal_index_builder.rb b/lib/rubygems/indexer/marshal_index_builder.rb
index 5e3ba7f5b9..e1a4d9f9b8 100644
--- a/lib/rubygems/indexer/marshal_index_builder.rb
+++ b/lib/rubygems/indexer/marshal_index_builder.rb
@@ -3,6 +3,15 @@ require 'rubygems/indexer'
# Construct the master Gem index file.
class Gem::Indexer::MarshalIndexBuilder < Gem::Indexer::MasterIndexBuilder
def end_index
- @file.write @index.dump
+ gems = {}
+ index = Gem::SourceIndex.new
+
+ @index.each do |name, gemspec|
+ gems[gemspec.original_name] = gemspec
+ end
+
+ index.instance_variable_get(:@gems).replace gems
+
+ @file.write index.dump
end
end