diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-12-26 06:44:52 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-12-26 06:44:52 +0000 |
commit | ee485d5d511794b3579ff8f33cae1dae1b3fb917 (patch) | |
tree | 4e3c4c694db4e7b538bcd4d42b824290d2a646fa /tool | |
parent | fe0ab0517a6cc71b06f0fe1b074f3f2e8e213862 (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-x | tool/rbinstall.rb | 36 |
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() |