bin/autoproj_bootstrap in autoproj-1.7.4 vs bin/autoproj_bootstrap in autoproj-1.7.5

- old
+ new

@@ -642,18 +642,22 @@ # Don't install gems that are already there ... gems = gems.dup gems.delete_if do |name, version| version_requirements = Gem::Requirement.new(version || '>= 0') installed = Gem.source_index.find_name(name, version_requirements) - if (!installed.empty? && !version) && Autobuild.do_update + if !installed.empty? && Autobuild.do_update # Look if we can update the package ... dep = Gem::Dependency.new(name, version_requirements) - available = gem_fetcher.find_matching(dep, false, true, OSDependencies.gem_with_prerelease) + available = gem_fetcher.find_matching(dep, true, true, OSDependencies.gem_with_prerelease) installed_version = installed.map(&:version).max available_version = available.map { |(name, v), source| v }.max if !available_version - raise ConfigError.new, "cannot find any gem with the name '#{name}'" + if version + raise ConfigError.new, "cannot find any gem with the name '#{name}' and version #{version}" + else + raise ConfigError.new, "cannot find any gem with the name '#{name}'" + end end needs_update = (available_version > installed_version) !needs_update else !installed.empty? @@ -829,9 +833,17 @@ print Autoproj.color("Press ENTER to continue", :bold) STDOUT.flush STDIN.readline puts nil + end + + def installs_os_packages? + osdeps_mode == HANDLE_ALL || osdeps_mode == HANDLE_OS + end + + def installs_ruby_packages? + osdeps_mode == HANDLE_ALL || osdeps_mode == HANDLE_RUBY end def osdeps_interaction(osdeps, os_packages, shell_script, silent) if !OSDependencies.supported_operating_system? if silent