summaryrefslogtreecommitdiff
path: root/lib/rubygems/package.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 00:14:16 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 00:14:16 +0000
commit28918eac58eb6e2681d10839ac0d1430b2a4f1f9 (patch)
tree3c2c9e36118efe1d9406acdd14c186788879bea3 /lib/rubygems/package.rb
parentcfe1458078b8cf36e490c516977c52e1faa9e88a (diff)
* lib/rubygems: Update to RubyGems master commit 2a74263. This fixes
several bugs in RubyGems 2.2.0.preview.1. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/package.rb')
-rw-r--r--lib/rubygems/package.rb9
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/rubygems/package.rb b/lib/rubygems/package.rb
index 1dbce5d526..0ed6e1b91f 100644
--- a/lib/rubygems/package.rb
+++ b/lib/rubygems/package.rb
@@ -339,13 +339,9 @@ EOM
def extract_tar_gz io, destination_dir, pattern = "*" # :nodoc:
open_tar_gz io do |tar|
tar.each do |entry|
- # Some entries start with "./" which fnmatch does not like, see github
- # issue #644
- full_name = entry.full_name.sub %r%\A\./%, ''
+ next unless File.fnmatch pattern, entry.full_name, File::FNM_DOTMATCH
- next unless File.fnmatch pattern, full_name
-
- destination = install_location full_name, destination_dir
+ destination = install_location entry.full_name, destination_dir
FileUtils.rm_rf destination
@@ -395,6 +391,7 @@ EOM
destination_dir = File.realpath destination_dir if
File.respond_to? :realpath
+ destination_dir = File.expand_path destination_dir
destination = File.join destination_dir, filename
destination = File.expand_path destination