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