bin/autoproj_bootstrap in autoproj-1.9.5 vs bin/autoproj_bootstrap in autoproj-1.9.6

- old
+ new

@@ -8,10 +8,16 @@ if defined? Encoding # This is a 1.9-only thing Encoding.default_internal = Encoding::UTF_8 Encoding.default_external = Encoding::UTF_8 end +if ENV['AUTOPROJ_CURRENT_ROOT'] && ENV['AUTOPROJ_CURRENT_ROOT'] != Dir.pwd + STDERR.puts "the env.sh from #{ENV['AUTOPROJ_CURRENT_ROOT']} seem to already be sourced" + STDERR.puts "start a new shell and try to bootstrap again" + exit 1 +end + require 'rbconfig' module Autobuild @windows = RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)! def self.windows? @windows @@ -1510,11 +1516,11 @@ when 'all' then modes.concat(['os', 'gem', 'pip']) when 'ruby' then modes << 'gem' when 'gem' then modes << 'gem' when 'pip' then modes << 'pip' when 'os' then modes << 'os' - when 'none' then modes << 'none' + when 'none' then else raise ArgumentError, "#{str} is not a known package handler" end end modes end @@ -1587,21 +1593,26 @@ # Requests the installation of the given set of packages def install(packages, options = Hash.new) options = if Kernel.respond_to?(:validate_options) Kernel.validate_options options, :osdeps_mode => osdeps_mode - else options.dup + else + options = options.dup + options[:osdeps_mode] ||= osdeps_mode + options end os_package_handler.enabled = false package_handlers.each_value do |handler| handler.enabled = false end options[:osdeps_mode].each do |m| if m == 'os' os_package_handler.enabled = true + elsif pkg = package_handlers[m] + pkg.enabled = true else - package_handlers[m].enabled = true + Autoproj.warn "osdep handler #{m.inspect} has no handler, available handlers are #{package_handlers.keys.map(&:inspect).sort.join(", ")}" end end os_package_handler.silent = self.silent? package_handlers.each_value do |v| v.silent = self.silent?