Migrate linuxbrew-core to homebrew-core on update.

- Only for HOMEBREW_DEVELOPER
- Except for HOMEBREW_CORE_MERGE_MAINTAINER
- Except for GitHub Actions CI

Co-authored-by: Rylan Polster <rslpolster@gmail.com>
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
Michka Popoff 2021-10-07 11:16:03 +01:00
parent 09b7ab2c1d
commit e8ee5b05f9
No known key found for this signature in database
GPG Key ID: 033D03F151030611
8 changed files with 214 additions and 33 deletions

View File

@ -546,12 +546,25 @@ Your Git executable: $(unset git && type -p ${HOMEBREW_GIT})"
HOMEBREW_CORE_REPOSITORY_ORIGIN="$("${HOMEBREW_GIT}" -C "${HOMEBREW_CORE_REPOSITORY}" remote get-url origin 2>/dev/null)" HOMEBREW_CORE_REPOSITORY_ORIGIN="$("${HOMEBREW_GIT}" -C "${HOMEBREW_CORE_REPOSITORY}" remote get-url origin 2>/dev/null)"
if [[ "${HOMEBREW_CORE_REPOSITORY_ORIGIN}" == "https://github.com/Homebrew/homebrew-core" ]] if [[ "${HOMEBREW_CORE_REPOSITORY_ORIGIN}" == "https://github.com/Homebrew/homebrew-core" ]]
then then
# If the remote origin has been set to Homebrew/homebrew-core by the install script, # TODO: this variable can go away when we're migrating everyone to homebrew-core.
# then we are in the case of a new installation of brew, using Homebrew/homebrew-core as a Linux core repository. HOMEBREW_CORE_ON_LINUX=1
# In that case, set HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX=1 to set the right HOMEBREW_BOTTLE_DOMAIN below. # Migrate from linuxbrew-core to homebrew-core:
# TODO: Once the linuxbrew-core migration is done we will be able to clean this up and # - if either HOMEBREW_FORCE_HOMEBREW_ON_LINUX or HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX are set
# remove HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX # - unless HOMEBREW_LINUXCORE_MERGE is set (by maintainers who still merge homebrew-core into linuxbrew-core)
export HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX="1" # - only HOMEBREW_DEVELOPER users (for now)
# - not on GitHub Actions (for now)
elif [[ -n "${HOMEBREW_FORCE_HOMEBREW_ON_LINUX}" ||
-n "${HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX}" ]] ||
[[ -n "${HOMEBREW_DEVELOPER}" ]] &&
[[ -z "${HOMEBREW_LINUXCORE_MERGE}" ]] &&
[[ -z "${GITHUB_ACTIONS}" ]]
then
# TODO: this variable can go away when we're migrating everyone to homebrew-core.
HOMEBREW_CORE_ON_LINUX=1
# triggers migration code in update.sh
# shellcheck disable=SC2034
HOMEBREW_LINUXBREW_MIGRATION=1
fi fi
fi fi
@ -583,8 +596,7 @@ then
fi fi
if [[ -n "${HOMEBREW_MACOS}" ]] || if [[ -n "${HOMEBREW_MACOS}" ]] ||
[[ -n "${HOMEBREW_FORCE_HOMEBREW_ON_LINUX}" ]] || [[ -n "${HOMEBREW_CORE_ON_LINUX}" ]]
[[ -n "${HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX}" ]]
then then
HOMEBREW_BOTTLE_DEFAULT_DOMAIN="https://ghcr.io/v2/homebrew/core" HOMEBREW_BOTTLE_DEFAULT_DOMAIN="https://ghcr.io/v2/homebrew/core"
else else
@ -725,8 +737,7 @@ fi
export HOMEBREW_BREW_GIT_REMOTE export HOMEBREW_BREW_GIT_REMOTE
if [[ -n "${HOMEBREW_MACOS}" ]] || if [[ -n "${HOMEBREW_MACOS}" ]] ||
[[ -n "${HOMEBREW_FORCE_HOMEBREW_ON_LINUX}" ]] || [[ -n "${HOMEBREW_CORE_ON_LINUX}" ]]
[[ -n "${HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX}" ]]
then then
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://github.com/Homebrew/homebrew-core" HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://github.com/Homebrew/homebrew-core"
else else

View File

@ -9,6 +9,7 @@ require "cleanup"
require "description_cache_store" require "description_cache_store"
require "cli/parser" require "cli/parser"
require "settings" require "settings"
require "linuxbrew-core-migration"
module Homebrew module Homebrew
extend T::Sig extend T::Sig
@ -104,6 +105,28 @@ module Homebrew
next unless tap.git? next unless tap.git?
next if tap.core_tap? && ENV["HOMEBREW_INSTALL_FROM_API"].present? && args.preinstall? next if tap.core_tap? && ENV["HOMEBREW_INSTALL_FROM_API"].present? && args.preinstall?
if ENV["HOMEBREW_MIGRATE_LINUXBREW_FORMULAE"].present? && tap.core_tap? &&
Settings.read("linuxbrewmigrated") != "true"
puts_stdout_or_stderr "Migrating formulae from linuxbrew-core to homebrew-core" unless args.quiet?
LINUXBREW_CORE_MIGRATION_LIST.each do |name|
begin
formula = Formula[name]
rescue FormulaUnavailableError
next
end
next unless formula.any_version_installed?
keg = formula.installed_kegs.last
tab = Tab.for_keg(keg)
# force a `brew upgrade` from the linuxbrew-core version to the homebrew-core version (even if lower)
tab.source["versions"]["version_scheme"] = -1
tab.write
end
Settings.write "linuxbrewmigrated", true
end
begin begin
reporter = Reporter.new(tap) reporter = Reporter.new(tap)
rescue Reporter::ReporterRevisionUnsetError => e rescue Reporter::ReporterRevisionUnsetError => e

View File

@ -58,8 +58,8 @@ git_init_if_necessary() {
trap - EXIT trap - EXIT
fi fi
[[ -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]] || return [[ -d "${HOMEBREW_CORE_REPOSITORY}" ]] || return
safe_cd "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" safe_cd "${HOMEBREW_CORE_REPOSITORY}"
if [[ ! -d ".git" ]] if [[ ! -d ".git" ]]
then then
set -e set -e
@ -270,7 +270,13 @@ EOS
# ensure we don't munge line endings on checkout # ensure we don't munge line endings on checkout
git config core.autocrlf false git config core.autocrlf false
if [[ -z "${HOMEBREW_MERGE}" ]] if [[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" && -n "${HOMEBREW_LINUXBREW_MIGRATION}" ]]
then
# Don't even try to rebase/merge on linuxbrew-core migration but rely on
# stashing etc. above.
git reset --hard "${QUIET_ARGS[@]}" "${REMOTE_REF}"
unset HOMEBREW_LINUXBREW_MIGRATION
elif [[ -z "${HOMEBREW_MERGE}" ]]
then then
# Work around bug where git rebase --quiet is not quiet # Work around bug where git rebase --quiet is not quiet
if [[ -z "${HOMEBREW_VERBOSE}" ]] if [[ -z "${HOMEBREW_VERBOSE}" ]]
@ -387,7 +393,7 @@ EOS
if [[ -n "${HOMEBREW_FORCE_BREWED_CA_CERTIFICATES}" && ! -f "${HOMEBREW_PREFIX}/etc/ca-certificates/cert.pem" ]] if [[ -n "${HOMEBREW_FORCE_BREWED_CA_CERTIFICATES}" && ! -f "${HOMEBREW_PREFIX}/etc/ca-certificates/cert.pem" ]]
then then
# we cannot install Homebrew CA certificates if homebrew/core is unavailable. # we cannot install Homebrew CA certificates if homebrew/core is unavailable.
if [[ -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" || -n "${HOMEBREW_INSTALL_FROM_API}" ]] if [[ -d "${HOMEBREW_CORE_REPOSITORY}" || -n "${HOMEBREW_INSTALL_FROM_API}" ]]
then then
brew install ca-certificates brew install ca-certificates
setup_ca_certificates setup_ca_certificates
@ -398,7 +404,7 @@ EOS
if [[ -n "${HOMEBREW_FORCE_BREWED_CURL}" && ! -x "${HOMEBREW_PREFIX}/opt/curl/bin/curl" ]] if [[ -n "${HOMEBREW_FORCE_BREWED_CURL}" && ! -x "${HOMEBREW_PREFIX}/opt/curl/bin/curl" ]]
then then
# we cannot install a Homebrew cURL if homebrew/core is unavailable. # we cannot install a Homebrew cURL if homebrew/core is unavailable.
if [[ ! -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" && -z "${HOMEBREW_INSTALL_FROM_API}" ]] || ! brew install curl if [[ ! -d "${HOMEBREW_CORE_REPOSITORY}" && -z "${HOMEBREW_INSTALL_FROM_API}" ]] || ! brew install curl
then then
odie "'curl' must be installed and in your PATH!" odie "'curl' must be installed and in your PATH!"
fi fi
@ -410,7 +416,7 @@ EOS
[[ -n "${HOMEBREW_FORCE_BREWED_GIT}" && ! -x "${HOMEBREW_PREFIX}/opt/git/bin/git" ]] [[ -n "${HOMEBREW_FORCE_BREWED_GIT}" && ! -x "${HOMEBREW_PREFIX}/opt/git/bin/git" ]]
then then
# we cannot install a Homebrew Git if homebrew/core is unavailable. # we cannot install a Homebrew Git if homebrew/core is unavailable.
if [[ ! -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" && -z "${HOMEBREW_INSTALL_FROM_API}" ]] || ! brew install git if [[ ! -d "${HOMEBREW_CORE_REPOSITORY}" && -z "${HOMEBREW_INSTALL_FROM_API}" ]] || ! brew install git
then then
odie "'git' must be installed and in your PATH!" odie "'git' must be installed and in your PATH!"
fi fi
@ -418,7 +424,7 @@ EOS
setup_git setup_git
fi fi
[[ -f "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core/.git/shallow" ]] && HOMEBREW_CORE_SHALLOW=1 [[ -f "${HOMEBREW_CORE_REPOSITORY}/.git/shallow" ]] && HOMEBREW_CORE_SHALLOW=1
[[ -f "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask/.git/shallow" ]] && HOMEBREW_CASK_SHALLOW=1 [[ -f "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask/.git/shallow" ]] && HOMEBREW_CASK_SHALLOW=1
if [[ -n "${HOMEBREW_CORE_SHALLOW}" && -n "${HOMEBREW_CASK_SHALLOW}" ]] if [[ -n "${HOMEBREW_CORE_SHALLOW}" && -n "${HOMEBREW_CASK_SHALLOW}" ]]
then then
@ -436,7 +442,7 @@ ${HOMEBREW_CORE_SHALLOW:+
homebrew-core is a shallow clone.}${HOMEBREW_CASK_SHALLOW:+ homebrew-core is a shallow clone.}${HOMEBREW_CASK_SHALLOW:+
homebrew-cask is a shallow clone.} homebrew-cask is a shallow clone.}
To \`brew update\`, first run:${HOMEBREW_CORE_SHALLOW:+ To \`brew update\`, first run:${HOMEBREW_CORE_SHALLOW:+
git -C "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" fetch --unshallow}${HOMEBREW_CASK_SHALLOW:+ git -C "${HOMEBREW_CORE_REPOSITORY}" fetch --unshallow}${HOMEBREW_CASK_SHALLOW:+
git -C "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask" fetch --unshallow} git -C "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask" fetch --unshallow}
${SHALLOW_COMMAND_PHRASE} may take a few minutes to run due to the large size of the ${SHALLOW_REPO_PHRASE}. ${SHALLOW_COMMAND_PHRASE} may take a few minutes to run due to the large size of the ${SHALLOW_REPO_PHRASE}.
This restriction has been made on GitHub's request because updating shallow This restriction has been made on GitHub's request because updating shallow
@ -491,26 +497,42 @@ EOS
git remote set-url origin "${HOMEBREW_BREW_GIT_REMOTE}" git remote set-url origin "${HOMEBREW_BREW_GIT_REMOTE}"
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch --force --tags origin git fetch --force --tags origin
SKIP_FETCH_BREW_REPOSITORY=1
fi fi
if [[ "${HOMEBREW_CORE_DEFAULT_GIT_REMOTE}" != "${HOMEBREW_CORE_GIT_REMOTE}" ]] && if [[ -d "${HOMEBREW_CORE_REPOSITORY}" ]] &&
[[ -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]] [[ "${HOMEBREW_CORE_DEFAULT_GIT_REMOTE}" != "${HOMEBREW_CORE_GIT_REMOTE}" ||
-n "${HOMEBREW_LINUXBREW_MIGRATION}" ]]
then then
safe_cd "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" if [[ -n "${HOMEBREW_LINUXBREW_MIGRATION}" ]]
then
# This means a migration is needed (in case it isn't run this time)
safe_cd "${HOMEBREW_REPOSITORY}"
git config --bool homebrew.linuxbrewmigrated false
fi
safe_cd "${HOMEBREW_CORE_REPOSITORY}"
echo "HOMEBREW_CORE_GIT_REMOTE set: using ${HOMEBREW_CORE_GIT_REMOTE} for Homebrew/core Git remote." echo "HOMEBREW_CORE_GIT_REMOTE set: using ${HOMEBREW_CORE_GIT_REMOTE} for Homebrew/core Git remote."
git remote set-url origin "${HOMEBREW_CORE_GIT_REMOTE}" git remote set-url origin "${HOMEBREW_CORE_GIT_REMOTE}"
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch --force origin refs/heads/master:refs/remotes/origin/master git fetch --force origin refs/heads/master:refs/remotes/origin/master
SKIP_FETCH_CORE_REPOSITORY=1
fi fi
safe_cd "${HOMEBREW_REPOSITORY}" safe_cd "${HOMEBREW_REPOSITORY}"
# if an older system had a newer curl installed, change each repo's remote URL from GIT to HTTPS # This means a migration is needed but hasn't completed (yet).
if [[ "$(git config homebrew.linuxbrewmigrated 2>/dev/null)" == "false" ]]
then
export HOMEBREW_MIGRATE_LINUXBREW_FORMULAE=1
fi
# if an older system had a newer curl installed, change each repo's remote URL from git to https
if [[ -n "${HOMEBREW_SYSTEM_CURL_TOO_OLD}" && -x "${HOMEBREW_PREFIX}/opt/curl/bin/curl" ]] && if [[ -n "${HOMEBREW_SYSTEM_CURL_TOO_OLD}" && -x "${HOMEBREW_PREFIX}/opt/curl/bin/curl" ]] &&
[[ "$(git config remote.origin.url)" =~ ^git:// ]] [[ "$(git config remote.origin.url)" =~ ^git:// ]]
then then
git config remote.origin.url "${HOMEBREW_BREW_GIT_REMOTE}" git config remote.origin.url "${HOMEBREW_BREW_GIT_REMOTE}"
git config -f "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core/.git/config" remote.origin.url "${HOMEBREW_CORE_GIT_REMOTE}" git config -f "${HOMEBREW_CORE_REPOSITORY}/.git/config" remote.origin.url "${HOMEBREW_CORE_GIT_REMOTE}"
fi fi
# kill all of subprocess on interrupt # kill all of subprocess on interrupt
@ -525,7 +547,7 @@ EOS
do do
if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] && if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] &&
[[ -n "${HOMEBREW_UPDATE_PREINSTALL}" ]] && [[ -n "${HOMEBREW_UPDATE_PREINSTALL}" ]] &&
[[ "${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]] [[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" ]]
then then
continue continue
fi fi
@ -552,7 +574,7 @@ EOS
if [[ -z "${HOMEBREW_UPDATE_FORCE}" ]] if [[ -z "${HOMEBREW_UPDATE_FORCE}" ]]
then then
[[ -n "${SKIP_FETCH_BREW_REPOSITORY}" && "${DIR}" == "${HOMEBREW_REPOSITORY}" ]] && continue [[ -n "${SKIP_FETCH_BREW_REPOSITORY}" && "${DIR}" == "${HOMEBREW_REPOSITORY}" ]] && continue
[[ -n "${SKIP_FETCH_CORE_REPOSITORY}" && "${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]] && continue [[ -n "${SKIP_FETCH_CORE_REPOSITORY}" && "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" ]] && continue
fi fi
# The upstream repository's default branch may not be master; # The upstream repository's default branch may not be master;
@ -676,7 +698,7 @@ EOS
# shellcheck disable=SC2031 # shellcheck disable=SC2031
if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] && if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] &&
[[ -n "${HOMEBREW_UPDATE_PREINSTALL}" ]] && [[ -n "${HOMEBREW_UPDATE_PREINSTALL}" ]] &&
[[ "${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" || [[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" ||
"${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask" ]] "${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask" ]]
then then
continue continue
@ -719,6 +741,7 @@ EOS
[[ -n "${HOMEBREW_UPDATE_FAILED}" ]] || [[ -n "${HOMEBREW_UPDATE_FAILED}" ]] ||
[[ -n "${HOMEBREW_MISSING_REMOTE_REF_DIRS}" ]] || [[ -n "${HOMEBREW_MISSING_REMOTE_REF_DIRS}" ]] ||
[[ -n "${HOMEBREW_UPDATE_FORCE}" ]] || [[ -n "${HOMEBREW_UPDATE_FORCE}" ]] ||
[[ -n "${HOMEBREW_MIGRATE_LINUXBREW_FORMULAE}" ]] ||
[[ -d "${HOMEBREW_LIBRARY}/LinkedKegs" ]] || [[ -d "${HOMEBREW_LIBRARY}/LinkedKegs" ]] ||
[[ ! -f "${HOMEBREW_CACHE}/all_commands_list.txt" ]] || [[ ! -f "${HOMEBREW_CACHE}/all_commands_list.txt" ]] ||
[[ -n "${HOMEBREW_DEVELOPER}" && -z "${HOMEBREW_UPDATE_PREINSTALL}" ]] [[ -n "${HOMEBREW_DEVELOPER}" && -z "${HOMEBREW_UPDATE_PREINSTALL}" ]]

View File

@ -154,8 +154,8 @@ module Homebrew
boolean: true, boolean: true,
}, },
HOMEBREW_FORCE_HOMEBREW_ON_LINUX: { HOMEBREW_FORCE_HOMEBREW_ON_LINUX: {
description: "If set, running Homebrew on Linux will use URLs for macOS. This is useful when merging " \ description: "If set, running Homebrew on Linux will use URLs for macOS and will use homebrew-core instead " \
"pull requests for macOS while on Linux.", "of linuxbrew-core. This is useful when merging pull requests for macOS while on Linux.",
boolean: true, boolean: true,
}, },
HOMEBREW_FORCE_VENDOR_RUBY: { HOMEBREW_FORCE_VENDOR_RUBY: {

View File

@ -5,8 +5,6 @@ class CoreTap < Tap
# @private # @private
def initialize def initialize
super "Homebrew", "core" super "Homebrew", "core"
@full_name = "Homebrew/linuxbrew-core" if @full_name = "Homebrew/linuxbrew-core" if HOMEBREW_CORE_DEFAULT_GIT_REMOTE.include?("Homebrew/linuxbrew-core")
!Homebrew::EnvConfig.force_homebrew_on_linux? &&
!Homebrew::EnvConfig.force_homebrew_core_repo_on_linux?
end end
end end

View File

@ -0,0 +1,126 @@
# typed: false
# frozen_string_literal: true
# List of formulae that had a revision in linuxbrew-core
# that was different than in homebrew-core
# We will use this list to modify the version_sheme
# during the migration from linuxbrew-core to homebrew-core.
LINUXBREW_CORE_MIGRATION_LIST = %w[
afuse
apng2gif
apr-util
archivemount
argon2
arpack
asciinema
atdtool
augustus
avfs
bandcamp-dl
cairo
ccls
codemod
cquery
credstash
csvtomd
cvs
cxxtest
datetime-fortran
ddd
diceware
docbook2x
docker-squash
doitlive
double-conversion
exif
expect
fades
fastme
fbi-servefiles
foma
fontconfig
freeglut
ftgl
gcc@5
gettext
gflags
ghc@8.6
ghc@8.8
git-remote-hg
gitfs
gitless
gitup
glade
glew
glui
goolabs
gperftools
grip
gtkmm
hdf5@1.8
htop
intltool
io
jed
jinja2-cli
legit
libebml
libexif
libffi
libgetdata
libhttpseverywhere
libproxy
libtool
libxslt
literate-git
llvm@11
llvm@7
llvm@8
llvm@9
lua
lua@5.1
lua@5.3
magic-wormhole
mecab
mosh
mps-youtube
ncview
notifiers
openmotif
osmfilter
pachi
packmol
passpie
pius
pkg-config
plotutils
plplot
postgresql@9.4
postgresql@9.5
pssh
pup
pyvim
ratfor
remarshal
reprepro
rtv
s3cmd
scalapack
securefs
softhsm
statik
stormssh
superlu
tasksh
termtosvg
tinyxml
vsts-cli
xclip
xerces-c
xmlto
xmltoman
xmount
xxhash
zabbix-cli
].freeze

View File

@ -1986,7 +1986,7 @@ example, run `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just
<br>If set, always use a Homebrew-installed `git`(1) rather than the system version. Automatically set if the system version of `git` is too old. <br>If set, always use a Homebrew-installed `git`(1) rather than the system version. Automatically set if the system version of `git` is too old.
- `HOMEBREW_FORCE_HOMEBREW_ON_LINUX` - `HOMEBREW_FORCE_HOMEBREW_ON_LINUX`
<br>If set, running Homebrew on Linux will use URLs for macOS. This is useful when merging pull requests for macOS while on Linux. <br>If set, running Homebrew on Linux will use URLs for macOS and will use homebrew-core instead of linuxbrew-core. This is useful when merging pull requests for macOS while on Linux.
- `HOMEBREW_FORCE_VENDOR_RUBY` - `HOMEBREW_FORCE_VENDOR_RUBY`
<br>If set, always use Homebrew's vendored, relocatable Ruby version even if the system version of Ruby is new enough. <br>If set, always use Homebrew's vendored, relocatable Ruby version even if the system version of Ruby is new enough.

View File

@ -2847,7 +2847,7 @@ If set, always use a Homebrew\-installed \fBgit\fR(1) rather than the system ver
\fBHOMEBREW_FORCE_HOMEBREW_ON_LINUX\fR \fBHOMEBREW_FORCE_HOMEBREW_ON_LINUX\fR
. .
.br .br
If set, running Homebrew on Linux will use URLs for macOS\. This is useful when merging pull requests for macOS while on Linux\. If set, running Homebrew on Linux will use URLs for macOS and will use homebrew\-core instead of linuxbrew\-core\. This is useful when merging pull requests for macOS while on Linux\.
. .
.TP .TP
\fBHOMEBREW_FORCE_VENDOR_RUBY\fR \fBHOMEBREW_FORCE_VENDOR_RUBY\fR