From: Kazuhiro Yoshida Date: 2007-03-06T17:37:28+09:00 Subject: [ruby-dev:30500] MD5.md5 in RubyGems moriqです。 次のように RubyGems で require 'md5' を使っているので ruby-1.8.6 に上げるとうまくいかなくなりそうです。 rubygems-0.9.2/lib/rubygems/validator.rb: ## # Given a gem file's contents, validates against its own MD5 checksum # gem_data:: [String] Contents of the gem file def verify_gem(gem_data) if(gem_data.size == 0) then raise VerificationError.new("Empty Gem file") end require 'md5' unless(gem_data =~ /MD5SUM/m) return # Don't worry about it...this sucks. Need to fix MD5 stuff for # new format # FIXME end unless (MD5.md5(gem_data.gsub(/MD5SUM = "([a-z0-9]+)"/, "MD5SUM = \"" + ("F" * 32) + "\"")) == $1.to_s) raise VerificationError.new("Invalid checksum for Gem file") end end 次の対応を提案します。 --- ext/digest/lib/md5.rb Tue Feb 13 08:01:19 2007 +++ ext/digest/lib/md5.rb.new Tue Mar 6 17:21:53 2007 @@ -9,6 +9,6 @@ class MD5 def self.md5(*args) - new(*args) + new.update(*args) end end