ruby-changes:51221
From: mame <ko1@a...>
Date: Tue, 15 May 2018 13:16:14 +0900 (JST)
Subject: [ruby-changes:51221] mame:r63428 (trunk): Revert "Merge fileutils-1.1.0."
mame 2018-05-15 13:16:08 +0900 (Tue, 15 May 2018) New Revision: 63428 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=63428 Log: Revert "Merge fileutils-1.1.0." This reverts commit 99da3d2570e110d3024039102205f6d64174bf5e. The change caused the following build failure: ``` .../ruby/lib/fileutils.rb:88:in `require': cannot load such file -- rbconfig (LoadError) uncommon.mk:987: recipe for target 'encdb.h' failed make: *** [encdb.h] Error 1 ``` Modified files: trunk/lib/fileutils.gemspec trunk/lib/fileutils.rb trunk/test/fileutils/test_fileutils.rb Index: test/fileutils/test_fileutils.rb =================================================================== --- test/fileutils/test_fileutils.rb (revision 63427) +++ test/fileutils/test_fileutils.rb (revision 63428) @@ -233,7 +233,7 @@ class TestFileUtils < Test::Unit::TestCa https://github.com/ruby/ruby/blob/trunk/test/fileutils/test_fileutils.rb#L233 def test_assert_output_lines assert_raise(MiniTest::Assertion) { - Timeout.timeout(0.5) { + Timeout.timeout(0.1) { assert_output_lines([]) { Thread.current.report_on_exception = false raise "ok" @@ -834,15 +834,13 @@ class TestFileUtils < Test::Unit::TestCa https://github.com/ruby/ruby/blob/trunk/test/fileutils/test_fileutils.rb#L834 check_singleton :ln_s TARGETS.each do |fname| - begin - fname = "../#{fname}" - lnfname = 'tmp/lnsdest' - ln_s fname, lnfname - assert FileTest.symlink?(lnfname), 'not symlink' - assert_equal fname, File.readlink(lnfname) - ensure - rm_f lnfname - end + fname = "../#{fname}" + lnfname = 'tmp/lnsdest' + ln_s fname, lnfname + assert FileTest.symlink?(lnfname), 'not symlink' + assert_equal fname, File.readlink(lnfname) + ensure + rm_f lnfname end end if have_symlink? and !no_broken_symlink? @@ -1615,10 +1613,6 @@ class TestFileUtils < Test::Unit::TestCa https://github.com/ruby/ruby/blob/trunk/test/fileutils/test_fileutils.rb#L1613 check_singleton :cd end - def test_cd_result - assert_equal 42, cd('.') { 42 } - end - def test_chdir check_singleton :chdir end Index: lib/fileutils.gemspec =================================================================== --- lib/fileutils.gemspec (revision 63427) +++ lib/fileutils.gemspec (revision 63428) @@ -1,14 +1,14 @@ https://github.com/ruby/ruby/blob/trunk/lib/fileutils.gemspec#L1 # frozen_string_literal: true - Gem::Specification.new do |s| s.name = "fileutils" - s.version = '1.1.0' + s.version = '1.0.2' + s.date = '2017-12-22' s.summary = "Several file utility methods for copying, moving, removing, etc." s.description = "Several file utility methods for copying, moving, removing, etc." s.require_path = %w{lib} s.files = [".gitignore", ".travis.yml", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "bin/console", "bin/setup", "fileutils.gemspec", "lib/fileutils.rb"] - s.required_ruby_version = ">= 2.3.0" + s.required_ruby_version = ">= 2.4.0" s.authors = ["Minero Aoki"] s.email = [nil] Index: lib/fileutils.rb =================================================================== --- lib/fileutils.rb (revision 63427) +++ lib/fileutils.rb (revision 63428) @@ -85,11 +85,9 @@ https://github.com/ruby/ruby/blob/trunk/lib/fileutils.rb#L85 # <tt>:verbose</tt> flags to methods in FileUtils. # -require 'rbconfig' - module FileUtils - VERSION = "1.1.0" + VERSION = "1.0.2" def self.private_module_function(name) #:nodoc: module_function name @@ -121,9 +119,8 @@ module FileUtils https://github.com/ruby/ruby/blob/trunk/lib/fileutils.rb#L119 # def cd(dir, verbose: nil, &block) # :yield: dir fu_output_message "cd #{dir}" if verbose - result = Dir.chdir(dir, &block) + Dir.chdir(dir, &block) fu_output_message 'cd -' if verbose and block - result end module_function :cd @@ -544,7 +541,7 @@ module FileUtils https://github.com/ruby/ruby/blob/trunk/lib/fileutils.rb#L541 module_function :move def rename_cannot_overwrite_file? #:nodoc: - /emx/ =~ RbConfig::CONFIG['host_os'] + /emx/ =~ RUBY_PLATFORM end private_module_function :rename_cannot_overwrite_file? @@ -684,38 +681,22 @@ module FileUtils https://github.com/ruby/ruby/blob/trunk/lib/fileutils.rb#L681 unless parent_st.sticky? raise ArgumentError, "parent directory is world writable, FileUtils#remove_entry_secure does not work; abort: #{path.inspect} (parent directory mode #{'%o' % parent_st.mode})" end - # freeze tree root euid = Process.euid - dot_file = fullpath + "/." - begin - File.open(dot_file) {|f| - unless fu_stat_identical_entry?(st, f.stat) - # symlink (TOC-to-TOU attack?) - File.unlink fullpath - return - end - f.chown euid, -1 - f.chmod 0700 - } - rescue EISDIR # JRuby in non-native mode can't open files as dirs - File.lstat(dot_file).tap {|fstat| - unless fu_stat_identical_entry?(st, fstat) - # symlink (TOC-to-TOU attack?) - File.unlink fullpath - return - end - File.chown euid, -1, dot_file - File.chmod 0700, dot_file - } - end - - unless fu_stat_identical_entry?(st, File.lstat(fullpath)) - # TOC-to-TOU attack? - File.unlink fullpath - return - end - + File.open(fullpath + '/.') {|f| + unless fu_stat_identical_entry?(st, f.stat) + # symlink (TOC-to-TOU attack?) + File.unlink fullpath + return + end + f.chown euid, -1 + f.chmod 0700 + unless fu_stat_identical_entry?(st, File.lstat(fullpath)) + # TOC-to-TOU attack? + File.unlink fullpath + return + end + } # ---- tree root is frozen ---- root = Entry_.new(path) root.preorder_traverse do |ent| @@ -816,15 +797,8 @@ module FileUtils https://github.com/ruby/ruby/blob/trunk/lib/fileutils.rb#L797 # def compare_stream(a, b) bsize = fu_stream_blksize(a, b) - - if RUBY_VERSION > "2.4" - sa = String.new(capacity: bsize) - sb = String.new(capacity: bsize) - else - sa = String.new - sb = String.new - end - + sa = String.new(capacity: bsize) + sb = String.new(capacity: bsize) begin a.read(bsize, sa) b.read(bsize, sb) @@ -1149,7 +1123,7 @@ module FileUtils https://github.com/ruby/ruby/blob/trunk/lib/fileutils.rb#L1123 private def fu_windows? - /mswin|mingw|bccwin|emx/ =~ RbConfig::CONFIG['host_os'] + /mswin|mingw|bccwin|emx/ =~ RUBY_PLATFORM end def fu_copy_stream0(src, dest, blksize = nil) #:nodoc: -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/