Merge pull request #1813 from MikeMcQuaid/installed_as_dependency
tab: store installed_as_dependency, installed_on_request.
This commit is contained in:
commit
aa926a1bdf
@ -184,6 +184,14 @@ module Homebrew
|
|||||||
# FormulaInstaller will handle this case.
|
# FormulaInstaller will handle this case.
|
||||||
formulae << f
|
formulae << f
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Even if we don't install this formula mark it as no longer just
|
||||||
|
# installed as a dependency.
|
||||||
|
next unless f.opt_prefix.directory?
|
||||||
|
keg = Keg.new(f.opt_prefix.resolved_path)
|
||||||
|
tab = Tab.for_keg(keg)
|
||||||
|
tab.installed_on_request = true
|
||||||
|
tab.write
|
||||||
end
|
end
|
||||||
|
|
||||||
perform_preinstall_checks
|
perform_preinstall_checks
|
||||||
|
|||||||
@ -94,14 +94,24 @@ module Homebrew
|
|||||||
.select(&:directory?)
|
.select(&:directory?)
|
||||||
.map { |k| Keg.new(k.resolved_path) }
|
.map { |k| Keg.new(k.resolved_path) }
|
||||||
|
|
||||||
|
if f.opt_prefix.directory?
|
||||||
|
keg = Keg.new(f.opt_prefix.resolved_path)
|
||||||
|
tab = Tab.for_keg(keg)
|
||||||
|
end
|
||||||
|
|
||||||
fi = FormulaInstaller.new(f)
|
fi = FormulaInstaller.new(f)
|
||||||
fi.options = f.build.used_options
|
fi.options = f.build.used_options
|
||||||
fi.options &= f.options
|
fi.options &= f.options
|
||||||
fi.build_bottle = ARGV.build_bottle? || (!f.bottled? && f.build.build_bottle?)
|
fi.build_bottle = ARGV.build_bottle? || (!f.bottled? && f.build.build_bottle?)
|
||||||
fi.build_from_source = ARGV.build_from_source? || ARGV.build_all_from_source?
|
fi.build_from_source = ARGV.build_from_source? || ARGV.build_all_from_source?
|
||||||
fi.verbose = ARGV.verbose?
|
fi.verbose = ARGV.verbose?
|
||||||
fi.quieter = ARGV.quieter?
|
fi.quieter = ARGV.quieter?
|
||||||
fi.debug = ARGV.debug?
|
fi.debug = ARGV.debug?
|
||||||
|
fi.installed_on_request = !ARGV.named.empty?
|
||||||
|
if tab
|
||||||
|
fi.installed_as_dependency = tab.installed_as_dependency
|
||||||
|
fi.installed_on_request ||= tab.installed_on_request
|
||||||
|
end
|
||||||
fi.prelude
|
fi.prelude
|
||||||
|
|
||||||
oh1 "Upgrading #{f.full_specified_name} #{fi.options.to_a.join " "}"
|
oh1 "Upgrading #{f.full_specified_name} #{fi.options.to_a.join " "}"
|
||||||
|
|||||||
@ -1629,6 +1629,8 @@ class Formula
|
|||||||
"built_as_bottle" => tab.built_as_bottle,
|
"built_as_bottle" => tab.built_as_bottle,
|
||||||
"poured_from_bottle" => tab.poured_from_bottle,
|
"poured_from_bottle" => tab.poured_from_bottle,
|
||||||
"runtime_dependencies" => tab.runtime_dependencies,
|
"runtime_dependencies" => tab.runtime_dependencies,
|
||||||
|
"installed_as_dependency" => tab.installed_as_dependency,
|
||||||
|
"installed_on_request" => tab.installed_on_request,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -36,6 +36,7 @@ class FormulaInstaller
|
|||||||
mode_attr_accessor :build_from_source, :force_bottle
|
mode_attr_accessor :build_from_source, :force_bottle
|
||||||
mode_attr_accessor :ignore_deps, :only_deps, :interactive, :git
|
mode_attr_accessor :ignore_deps, :only_deps, :interactive, :git
|
||||||
mode_attr_accessor :verbose, :debug, :quieter
|
mode_attr_accessor :verbose, :debug, :quieter
|
||||||
|
mode_attr_accessor :installed_as_dependency, :installed_on_request
|
||||||
|
|
||||||
def initialize(formula)
|
def initialize(formula)
|
||||||
@formula = formula
|
@formula = formula
|
||||||
@ -50,6 +51,8 @@ class FormulaInstaller
|
|||||||
@verbose = false
|
@verbose = false
|
||||||
@quieter = false
|
@quieter = false
|
||||||
@debug = false
|
@debug = false
|
||||||
|
@installed_as_dependency = false
|
||||||
|
@installed_on_request = true
|
||||||
@options = Options.new
|
@options = Options.new
|
||||||
@invalid_option_names = []
|
@invalid_option_names = []
|
||||||
@requirement_messages = []
|
@requirement_messages = []
|
||||||
@ -250,6 +253,12 @@ class FormulaInstaller
|
|||||||
category = "install"
|
category = "install"
|
||||||
action = ([formula.full_name] + options).join(" ")
|
action = ([formula.full_name] + options).join(" ")
|
||||||
Utils::Analytics.report_event(category, action)
|
Utils::Analytics.report_event(category, action)
|
||||||
|
|
||||||
|
if installed_on_request
|
||||||
|
category = "install_on_request"
|
||||||
|
action = ([formula.full_name] + options).join(" ")
|
||||||
|
Utils::Analytics.report_event(category, action)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@attempted << formula
|
@@attempted << formula
|
||||||
@ -287,6 +296,12 @@ class FormulaInstaller
|
|||||||
brew_prefix = formula.prefix/".brew"
|
brew_prefix = formula.prefix/".brew"
|
||||||
brew_prefix.mkdir
|
brew_prefix.mkdir
|
||||||
Pathname(brew_prefix/"#{formula.name}.rb").atomic_write(s)
|
Pathname(brew_prefix/"#{formula.name}.rb").atomic_write(s)
|
||||||
|
|
||||||
|
keg = Keg.new(formula.prefix)
|
||||||
|
tab = Tab.for_keg(keg)
|
||||||
|
tab.installed_as_dependency = installed_as_dependency
|
||||||
|
tab.installed_on_request = installed_on_request
|
||||||
|
tab.write
|
||||||
end
|
end
|
||||||
|
|
||||||
build_bottle_postinstall if build_bottle?
|
build_bottle_postinstall if build_bottle?
|
||||||
@ -483,6 +498,8 @@ class FormulaInstaller
|
|||||||
fi.build_from_source = ARGV.build_formula_from_source?(df)
|
fi.build_from_source = ARGV.build_formula_from_source?(df)
|
||||||
fi.verbose = verbose? && !quieter?
|
fi.verbose = verbose? && !quieter?
|
||||||
fi.debug = debug?
|
fi.debug = debug?
|
||||||
|
fi.installed_as_dependency = true
|
||||||
|
fi.installed_on_request = false
|
||||||
fi.prelude
|
fi.prelude
|
||||||
oh1 "Installing #{formula.full_name} dependency: #{Formatter.identifier(dep.name)}"
|
oh1 "Installing #{formula.full_name} dependency: #{Formatter.identifier(dep.name)}"
|
||||||
fi.install
|
fi.install
|
||||||
@ -809,6 +826,8 @@ class FormulaInstaller
|
|||||||
tab.time = Time.now.to_i
|
tab.time = Time.now.to_i
|
||||||
tab.head = HOMEBREW_REPOSITORY.git_head
|
tab.head = HOMEBREW_REPOSITORY.git_head
|
||||||
tab.source["path"] = formula.specified_path.to_s
|
tab.source["path"] = formula.specified_path.to_s
|
||||||
|
tab.installed_as_dependency = installed_as_dependency
|
||||||
|
tab.installed_on_request = installed_on_request
|
||||||
tab.write
|
tab.write
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -25,6 +25,8 @@ class Tab < OpenStruct
|
|||||||
"unused_options" => build.unused_options.as_flags,
|
"unused_options" => build.unused_options.as_flags,
|
||||||
"tabfile" => formula.prefix.join(FILENAME),
|
"tabfile" => formula.prefix.join(FILENAME),
|
||||||
"built_as_bottle" => build.bottle?,
|
"built_as_bottle" => build.bottle?,
|
||||||
|
"installed_as_dependency" => false,
|
||||||
|
"installed_on_request" => true,
|
||||||
"poured_from_bottle" => false,
|
"poured_from_bottle" => false,
|
||||||
"time" => Time.now.to_i,
|
"time" => Time.now.to_i,
|
||||||
"source_modified_time" => formula.source_modified_time.to_i,
|
"source_modified_time" => formula.source_modified_time.to_i,
|
||||||
@ -172,6 +174,8 @@ class Tab < OpenStruct
|
|||||||
"used_options" => [],
|
"used_options" => [],
|
||||||
"unused_options" => [],
|
"unused_options" => [],
|
||||||
"built_as_bottle" => false,
|
"built_as_bottle" => false,
|
||||||
|
"installed_as_dependency" => false,
|
||||||
|
"installed_on_request" => true,
|
||||||
"poured_from_bottle" => false,
|
"poured_from_bottle" => false,
|
||||||
"time" => nil,
|
"time" => nil,
|
||||||
"source_modified_time" => 0,
|
"source_modified_time" => 0,
|
||||||
@ -313,6 +317,8 @@ class Tab < OpenStruct
|
|||||||
"unused_options" => unused_options.as_flags,
|
"unused_options" => unused_options.as_flags,
|
||||||
"built_as_bottle" => built_as_bottle,
|
"built_as_bottle" => built_as_bottle,
|
||||||
"poured_from_bottle" => poured_from_bottle,
|
"poured_from_bottle" => poured_from_bottle,
|
||||||
|
"installed_as_dependency" => installed_as_dependency,
|
||||||
|
"installed_on_request" => installed_on_request,
|
||||||
"changed_files" => changed_files && changed_files.map(&:to_s),
|
"changed_files" => changed_files && changed_files.map(&:to_s),
|
||||||
"time" => time,
|
"time" => time,
|
||||||
"source_modified_time" => source_modified_time.to_i,
|
"source_modified_time" => source_modified_time.to_i,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user