mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
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:
parent
09b7ab2c1d
commit
e8ee5b05f9
@ -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)"
|
||||
if [[ "${HOMEBREW_CORE_REPOSITORY_ORIGIN}" == "https://github.com/Homebrew/homebrew-core" ]]
|
||||
then
|
||||
# If the remote origin has been set to Homebrew/homebrew-core by the install script,
|
||||
# then we are in the case of a new installation of brew, using Homebrew/homebrew-core as a Linux core repository.
|
||||
# In that case, set HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX=1 to set the right HOMEBREW_BOTTLE_DOMAIN below.
|
||||
# TODO: Once the linuxbrew-core migration is done we will be able to clean this up and
|
||||
# remove HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX
|
||||
export HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX="1"
|
||||
# TODO: this variable can go away when we're migrating everyone to homebrew-core.
|
||||
HOMEBREW_CORE_ON_LINUX=1
|
||||
# Migrate from linuxbrew-core to homebrew-core:
|
||||
# - if either HOMEBREW_FORCE_HOMEBREW_ON_LINUX or HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX are set
|
||||
# - unless HOMEBREW_LINUXCORE_MERGE is set (by maintainers who still merge homebrew-core into linuxbrew-core)
|
||||
# - 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
|
||||
|
||||
@ -583,8 +596,7 @@ then
|
||||
fi
|
||||
|
||||
if [[ -n "${HOMEBREW_MACOS}" ]] ||
|
||||
[[ -n "${HOMEBREW_FORCE_HOMEBREW_ON_LINUX}" ]] ||
|
||||
[[ -n "${HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX}" ]]
|
||||
[[ -n "${HOMEBREW_CORE_ON_LINUX}" ]]
|
||||
then
|
||||
HOMEBREW_BOTTLE_DEFAULT_DOMAIN="https://ghcr.io/v2/homebrew/core"
|
||||
else
|
||||
@ -725,8 +737,7 @@ fi
|
||||
export HOMEBREW_BREW_GIT_REMOTE
|
||||
|
||||
if [[ -n "${HOMEBREW_MACOS}" ]] ||
|
||||
[[ -n "${HOMEBREW_FORCE_HOMEBREW_ON_LINUX}" ]] ||
|
||||
[[ -n "${HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX}" ]]
|
||||
[[ -n "${HOMEBREW_CORE_ON_LINUX}" ]]
|
||||
then
|
||||
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://github.com/Homebrew/homebrew-core"
|
||||
else
|
||||
|
@ -9,6 +9,7 @@ require "cleanup"
|
||||
require "description_cache_store"
|
||||
require "cli/parser"
|
||||
require "settings"
|
||||
require "linuxbrew-core-migration"
|
||||
|
||||
module Homebrew
|
||||
extend T::Sig
|
||||
@ -104,6 +105,28 @@ module Homebrew
|
||||
next unless tap.git?
|
||||
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
|
||||
reporter = Reporter.new(tap)
|
||||
rescue Reporter::ReporterRevisionUnsetError => e
|
||||
|
@ -58,8 +58,8 @@ git_init_if_necessary() {
|
||||
trap - EXIT
|
||||
fi
|
||||
|
||||
[[ -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]] || return
|
||||
safe_cd "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core"
|
||||
[[ -d "${HOMEBREW_CORE_REPOSITORY}" ]] || return
|
||||
safe_cd "${HOMEBREW_CORE_REPOSITORY}"
|
||||
if [[ ! -d ".git" ]]
|
||||
then
|
||||
set -e
|
||||
@ -270,7 +270,13 @@ EOS
|
||||
# ensure we don't munge line endings on checkout
|
||||
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
|
||||
# Work around bug where git rebase --quiet is not quiet
|
||||
if [[ -z "${HOMEBREW_VERBOSE}" ]]
|
||||
@ -387,7 +393,7 @@ EOS
|
||||
if [[ -n "${HOMEBREW_FORCE_BREWED_CA_CERTIFICATES}" && ! -f "${HOMEBREW_PREFIX}/etc/ca-certificates/cert.pem" ]]
|
||||
then
|
||||
# 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
|
||||
brew install ca-certificates
|
||||
setup_ca_certificates
|
||||
@ -398,7 +404,7 @@ EOS
|
||||
if [[ -n "${HOMEBREW_FORCE_BREWED_CURL}" && ! -x "${HOMEBREW_PREFIX}/opt/curl/bin/curl" ]]
|
||||
then
|
||||
# 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
|
||||
odie "'curl' must be installed and in your PATH!"
|
||||
fi
|
||||
@ -410,7 +416,7 @@ EOS
|
||||
[[ -n "${HOMEBREW_FORCE_BREWED_GIT}" && ! -x "${HOMEBREW_PREFIX}/opt/git/bin/git" ]]
|
||||
then
|
||||
# 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
|
||||
odie "'git' must be installed and in your PATH!"
|
||||
fi
|
||||
@ -418,7 +424,7 @@ EOS
|
||||
setup_git
|
||||
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
|
||||
if [[ -n "${HOMEBREW_CORE_SHALLOW}" && -n "${HOMEBREW_CASK_SHALLOW}" ]]
|
||||
then
|
||||
@ -436,7 +442,7 @@ ${HOMEBREW_CORE_SHALLOW:+
|
||||
homebrew-core is a shallow clone.}${HOMEBREW_CASK_SHALLOW:+
|
||||
homebrew-cask is a shallow clone.}
|
||||
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}
|
||||
${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
|
||||
@ -491,26 +497,42 @@ EOS
|
||||
git remote set-url origin "${HOMEBREW_BREW_GIT_REMOTE}"
|
||||
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
|
||||
git fetch --force --tags origin
|
||||
SKIP_FETCH_BREW_REPOSITORY=1
|
||||
fi
|
||||
|
||||
if [[ "${HOMEBREW_CORE_DEFAULT_GIT_REMOTE}" != "${HOMEBREW_CORE_GIT_REMOTE}" ]] &&
|
||||
[[ -d "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]]
|
||||
if [[ -d "${HOMEBREW_CORE_REPOSITORY}" ]] &&
|
||||
[[ "${HOMEBREW_CORE_DEFAULT_GIT_REMOTE}" != "${HOMEBREW_CORE_GIT_REMOTE}" ||
|
||||
-n "${HOMEBREW_LINUXBREW_MIGRATION}" ]]
|
||||
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."
|
||||
git remote set-url origin "${HOMEBREW_CORE_GIT_REMOTE}"
|
||||
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
|
||||
git fetch --force origin refs/heads/master:refs/remotes/origin/master
|
||||
SKIP_FETCH_CORE_REPOSITORY=1
|
||||
fi
|
||||
|
||||
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" ]] &&
|
||||
[[ "$(git config remote.origin.url)" =~ ^git:// ]]
|
||||
then
|
||||
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
|
||||
|
||||
# kill all of subprocess on interrupt
|
||||
@ -525,7 +547,7 @@ EOS
|
||||
do
|
||||
if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] &&
|
||||
[[ -n "${HOMEBREW_UPDATE_PREINSTALL}" ]] &&
|
||||
[[ "${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ]]
|
||||
[[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" ]]
|
||||
then
|
||||
continue
|
||||
fi
|
||||
@ -552,7 +574,7 @@ EOS
|
||||
if [[ -z "${HOMEBREW_UPDATE_FORCE}" ]]
|
||||
then
|
||||
[[ -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
|
||||
|
||||
# The upstream repository's default branch may not be master;
|
||||
@ -676,7 +698,7 @@ EOS
|
||||
# shellcheck disable=SC2031
|
||||
if [[ -n "${HOMEBREW_INSTALL_FROM_API}" ]] &&
|
||||
[[ -n "${HOMEBREW_UPDATE_PREINSTALL}" ]] &&
|
||||
[[ "${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-core" ||
|
||||
[[ "${DIR}" == "${HOMEBREW_CORE_REPOSITORY}" ||
|
||||
"${DIR}" == "${HOMEBREW_LIBRARY}/Taps/homebrew/homebrew-cask" ]]
|
||||
then
|
||||
continue
|
||||
@ -719,6 +741,7 @@ EOS
|
||||
[[ -n "${HOMEBREW_UPDATE_FAILED}" ]] ||
|
||||
[[ -n "${HOMEBREW_MISSING_REMOTE_REF_DIRS}" ]] ||
|
||||
[[ -n "${HOMEBREW_UPDATE_FORCE}" ]] ||
|
||||
[[ -n "${HOMEBREW_MIGRATE_LINUXBREW_FORMULAE}" ]] ||
|
||||
[[ -d "${HOMEBREW_LIBRARY}/LinkedKegs" ]] ||
|
||||
[[ ! -f "${HOMEBREW_CACHE}/all_commands_list.txt" ]] ||
|
||||
[[ -n "${HOMEBREW_DEVELOPER}" && -z "${HOMEBREW_UPDATE_PREINSTALL}" ]]
|
||||
|
@ -154,8 +154,8 @@ module Homebrew
|
||||
boolean: true,
|
||||
},
|
||||
HOMEBREW_FORCE_HOMEBREW_ON_LINUX: {
|
||||
description: "If set, running Homebrew on Linux will use URLs for macOS. This is useful when merging " \
|
||||
"pull requests for macOS while on Linux.",
|
||||
description: "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.",
|
||||
boolean: true,
|
||||
},
|
||||
HOMEBREW_FORCE_VENDOR_RUBY: {
|
||||
|
@ -5,8 +5,6 @@ class CoreTap < Tap
|
||||
# @private
|
||||
def initialize
|
||||
super "Homebrew", "core"
|
||||
@full_name = "Homebrew/linuxbrew-core" if
|
||||
!Homebrew::EnvConfig.force_homebrew_on_linux? &&
|
||||
!Homebrew::EnvConfig.force_homebrew_core_repo_on_linux?
|
||||
@full_name = "Homebrew/linuxbrew-core" if HOMEBREW_CORE_DEFAULT_GIT_REMOTE.include?("Homebrew/linuxbrew-core")
|
||||
end
|
||||
end
|
||||
|
126
Library/Homebrew/linuxbrew-core-migration.rb
Normal file
126
Library/Homebrew/linuxbrew-core-migration.rb
Normal 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
|
@ -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.
|
||||
|
||||
- `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`
|
||||
<br>If set, always use Homebrew's vendored, relocatable Ruby version even if the system version of Ruby is new enough.
|
||||
|
@ -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
|
||||
.
|
||||
.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
|
||||
\fBHOMEBREW_FORCE_VENDOR_RUBY\fR
|
||||
|
Loading…
x
Reference in New Issue
Block a user