summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-12-26 06:44:52 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-12-26 06:44:52 +0000
commitee485d5d511794b3579ff8f33cae1dae1b3fb917 (patch)
tree4e3c4c694db4e7b538bcd4d42b824290d2a646fa /tool
parentfe0ab0517a6cc71b06f0fe1b074f3f2e8e213862 (diff)
merge revision(s) 49015,49016: [Backport #10647]
* tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable. [Bug #10647] [ruby-dev:48787] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
-rwxr-xr-xtool/rbinstall.rb36
1 files changed, 22 insertions, 14 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index 98e601e843..4a6bae0ce9 100755
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -709,20 +709,28 @@ install?(:ext, :comm, :gem) do
end
install?(:ext, :comm, :gem) do
- require 'pathname'
- gem_dir = Gem.default_dir
- directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
- prepare "bundle gems", gem_dir, directories
- Dir.glob(srcdir+'/gems/*.gem').each do |gem|
- Gem.install gem, Gem::Requirement.default, :install_dir => with_destdir(Gem.dir), :domain => :local, :ignore_dependencies => true
- gemname = Pathname(gem).basename
- puts "#{" "*30}#{gemname}"
- end
- # fix directory permissions
- # TODO: Gem.install should accept :dir_mode option or something
- File.chmod($dir_mode, *Dir.glob(with_destdir(Gem.dir)+"/**/"))
- # fix .gemspec permissions
- File.chmod($data_mode, *Dir.glob(with_destdir(Gem.dir)+"/specifications/*.gemspec"))
+ begin
+ require "zlib"
+ rescue LoadErroe
+ end
+ if defined?(Zlib)
+ require 'pathname'
+ gem_dir = Gem.default_dir
+ directories = Gem.ensure_gem_subdirectories(gem_dir, :mode => $dir_mode)
+ prepare "bundle gems", gem_dir, directories
+ Dir.glob(srcdir+'/gems/*.gem').each do |gem|
+ Gem.install gem, Gem::Requirement.default, :install_dir => with_destdir(Gem.dir), :domain => :local, :ignore_dependencies => true
+ gemname = Pathname(gem).basename
+ puts "#{" "*30}#{gemname}"
+ end
+ # fix directory permissions
+ # TODO: Gem.install should accept :dir_mode option or something
+ File.chmod($dir_mode, *Dir.glob(with_destdir(Gem.dir)+"/**/"))
+ # fix .gemspec permissions
+ File.chmod($data_mode, *Dir.glob(with_destdir(Gem.dir)+"/specifications/*.gemspec"))
+ else
+ puts "skip installing bundle gems because of lacking zlib"
+ end
end
parse_args()