[前][次][番号順一覧][スレッド一覧]

ruby-changes:54290

From: hsbt <ko1@a...>
Date: Sun, 23 Dec 2018 09:20:55 +0900 (JST)
Subject: [ruby-changes:54290] hsbt:r66499 (trunk): Merge RubyGems 3.0.1 from rubygems/rubygems.

hsbt	2018-12-23 09:20:49 +0900 (Sun, 23 Dec 2018)

  New Revision: 66499

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=66499

  Log:
    Merge RubyGems 3.0.1 from rubygems/rubygems.
    
      It fixed the issues of RubyGems 3.0.0.
      https://blog.rubygems.org/2018/12/23/3.0.1-released.html

  Modified files:
    trunk/lib/rubygems/commands/setup_command.rb
    trunk/lib/rubygems/installer.rb
    trunk/lib/rubygems/package/old.rb
    trunk/lib/rubygems/package.rb
    trunk/lib/rubygems/util.rb
    trunk/lib/rubygems.rb
    trunk/test/rubygems/test_gem.rb
    trunk/test/rubygems/test_gem_util.rb
Index: test/rubygems/test_gem_util.rb
===================================================================
--- test/rubygems/test_gem_util.rb	(revision 66498)
+++ test/rubygems/test_gem_util.rb	(revision 66499)
@@ -58,4 +58,21 @@ class TestGemUtil < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem_util.rb#L58
     assert_equal 4, list.find { |x| x == 4 }
   end
 
+  def test_glob_files_in_dir
+    FileUtils.mkdir_p 'g'
+    FileUtils.touch File.join('g', 'h.rb')
+    FileUtils.touch File.join('g', 'i.rb')
+
+    expected_paths = [
+      File.join(@tempdir, 'g/h.rb'),
+      File.join(@tempdir, 'g/i.rb'),
+    ]
+
+    files_with_absolute_base = Gem::Util.glob_files_in_dir('*.rb', File.join(@tempdir, 'g'))
+    assert_equal expected_paths.to_set, files_with_absolute_base.to_set
+
+    files_with_relative_base = Gem::Util.glob_files_in_dir('*.rb', 'g')
+    assert_equal expected_paths.to_set, files_with_relative_base.to_set
+  end
+
 end
Index: test/rubygems/test_gem.rb
===================================================================
--- test/rubygems/test_gem.rb	(revision 66498)
+++ test/rubygems/test_gem.rb	(revision 66499)
@@ -198,7 +198,7 @@ class TestGem < Gem::TestCase https://github.com/ruby/ruby/blob/trunk/test/rubygems/test_gem.rb#L198
     end
     assert_equal(expected, result)
   ensure
-    File.chmod(0700, *Dir.glob(@gemhome+'/gems/**/').map {|path| path.untaint})
+    File.chmod(0755, *Dir.glob(@gemhome+'/gems/**/').map {|path| path.untaint})
   end
 
   def test_require_missing
Index: lib/rubygems/installer.rb
===================================================================
--- lib/rubygems/installer.rb	(revision 66498)
+++ lib/rubygems/installer.rb	(revision 66499)
@@ -309,7 +309,7 @@ class Gem::Installer https://github.com/ruby/ruby/blob/trunk/lib/rubygems/installer.rb#L309
     FileUtils.rm_rf spec.extension_dir
 
     dir_mode = options[:dir_mode]
-    FileUtils.mkdir_p gem_dir, :mode => dir_mode && 0700
+    FileUtils.mkdir_p gem_dir, :mode => dir_mode && 0755
 
     if @options[:install_as_default]
       extract_bin
@@ -481,7 +481,7 @@ class Gem::Installer https://github.com/ruby/ruby/blob/trunk/lib/rubygems/installer.rb#L481
     return if spec.executables.nil? or spec.executables.empty?
 
     begin
-      Dir.mkdir @bin_dir, *[options[:dir_mode] && 0700].compact
+      Dir.mkdir @bin_dir, *[options[:dir_mode] && 0755].compact
     rescue SystemCallError
       raise unless File.directory? @bin_dir
     end
@@ -525,7 +525,7 @@ class Gem::Installer https://github.com/ruby/ruby/blob/trunk/lib/rubygems/installer.rb#L525
 
     FileUtils.rm_f bin_script_path # prior install may have been --no-wrappers
 
-    File.open bin_script_path, 'wb', 0700 do |file|
+    File.open bin_script_path, 'wb', 0755 do |file|
       file.print app_script_text(filename)
       file.chmod(options[:prog_mode] || 0755)
     end
@@ -720,7 +720,7 @@ class Gem::Installer https://github.com/ruby/ruby/blob/trunk/lib/rubygems/installer.rb#L720
   end
 
   def verify_gem_home(unpack = false) # :nodoc:
-    FileUtils.mkdir_p gem_home, :mode => options[:dir_mode] && 0700
+    FileUtils.mkdir_p gem_home, :mode => options[:dir_mode] && 0755
     raise Gem::FilePermissionError, gem_home unless
       unpack or File.writable?(gem_home)
   end
@@ -905,7 +905,7 @@ TEXT https://github.com/ruby/ruby/blob/trunk/lib/rubygems/installer.rb#L905
     build_info_dir = File.join gem_home, 'build_info'
 
     dir_mode = options[:dir_mode]
-    FileUtils.mkdir_p build_info_dir, :mode => dir_mode && 0700
+    FileUtils.mkdir_p build_info_dir, :mode => dir_mode && 0755
 
     build_info_file = File.join build_info_dir, "#{spec.full_name}.info"
 
Index: lib/rubygems/package.rb
===================================================================
--- lib/rubygems/package.rb	(revision 66498)
+++ lib/rubygems/package.rb	(revision 66499)
@@ -357,7 +357,7 @@ EOM https://github.com/ruby/ruby/blob/trunk/lib/rubygems/package.rb#L357
   def extract_files(destination_dir, pattern = "*")
     verify unless @spec
 
-    FileUtils.mkdir_p destination_dir, :mode => dir_mode && 0700
+    FileUtils.mkdir_p destination_dir, :mode => dir_mode && 0755
 
     @gem.with_read_io do |io|
       reader = Gem::Package::TarReader.new io
@@ -394,7 +394,7 @@ EOM https://github.com/ruby/ruby/blob/trunk/lib/rubygems/package.rb#L394
         FileUtils.rm_rf destination
 
         mkdir_options = {}
-        mkdir_options[:mode] = dir_mode ? 0700 : (entry.header.mode if entry.directory?)
+        mkdir_options[:mode] = dir_mode ? 0755 : (entry.header.mode if entry.directory?)
         mkdir =
           if entry.directory?
             destination
Index: lib/rubygems/commands/setup_command.rb
===================================================================
--- lib/rubygems/commands/setup_command.rb	(revision 66498)
+++ lib/rubygems/commands/setup_command.rb	(revision 66499)
@@ -312,7 +312,7 @@ By default, this RubyGems will install g https://github.com/ruby/ruby/blob/trunk/lib/rubygems/commands/setup_command.rb#L312
     dest_file = File.join dest_dir, file
     dest_dir = File.dirname dest_file
     unless File.directory? dest_dir
-      mkdir_p dest_dir, :mode => 0700
+      mkdir_p dest_dir, :mode => 0755
     end
 
     install file, dest_file, :mode => options[:data_mode] || 0644
@@ -387,7 +387,7 @@ By default, this RubyGems will install g https://github.com/ruby/ruby/blob/trunk/lib/rubygems/commands/setup_command.rb#L387
 
     specs_dir = Gem::Specification.default_specifications_dir
     specs_dir = File.join(options[:destdir], specs_dir) unless Gem.win_platform?
-    mkdir_p specs_dir, :mode => 0700
+    mkdir_p specs_dir, :mode => 0755
 
     # Workaround for non-git environment.
     gemspec = File.open('bundler/bundler.gemspec', 'rb'){|f| f.read.gsub(/`git ls-files -z`/, "''") }
@@ -422,7 +422,7 @@ By default, this RubyGems will install g https://github.com/ruby/ruby/blob/trunk/lib/rubygems/commands/setup_command.rb#L422
 
     bundler_bin_dir = bundler_spec.bin_dir
     bundler_bin_dir = File.join(options[:destdir], bundler_bin_dir) unless Gem.win_platform?
-    mkdir_p bundler_bin_dir, :mode => 0700
+    mkdir_p bundler_bin_dir, :mode => 0755
     bundler_spec.executables.each do |e|
       cp File.join("bundler", bundler_spec.bindir, e), File.join(bundler_bin_dir, e)
     end
@@ -446,8 +446,8 @@ By default, this RubyGems will install g https://github.com/ruby/ruby/blob/trunk/lib/rubygems/commands/setup_command.rb#L446
       lib_dir, bin_dir = generate_default_dirs(install_destdir)
     end
 
-    mkdir_p lib_dir, :mode => 0700
-    mkdir_p bin_dir, :mode => 0700
+    mkdir_p lib_dir, :mode => 0755
+    mkdir_p bin_dir, :mode => 0755
 
     return lib_dir, bin_dir
   end
Index: lib/rubygems/package/old.rb
===================================================================
--- lib/rubygems/package/old.rb	(revision 66498)
+++ lib/rubygems/package/old.rb	(revision 66499)
@@ -78,7 +78,7 @@ class Gem::Package::Old < Gem::Package https://github.com/ruby/ruby/blob/trunk/lib/rubygems/package/old.rb#L78
 
         FileUtils.rm_rf destination
 
-        FileUtils.mkdir_p File.dirname(destination), :mode => dir_mode && 0700
+        FileUtils.mkdir_p File.dirname(destination), :mode => dir_mode && 0755
 
         File.open destination, 'wb', file_mode(entry['mode']) do |out|
           out.write file_data
Index: lib/rubygems/util.rb
===================================================================
--- lib/rubygems/util.rb	(revision 66498)
+++ lib/rubygems/util.rb	(revision 66499)
@@ -122,7 +122,7 @@ module Gem::Util https://github.com/ruby/ruby/blob/trunk/lib/rubygems/util.rb#L122
 
   def self.glob_files_in_dir(glob, base_path)
     if RUBY_VERSION >= "2.5"
-      Dir.glob(glob, base: base_path).map! {|f| File.join(base_path, f) }
+      Dir.glob(glob, base: base_path).map! {|f| File.expand_path(f, base_path) }
     else
       Dir.glob(File.expand_path(glob, base_path))
     end
Index: lib/rubygems.rb
===================================================================
--- lib/rubygems.rb	(revision 66498)
+++ lib/rubygems.rb	(revision 66499)
@@ -9,7 +9,7 @@ https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L9
 require 'rbconfig'
 
 module Gem
-  VERSION = "3.0.0".freeze
+  VERSION = "3.0.1".freeze
 end
 
 # Must be first since it unloads the prelude from 1.9.2
@@ -572,7 +572,7 @@ An Array (#{env.inspect}) was passed in https://github.com/ruby/ruby/blob/trunk/lib/rubygems.rb#L572
   #++
 
   def self.find_home
-    Dir.home
+    Dir.home.dup
   rescue
     if Gem.win_platform?
       File.expand_path File.join(ENV['HOMEDRIVE'] || ENV['SystemDrive'], '/')

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]