diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-05 22:40:53 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-05 22:40:53 +0000 |
commit | 7a88ad0a42dffdbbcaf0192635ab64c636294cf6 (patch) | |
tree | 932538cb8e039ea6005ab1f783da5d8c0e957338 /lib/rubygems/remote_fetcher.rb | |
parent | 32fa37f53c386bf8b6d9031a7c587772ee12430d (diff) | |
download | ruby-7a88ad0a42dffdbbcaf0192635ab64c636294cf6.tar.gz |
* lib/rubygems/commands/query_command.rb: Only fetch remote specs when
showing details. [ruby-trunk - Bug #8019] RubyGems bug #487
* lib/rubygems/remote_fetcher.rb: ditto.
* lib/rubygems/security/policy.rb: ditto.
* test/rubygems/test_gem_commands_query_command.rb: Test for the
above.
* lib/rubygems/security.rb: Make OpenSSL optional for RubyGems.
* lib/rubygems/commands/cert_command.rb: ditto.
* lib/rubygems/config_file.rb: Display file with YAML error, not
~/.gemrc
* lib/rubygems/remote_fetcher.rb: Only create gem subdirectories when
installing gems.
* lib/rubygems/dependency_resolver.rb: ditto.
* lib/rubygems/test_utilities.rb: ditto.
* test/rubygems/test_gem_commands_fetch_command.rb: Test for the
above.
* lib/rubygems/spec_fetcher.rb: Only try to upgrade
http://rubygems.org to HTTPS
* test/rubygems/test_gem_spec_fetcher.rb: Test for the above.
* lib/rubygems.rb: Update win_platform? check for JRuby compatibility.
* test/rubygems/test_gem_installer.rb: Update for Ruby 1.9.2
compatibility
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/remote_fetcher.rb')
-rw-r--r-- | lib/rubygems/remote_fetcher.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb index cc3d3cf860..ec052b50da 100644 --- a/lib/rubygems/remote_fetcher.rb +++ b/lib/rubygems/remote_fetcher.rb @@ -127,8 +127,6 @@ class Gem::RemoteFetcher # always replaced. def download(spec, source_uri, install_dir = Gem.dir) - Gem.ensure_gem_subdirectories(install_dir) rescue nil - cache_dir = if Dir.pwd == install_dir then # see fetch_command install_dir @@ -403,7 +401,8 @@ class Gem::RemoteFetcher connection.start unless connection.started? connection - rescue OpenSSL::SSL::SSLError, Errno::EHOSTDOWN => e + rescue defined?(OpenSSL::SSL) ? OpenSSL::SSL::SSLError : Errno::EHOSTDOWN, + Errno::EHOSTDOWN => e raise FetchError.new(e.message, uri) end @@ -424,6 +423,12 @@ class Gem::RemoteFetcher add_rubygems_trusted_certs(store) end connection.cert_store = store + rescue LoadError => e + raise unless (e.respond_to?(:path) && e.path == 'openssl') || + e.message =~ / -- openssl$/ + + raise Gem::Exception.new( + 'Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources') end def add_rubygems_trusted_certs(store) |