Don't reinstall dependency when latest already installed
This commit is contained in:
parent
75e8376816
commit
7c20e1ef7c
@ -55,24 +55,24 @@ class Dependency
|
|||||||
end
|
end
|
||||||
return false unless formula
|
return false unless formula
|
||||||
|
|
||||||
if minimum_version.present?
|
return true if formula.latest_version_installed?
|
||||||
installed_version = formula.any_installed_version
|
|
||||||
return false unless installed_version
|
|
||||||
|
|
||||||
# Tabs prior to 4.1.18 did not have revision or pkg_version fields.
|
return false if minimum_version.blank?
|
||||||
# As a result, we have to be more conversative when we do not have
|
|
||||||
# a minimum revision from the tab and assume that if the formula has a
|
installed_version = formula.any_installed_version
|
||||||
# the same version and a non-zero revision that it needs upgraded.
|
return false unless installed_version
|
||||||
if minimum_revision.present?
|
|
||||||
minimum_pkg_version = PkgVersion.new(minimum_version, minimum_revision)
|
# Tabs prior to 4.1.18 did not have revision or pkg_version fields.
|
||||||
installed_version >= minimum_pkg_version
|
# As a result, we have to be more conversative when we do not have
|
||||||
elsif installed_version.version == minimum_version
|
# a minimum revision from the tab and assume that if the formula has a
|
||||||
formula.revision.zero?
|
# the same version and a non-zero revision that it needs upgraded.
|
||||||
else
|
if minimum_revision.present?
|
||||||
installed_version.version > minimum_version
|
minimum_pkg_version = PkgVersion.new(minimum_version, minimum_revision)
|
||||||
end
|
installed_version >= minimum_pkg_version
|
||||||
|
elsif installed_version.version == minimum_version
|
||||||
|
formula.revision.zero?
|
||||||
else
|
else
|
||||||
formula.latest_version_installed?
|
installed_version.version > minimum_version
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -82,6 +82,8 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
next false if dependency_formula.nil?
|
next false if dependency_formula.nil?
|
||||||
|
|
||||||
|
next true if dependency_formula.latest_version_installed?
|
||||||
|
|
||||||
installed_version = dependency_formula.any_installed_version
|
installed_version = dependency_formula.any_installed_version
|
||||||
next false unless installed_version
|
next false unless installed_version
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user