brew/Library/Homebrew/extend/os/linux/cmd/update-report.rb

39 lines
974 B
Ruby
Raw Normal View History

# typed: strict
2023-01-28 21:38:40 +09:00
# frozen_string_literal: true
module Homebrew
module_function
sig { returns(String) }
def no_changes_message
"No changes to formulae."
end
sig { void }
2023-01-28 21:38:40 +09:00
def migrate_gcc_dependents_if_needed
return if Settings.read("gcc-rpaths.fixed") == "true"
Formula.installed.each do |formula|
next unless formula.tap&.core_tap?
recursive_runtime_dependencies = Dependency.expand(
formula,
cache_key: "update-report",
) do |_, dependency|
Dependency.prune if dependency.build? || dependency.test?
end
next unless recursive_runtime_dependencies.map(&:name).include? "gcc"
2025-02-16 22:20:37 -08:00
keg = formula.installed_kegs.fetch(-1)
tab = keg.tab
2023-01-28 21:38:40 +09:00
# Force reinstallation upon `brew upgrade` to fix the bottle RPATH.
tab.source["versions"]["version_scheme"] = -1
tab.write
rescue TapFormulaUnavailableError
nil
end
Settings.write "gcc-rpaths.fixed", true
end
end