mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems/commands/setup_command.rb: Don't delete non-rubygems
files when installing RubyGems. * test/rubygems/test_gem_commands_setup_command.rb: Test for the above. * lib/rubygems/ext/ext_conf_builder.rb: Use full path to siteconf.rb in case the extconf.rb changes directories (like memcached does). * lib/rubygems/package.rb: Remove double slash from path. * test/rubygems/test_gem_package.rb: Test for the above. * test/rubygems/test_gem_package_old.rb: ditto. * lib/rubygems/source.rb: Revert automatic HTTPS upgrade * lib/rubygems/spec_fetcher.rb: ditto. * test/rubygems/test_gem_remote_fetcher.rb: ditto. * test/rubygems/test_gem_source.rb: ditto. * test/rubygems/test_gem_spec_fetcher.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
21c1e2da06
commit
10c5d6ee25
12 changed files with 82 additions and 152 deletions
|
@ -188,8 +188,6 @@ class Gem::SpecFetcher
|
|||
list = {}
|
||||
|
||||
Gem.sources.each_source do |source|
|
||||
source = upgrade_http_source source
|
||||
|
||||
begin
|
||||
names = case type
|
||||
when :latest
|
||||
|
@ -228,40 +226,5 @@ class Gem::SpecFetcher
|
|||
end
|
||||
end
|
||||
|
||||
##
|
||||
# Attempts to upgrade +source+ to HTTPS if it is for http://rubygems.org
|
||||
|
||||
def upgrade_http_source source
|
||||
uri = source.uri
|
||||
|
||||
return source unless uri.scheme.downcase == 'http' &&
|
||||
uri.host.downcase == 'rubygems.org'
|
||||
|
||||
https_uri = uri.dup
|
||||
https_uri.scheme = 'https'
|
||||
https_uri += '/'
|
||||
|
||||
https_uri = URI https_uri.to_s # cast to URI::HTTPS
|
||||
|
||||
begin
|
||||
Gem::RemoteFetcher.fetcher.fetch_path https_uri, nil, true
|
||||
rescue Gem::RemoteFetcher::FetchError => e
|
||||
raise unless e.message =~ / Not Allowed 405 /
|
||||
end
|
||||
|
||||
say "Upgraded #{uri} to HTTPS"
|
||||
|
||||
https_uri += uri.request_uri
|
||||
|
||||
source.uri = URI https_uri.to_s # cast to URI::HTTPS
|
||||
|
||||
source
|
||||
rescue Gem::RemoteFetcher::FetchError
|
||||
say "Upgrading #{uri} to HTTPS failed, continuing" if
|
||||
Gem.configuration.really_verbose
|
||||
|
||||
source
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue