update-report: better handle user set bottle domain, core git remote.

Unset these variables and print a warning if they were set to
non-default values.
This commit is contained in:
Mike McQuaid 2021-10-21 15:01:58 +01:00
parent 1c6f060fff
commit eb1b244fd2
No known key found for this signature in database
GPG Key ID: 3338A31AFDB1D829
2 changed files with 33 additions and 2 deletions

View File

@ -44,12 +44,32 @@ module Homebrew
# Run `brew update` (again) if we've got a linuxbrew-core CoreTap # Run `brew update` (again) if we've got a linuxbrew-core CoreTap
if CoreTap.instance.linuxbrew_core? && ENV["HOMEBREW_LINUXBREW_CORE_MIGRATION"].blank? if CoreTap.instance.linuxbrew_core? && ENV["HOMEBREW_LINUXBREW_CORE_MIGRATION"].blank?
ohai_stdout_or_stderr "Re-running `brew update` for linuxbrew-core migration"
if ENV["HOMEBREW_CORE_DEFAULT_GIT_REMOTE"] != ENV["HOMEBREW_CORE_GIT_REMOTE"]
opoo <<~EOS
HOMEBREW_CORE_GIT_REMOTE was set. It has been unset for the migration.
You may need to change this from a linuxbrew-core mirror to a homebrew-core one.
EOS
end
ENV.delete("HOMEBREW_CORE_GIT_REMOTE")
if ENV["HOMEBREW_BOTTLE_DEFAULT_DOMAIN"] != ENV["HOMEBREW_BOTTLE_DOMAIN"]
opoo <<~EOS
HOMEBREW_BOTTLE_DOMAIN was set. It has been unset for the migration.
You may need to change this Linuxbrew packages to Homebrew packages.
EOS
end
ENV.delete("HOMEBREW_BOTTLE_DOMAIN")
ENV["HOMEBREW_LINUXBREW_CORE_MIGRATION"] = "1" ENV["HOMEBREW_LINUXBREW_CORE_MIGRATION"] = "1"
FileUtils.rm_f HOMEBREW_LOCKS/"update"
update_args = [] update_args = []
update_args << "--preinstall" if args.preinstall? update_args << "--preinstall" if args.preinstall?
update_args << "--force" if args.force? update_args << "--force" if args.force?
ohai_stdout_or_stderr "Re-running `brew update` for linuxbrew-core migration"
FileUtils.rm_f HOMEBREW_LOCKS/"update"
exec HOMEBREW_BREW_FILE, "update", *update_args exec HOMEBREW_BREW_FILE, "update", *update_args
end end

View File

@ -16,6 +16,7 @@ module Homebrew
%w[ %w[
check_access_directories check_access_directories
check_linuxbrew_core check_linuxbrew_core
check_linuxbrew_bottle_domain
].freeze ].freeze
end end
@ -127,6 +128,16 @@ module Homebrew
You must `brew update` to update to homebrew-core. You must `brew update` to update to homebrew-core.
EOS EOS
end end
def check_linuxbrew_bottle_domain
return unless Homebrew::EnvConfig.bottle_domain.include?("linuxbrew-core")
<<~EOS
Your HOMEBREW_BOTTLE_DOMAIN still contains linuxbrew-core.
You must unset it (or adjust it to not contain linuxbrew-core
e.g. by using homebrew-core instead).
EOS
end
end end
end end
end end