summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-02-07 02:49:02 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-02-07 02:49:02 +0000
commit8ebdec34ae4d3bf300a065b2a4a936721e8c4a40 (patch)
tree46c9f8fc91d28d108254c64bbde3ed8e51de6990
parenta4fde3b60cc16672c69bdfd986e8655a08b39fa4 (diff)
rbinstall.rb: umask hack
* tool/rbinstall.rb (Gem::Installer#install): moved umask hack. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rwxr-xr-xtool/rbinstall.rb16
1 files changed, 7 insertions, 9 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index 9f42325..1851f01 100755
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -737,7 +737,12 @@ class Gem::Installer
install = instance_method(:install)
define_method(:install) do
spec.post_install_message = nil
- install.bind(self).call
+ begin
+ u = File.umask(0022)
+ install.bind(self).call
+ ensure
+ File.umask(u)
+ end
end
generate_bin_script = instance_method(:generate_bin_script)
@@ -845,14 +850,7 @@ install?(:ext, :comm, :gem, :'bundle-gems') do
inst = Gem::Installer.new(gem, options)
inst.spec.extension_dir = with_destdir(inst.spec.extension_dir)
begin
- Gem::DefaultUserInteraction.use_ui(silent) do
- begin
- File.umask(022)
- inst.install
- ensure
- File.umask(0222)
- end
- end
+ Gem::DefaultUserInteraction.use_ui(silent) {inst.install}
rescue Gem::InstallError => e
next
end