summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-04 21:54:58 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-04 21:54:58 +0000
commit091c24d51b962745bf887a729c81e847b257dc11 (patch)
tree0a8cd1085f63ffa64eff0d3c4da0d5a449e0c5a1
parent0454c0a2818ffc1df72e0672e4e272486b2ba536 (diff)
* lib/rubygems: Update to RubyGems 2.0.3
* test/rubygems: Tests for the above. * NEWS: Added RubyGems 2.0.3 note. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--NEWS5
-rw-r--r--lib/rubygems.rb4
-rw-r--r--lib/rubygems/commands/cert_command.rb4
-rw-r--r--lib/rubygems/commands/list_command.rb2
-rw-r--r--lib/rubygems/defaults.rb14
-rw-r--r--lib/rubygems/security/signer.rb10
-rw-r--r--lib/rubygems/test_case.rb2
-rw-r--r--test/rubygems/test_gem_commands_cert_command.rb14
-rw-r--r--test/rubygems/test_gem_installer.rb1
-rw-r--r--test/rubygems/test_gem_package.rb8
-rw-r--r--test/rubygems/test_gem_security_signer.rb16
12 files changed, 62 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index 4a6c9d3f00..5b93178ef9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Jun 5 06:44:08 2013 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rubygems: Update to RubyGems 2.0.3
+
+ * test/rubygems: Tests for the above.
+
+ * NEWS: Added RubyGems 2.0.3 note.
+
Wed Jun 5 06:35:15 2013 Eric Hodel <drbrain@segment7.net>
* doc/marshal.rdoc: Add description of Marshal format.
diff --git a/NEWS b/NEWS
index c5e168f984..b7272834f8 100644
--- a/NEWS
+++ b/NEWS
@@ -86,6 +86,11 @@ with all sufficient information, see the ChangeLog file.
* Rinda now supports multicast sockets. See Rinda::RingServer and
Rinda::RingFinger for details.
+* 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.
+
* Socket
* New methods:
* Socket.getifaddrs
diff --git a/lib/rubygems.rb b/lib/rubygems.rb
index cbab206d48..3622f7102d 100644
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
@@ -8,7 +8,7 @@
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
@@ -328,7 +328,7 @@ module Gem
end
##
- # The path to the data directory specified by the gem name. If the
+ # The path the the data directory specified by the gem name. If the
# package is not available as a gem, return nil.
def self.datadir(gem_name)
diff --git a/lib/rubygems/commands/cert_command.rb b/lib/rubygems/commands/cert_command.rb
index 13e5e2c37c..5a9320f9c4 100644
--- a/lib/rubygems/commands/cert_command.rb
+++ b/lib/rubygems/commands/cert_command.rb
@@ -180,7 +180,7 @@ For further reading on signing gems see `ri Gem::Security`.
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 `ri Gem::Security`.
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
diff --git a/lib/rubygems/commands/list_command.rb b/lib/rubygems/commands/list_command.rb
index 71b8a93fad..d9b7a9535e 100644
--- a/lib/rubygems/commands/list_command.rb
+++ b/lib/rubygems/commands/list_command.rb
@@ -3,7 +3,7 @@ require 'rubygems/commands/query_command'
##
# An alternate to Gem::Commands::QueryCommand that searches for gems starting
-# with the supplied argument.
+# with the the supplied argument.
class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
index 6854e9b760..9c5e303c0e 100644
--- a/lib/rubygems/defaults.rb
+++ b/lib/rubygems/defaults.rb
@@ -110,4 +110,18 @@ module Gem
'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
diff --git a/lib/rubygems/security/signer.rb b/lib/rubygems/security/signer.rb
index 29b03683b7..78455c0732 100644
--- a/lib/rubygems/security/signer.rb
+++ b/lib/rubygems/security/signer.rb
@@ -34,12 +34,12 @@ class Gem::Security::Signer
@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
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
diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb
index d81012cbd3..3da3173285 100644
--- a/lib/rubygems/test_case.rb
+++ b/lib/rubygems/test_case.rb
@@ -1027,7 +1027,7 @@ Also, a list:
end
##
- # Returns the path to the key named +key_name+ from <tt>test/rubygems/</tt>
+ # Returns the path tot he key named +key_name+ from <tt>test/rubygems</tt>
def self.key_path key_name
File.expand_path "../../../test/rubygems/#{key_name}_key.pem", __FILE__
diff --git a/test/rubygems/test_gem_commands_cert_command.rb b/test/rubygems/test_gem_commands_cert_command.rb
index 4adbec5e66..75db6c4e15 100644
--- a/test/rubygems/test_gem_commands_cert_command.rb
+++ b/test/rubygems/test_gem_commands_cert_command.rb
@@ -308,10 +308,12 @@ Removed '/CN=alternate/DC=example'
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'
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 ~/.gem/gem-public_cert.pem does not exis
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'
diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb
index 4f233f9aab..0f9bfefd0e 100644
--- a/test/rubygems/test_gem_installer.rb
+++ b/test/rubygems/test_gem_installer.rb
@@ -1073,7 +1073,6 @@ gem 'other', version
CONFIG['CC'] = '$(TOUCH) $@ ||'
CONFIG['LDSHARED'] = '$(TOUCH) $@ ||'
- $ruby = '#{Gem.ruby}'
create_makefile("#{@spec.name}")
RUBY
diff --git a/test/rubygems/test_gem_package.rb b/test/rubygems/test_gem_package.rb
index bf8d7aae70..81e7f7891c 100644
--- a/test/rubygems/test_gem_package.rb
+++ b/test/rubygems/test_gem_package.rb
@@ -162,10 +162,12 @@ class TestGemPackage < Gem::Package::TarTestCase
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::TarTestCase
package.verify
end
- assert_match /\s-\snonexistent\.gem\z/, e.message
+ assert_match ' - nonexistent.gem', e.message
end
def test_verify_security_policy
diff --git a/test/rubygems/test_gem_security_signer.rb b/test/rubygems/test_gem_security_signer.rb
index c9a08f625d..59c5089fec 100644
--- a/test/rubygems/test_gem_security_signer.rb
+++ b/test/rubygems/test_gem_security_signer.rb
@@ -50,10 +50,12 @@ class TestGemSecuritySigner < Gem::TestCase
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+Pg==
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+Pg==
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 =