Project

General

Profile

Bug #4930 ยป issue4930.patch

add go+w flags(022) to the file creation mask - sakuro (Sakuro OZAWA), 06/27/2011 01:31 AM

View differences:

lib/rubygems.rb (working copy)
def self.ensure_gem_subdirectories dir = Gem.dir
require 'fileutils'
old_umask = File.umask
File.umask(old_umask | 022)
%w[cache doc gems specifications].each do |name|
subdir = File.join dir, name
next if File.exist? subdir
FileUtils.mkdir_p subdir rescue nil # in case of perms issues -- lame
end
ensure
File.umask(old_umask)
end
##
test/rubygems/test_gem.rb (working copy)
assert File.directory? File.join(@gemhome, "cache")
end
def test_self_ensure_gem_directories_safe_permissions
FileUtils.rm_r @gemhome
Gem.use_paths @gemhome
old_umask = File.umask
File.umask(0)
Gem.ensure_gem_subdirectories @gemhome
assert_equal 0, File::Stat.new(@gemhome).mode & 022
assert_equal 0, File::Stat.new(File.join(@gemhome, "cache")).mode & 022
ensure
File.umask(old_umask)
end
def test_self_ensure_gem_directories_missing_parents
gemdir = File.join @tempdir, 'a/b/c/gemdir'
FileUtils.rm_rf File.join(@tempdir, 'a') rescue nil
    (1-1/1)