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)"
|
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
|
||||||
|
@ -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
|
||||||
|
@ -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}" ]]
|
||||||
|
@ -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: {
|
||||||
|
@ -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
|
||||||
|
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.
|
<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.
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user