ruby-changes:29491
From: nagachika <ko1@a...>
Date: Sat, 22 Jun 2013 01:16:47 +0900 (JST)
Subject: [ruby-changes:29491] nagachika:r41543 (ruby_2_0_0): merge revision(s) 41076: [Backport #8558]
nagachika 2013-06-22 01:16:31 +0900 (Sat, 22 Jun 2013) New Revision: 41543 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=41543 Log: merge revision(s) 41076: [Backport #8558] * lib/rubygems: Update to RubyGems 2.0.3 * test/rubygems: Tests for the above. * NEWS: Added RubyGems 2.0.3 note. Modified directories: branches/ruby_2_0_0/ Modified files: branches/ruby_2_0_0/ChangeLog branches/ruby_2_0_0/NEWS branches/ruby_2_0_0/lib/rubygems/commands/cert_command.rb branches/ruby_2_0_0/lib/rubygems/defaults.rb branches/ruby_2_0_0/lib/rubygems/security/signer.rb branches/ruby_2_0_0/lib/rubygems.rb branches/ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb branches/ruby_2_0_0/test/rubygems/test_gem_installer.rb branches/ruby_2_0_0/test/rubygems/test_gem_package.rb branches/ruby_2_0_0/test/rubygems/test_gem_security_signer.rb branches/ruby_2_0_0/version.h Index: ruby_2_0_0/ChangeLog =================================================================== --- ruby_2_0_0/ChangeLog (revision 41542) +++ ruby_2_0_0/ChangeLog (revision 41543) @@ -1,3 +1,11 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/ChangeLog#L1 +Sat Jun 22 00:54:41 2013 Eric Hodel <drbrain@s...> + + * lib/rubygems: Update to RubyGems 2.0.3 + + * test/rubygems: Tests for the above. + + * NEWS: Added RubyGems 2.0.3 note. + Wed Jun 19 04:20:31 2013 Charlie Somerville <charliesome@r...> * vm_insnhelper.c (vm_call_method): ensure methods of type Index: ruby_2_0_0/lib/rubygems/commands/cert_command.rb =================================================================== --- ruby_2_0_0/lib/rubygems/commands/cert_command.rb (revision 41542) +++ ruby_2_0_0/lib/rubygems/commands/cert_command.rb (revision 41543) @@ -180,7 +180,7 @@ For further reading on signing gems see https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/rubygems/commands/cert_command.rb#L180 end def load_default_cert - cert_file = File.join Gem.user_home, 'gem-public_cert.pem' + cert_file = File.join Gem.default_cert_path cert = File.read cert_file options[:issuer_cert] = OpenSSL::X509::Certificate.new cert rescue Errno::ENOENT @@ -196,7 +196,7 @@ For further reading on signing gems see https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/rubygems/commands/cert_command.rb#L196 end def load_default_key - key_file = File.join Gem.user_home, 'gem-private_key.pem' + key_file = File.join Gem.default_key_path key = File.read key_file options[:key] = OpenSSL::PKey::RSA.new key rescue Errno::ENOENT Index: ruby_2_0_0/lib/rubygems/security/signer.rb =================================================================== --- ruby_2_0_0/lib/rubygems/security/signer.rb (revision 41542) +++ ruby_2_0_0/lib/rubygems/security/signer.rb (revision 41543) @@ -34,12 +34,12 @@ class Gem::Security::Signer https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/rubygems/security/signer.rb#L34 @key = key unless @key then - default_key = File.join Gem.user_home, 'gem-private_key.pem' + default_key = File.join Gem.default_key_path @key = default_key if File.exist? default_key end unless @cert_chain then - default_cert = File.join Gem.user_home, 'gem-public_cert.pem' + default_cert = File.join Gem.default_cert_path @cert_chain = [default_cert] if File.exist? default_cert end @@ -110,15 +110,15 @@ class Gem::Security::Signer https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/rubygems/security/signer.rb#L110 def re_sign_key # :nodoc: old_cert = @cert_chain.last - disk_cert_path = File.join Gem.user_home, 'gem-public_cert.pem' + disk_cert_path = File.join Gem.default_cert_path disk_cert = File.read disk_cert_path rescue nil disk_key = - File.read File.join(Gem.user_home, 'gem-private_key.pem') rescue nil + File.read File.join(Gem.default_key_path) rescue nil if disk_key == @key.to_pem and disk_cert == old_cert.to_pem then expiry = old_cert.not_after.strftime '%Y%m%d%H%M%S' old_cert_file = "gem-public_cert.pem.expired.#{expiry}" - old_cert_path = File.join Gem.user_home, old_cert_file + old_cert_path = File.join Gem.user_home, ".gem", old_cert_file unless File.exist? old_cert_path then Gem::Security.write old_cert, old_cert_path Index: ruby_2_0_0/lib/rubygems/defaults.rb =================================================================== --- ruby_2_0_0/lib/rubygems/defaults.rb (revision 41542) +++ ruby_2_0_0/lib/rubygems/defaults.rb (revision 41543) @@ -110,4 +110,18 @@ module Gem https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/rubygems/defaults.rb#L110 'ruby' end end + + ## + # The default signing key path + + def self.default_key_path + File.join Gem.user_home, ".gem", "gem-private_key.pem" + end + + ## + # The default signing certificate chain path + + def self.default_cert_path + File.join Gem.user_home, ".gem", "gem-public_cert.pem" + end end Index: ruby_2_0_0/lib/rubygems.rb =================================================================== --- ruby_2_0_0/lib/rubygems.rb (revision 41542) +++ ruby_2_0_0/lib/rubygems.rb (revision 41543) @@ -8,7 +8,7 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/lib/rubygems.rb#L8 require 'rbconfig' module Gem - VERSION = '2.0.2' + VERSION = '2.0.3' end # Must be first since it unloads the prelude from 1.9.2 Index: ruby_2_0_0/NEWS =================================================================== --- ruby_2_0_0/NEWS (revision 41542) +++ ruby_2_0_0/NEWS (revision 41543) @@ -461,6 +461,10 @@ with all sufficient information, see the https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/NEWS#L461 XML declaration is used for XML document encoding. * RubyGems + * Updated to 2.0.3. See + http://rubygems.rubyforge.org/rubygems-update/History_txt.html#label-2.0.3+%2F+2012-03-1 + for release notes. + * Updated to 2.0.0 RubyGems 2.0.0 features the following improvements: Index: ruby_2_0_0/version.h =================================================================== --- ruby_2_0_0/version.h (revision 41542) +++ ruby_2_0_0/version.h (revision 41543) @@ -1,10 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/version.h#L1 #define RUBY_VERSION "2.0.0" -#define RUBY_RELEASE_DATE "2013-06-20" -#define RUBY_PATCHLEVEL 235 +#define RUBY_RELEASE_DATE "2013-06-22" +#define RUBY_PATCHLEVEL 236 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 6 -#define RUBY_RELEASE_DAY 20 +#define RUBY_RELEASE_DAY 22 #include "ruby/version.h" Index: ruby_2_0_0/test/rubygems/test_gem_package.rb =================================================================== --- ruby_2_0_0/test/rubygems/test_gem_package.rb (revision 41542) +++ ruby_2_0_0/test/rubygems/test_gem_package.rb (revision 41543) @@ -162,10 +162,12 @@ class TestGemPackage < Gem::Package::Tar https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_package.rb#L162 end def test_build_auto_signed - private_key_path = File.join Gem.user_home, 'gem-private_key.pem' + FileUtils.mkdir_p File.join(Gem.user_home, '.gem') + + private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem' Gem::Security.write PRIVATE_KEY, private_key_path - public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem' + public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem' Gem::Security.write PUBLIC_CERT, public_cert_path spec = Gem::Specification.new 'build', '1' @@ -509,7 +511,7 @@ class TestGemPackage < Gem::Package::Tar https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_package.rb#L511 package.verify end - assert_equal 'No such file or directory - nonexistent.gem', e.message + assert_match ' - nonexistent.gem', e.message end def test_verify_security_policy Index: ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb =================================================================== --- ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb (revision 41542) +++ ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb (revision 41543) @@ -308,10 +308,12 @@ Removed '/CN=alternate/DC=example' https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb#L308 end def test_execute_sign_default - private_key_path = File.join Gem.user_home, 'gem-private_key.pem' + FileUtils.mkdir_p File.join Gem.user_home, '.gem' + + private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem' Gem::Security.write PRIVATE_KEY, private_key_path - public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem' + public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem' Gem::Security.write PUBLIC_CERT, public_cert_path path = File.join @tempdir, 'cert.pem' @@ -338,7 +340,9 @@ Removed '/CN=alternate/DC=example' https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb#L340 end def test_execute_sign_no_cert - private_key_path = File.join Gem.user_home, 'gem-private_key.pem' + FileUtils.mkdir_p File.join Gem.user_home, '.gem' + + private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem' Gem::Security.write PRIVATE_KEY, private_key_path path = File.join @tempdir, 'cert.pem' @@ -364,7 +368,9 @@ ERROR: --certificate not specified and https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_commands_cert_command.rb#L368 end def test_execute_sign_no_key - public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem' + FileUtils.mkdir_p File.join Gem.user_home, '.gem' + + public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem' Gem::Security.write PUBLIC_CERT, public_cert_path path = File.join @tempdir, 'cert.pem' Index: ruby_2_0_0/test/rubygems/test_gem_installer.rb =================================================================== --- ruby_2_0_0/test/rubygems/test_gem_installer.rb (revision 41542) +++ ruby_2_0_0/test/rubygems/test_gem_installer.rb (revision 41543) @@ -1073,7 +1073,6 @@ gem 'other', version https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_installer.rb#L1073 CONFIG['CC'] = '$(TOUCH) $@ ||' CONFIG['LDSHARED'] = '$(TOUCH) $@ ||' - $ruby = '#{Gem.ruby}' create_makefile("#{@spec.name}") RUBY Index: ruby_2_0_0/test/rubygems/test_gem_security_signer.rb =================================================================== --- ruby_2_0_0/test/rubygems/test_gem_security_signer.rb (revision 41542) +++ ruby_2_0_0/test/rubygems/test_gem_security_signer.rb (revision 41543) @@ -50,10 +50,12 @@ class TestGemSecuritySigner < Gem::TestC https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_security_signer.rb#L50 end def test_initialize_default - private_key_path = File.join Gem.user_home, 'gem-private_key.pem' + FileUtils.mkdir_p File.join(Gem.user_home, '.gem') + + private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem' Gem::Security.write PRIVATE_KEY, private_key_path - public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem' + public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem' Gem::Security.write PUBLIC_CERT, public_cert_path signer = Gem::Security::Signer.new nil, nil @@ -120,12 +122,12 @@ c7NM7KZZjj7G++SXjYTEI1PHSA7aFQ/i/+qSUvx+ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_security_signer.rb#L122 end def test_sign_expired_auto_update - FileUtils.mkdir_p Gem.user_home, :mode => 0700 + FileUtils.mkdir_p File.join(Gem.user_home, '.gem'), :mode => 0700 - private_key_path = File.join(Gem.user_home, 'gem-private_key.pem') + private_key_path = File.join(Gem.user_home, '.gem', 'gem-private_key.pem') Gem::Security.write PRIVATE_KEY, private_key_path - cert_path = File.join Gem.user_home, 'gem-public_cert.pem' + cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem' Gem::Security.write EXPIRED_CERT, cert_path signer = Gem::Security::Signer.new PRIVATE_KEY, [EXPIRED_CERT] @@ -140,14 +142,14 @@ c7NM7KZZjj7G++SXjYTEI1PHSA7aFQ/i/+qSUvx+ https://github.com/ruby/ruby/blob/trunk/ruby_2_0_0/test/rubygems/test_gem_security_signer.rb#L142 expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S" expired_path = - File.join Gem.user_home, "gem-public_cert.pem.expired.#{expiry}" + File.join Gem.user_home, '.gem', "gem-public_cert.pem.expired.#{expiry}" assert_path_exists expired_path assert_equal EXPIRED_CERT.to_pem, File.read(expired_path) end def test_sign_expired_auto_update_exists - FileUtils.mkdir_p Gem.user_home, :mode => 0700 + FileUtils.mkdir_p File.join(Gem.user_home, '.gem'), :mode => 0700 expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S" expired_path = Property changes on: ruby_2_0_0 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r41076 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/