From 4eaa327852feb07ee3a042cbad1258085e0e556d Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 25 Dec 2014 16:48:32 +0000 Subject: * tool/rbinstall.rb: skip installing bundle gems if zlib is unavailable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/rbinstall.rb | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'tool/rbinstall.rb') 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() -- cgit v1.2.3