Merge branch 'master' into pac-bti
This commit is contained in:
commit
49dac599da
6
.github/workflows/docker.yml
vendored
6
.github/workflows/docker.yml
vendored
@ -198,9 +198,9 @@ jobs:
|
|||||||
labels: ${{ needs.generate-tags.outputs.labels }}
|
labels: ${{ needs.generate-tags.outputs.labels }}
|
||||||
|
|
||||||
- name: Run brew test-bot --only-setup
|
- name: Run brew test-bot --only-setup
|
||||||
# TODO: Remove this conditional when `brew doctor` no longer throws an error on ARM64 Linux.
|
run: docker run --env HOMEBREW_ARM64_TESTING --rm brew brew test-bot --only-setup
|
||||||
if: matrix.arch == 'x86_64'
|
env:
|
||||||
run: docker run --rm brew brew test-bot --only-setup
|
HOMEBREW_ARM64_TESTING: 1
|
||||||
|
|
||||||
- name: Log in to GitHub Packages (BrewTestBot)
|
- name: Log in to GitHub Packages (BrewTestBot)
|
||||||
if: fromJSON(steps.attributes.outputs.push)
|
if: fromJSON(steps.attributes.outputs.push)
|
||||||
|
|||||||
@ -20,7 +20,7 @@ RUN touch /var/mail/ubuntu && chown ubuntu /var/mail/ubuntu && userdel -r ubuntu
|
|||||||
# shellcheck disable=SC1091,SC2154,SC2292
|
# shellcheck disable=SC1091,SC2154,SC2292
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends software-properties-common gnupg-agent \
|
&& apt-get install -y --no-install-recommends software-properties-common gnupg-agent \
|
||||||
&& add-apt-repository -y ppa:git-core/ppa \
|
&& if [ "$(uname -m)" != aarch64 ]; then add-apt-repository -y ppa:git-core/ppa; fi \
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
acl \
|
acl \
|
||||||
|
|||||||
@ -118,11 +118,12 @@ class BottleSpecification
|
|||||||
tags = collector.tags.sort_by do |tag|
|
tags = collector.tags.sort_by do |tag|
|
||||||
version = tag.to_macos_version
|
version = tag.to_macos_version
|
||||||
# Give `arm64` bottles a higher priority so they are first.
|
# Give `arm64` bottles a higher priority so they are first.
|
||||||
priority = (tag.arch == :arm64) ? 2 : 1
|
priority = (tag.arch == :arm64) ? 3 : 2
|
||||||
"#{priority}.#{version}_#{tag}"
|
"#{priority}.#{version}_#{tag}"
|
||||||
rescue MacOSVersion::Error
|
rescue MacOSVersion::Error
|
||||||
# Sort non-macOS tags below macOS tags.
|
# Sort non-macOS tags below macOS tags, and arm64 tags before other tags.
|
||||||
"0.#{tag}"
|
priority = (tag.arch == :arm64) ? 1 : 0
|
||||||
|
"#{priority}.#{tag}"
|
||||||
end
|
end
|
||||||
tags.reverse.map do |tag|
|
tags.reverse.map do |tag|
|
||||||
spec = collector.specification_for(tag)
|
spec = collector.specification_for(tag)
|
||||||
|
|||||||
@ -143,7 +143,14 @@ module OS
|
|||||||
return if gcc_dependents.empty?
|
return if gcc_dependents.empty?
|
||||||
|
|
||||||
badly_linked = gcc_dependents.select do |dependent|
|
badly_linked = gcc_dependents.select do |dependent|
|
||||||
keg = Keg.new(dependent.prefix)
|
dependent_prefix = dependent.any_installed_prefix
|
||||||
|
# Keg.new() may raise an error if it is not a directory.
|
||||||
|
# As the result `brew doctor` may display `Error: <keg> is not a directory`
|
||||||
|
# instead of proper `doctor` information.
|
||||||
|
# There are other checks that test that, we can skip broken kegs.
|
||||||
|
next if dependent_prefix.nil? || !dependent_prefix.exist? || !dependent_prefix.directory?
|
||||||
|
|
||||||
|
keg = Keg.new(dependent_prefix)
|
||||||
keg.binary_executable_or_library_files.any? do |binary|
|
keg.binary_executable_or_library_files.any? do |binary|
|
||||||
paths = binary.rpaths
|
paths = binary.rpaths
|
||||||
versioned_linkage = paths.any? { |path| path.match?(%r{lib/gcc/\d+$}) }
|
versioned_linkage = paths.any? { |path| path.match?(%r{lib/gcc/\d+$}) }
|
||||||
|
|||||||
@ -98,7 +98,7 @@ module Hardware
|
|||||||
when 0x11
|
when 0x11
|
||||||
:amd_k8_k10_hybrid
|
:amd_k8_k10_hybrid
|
||||||
when 0x12
|
when 0x12
|
||||||
:amd_k12
|
:amd_k10_llano
|
||||||
when 0x14
|
when 0x14
|
||||||
:bobcat
|
:bobcat
|
||||||
when 0x15
|
when 0x15
|
||||||
|
|||||||
@ -149,26 +149,35 @@ module RuboCop
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
arm64_nodes = []
|
arm64_macos_nodes = []
|
||||||
intel_nodes = []
|
intel_macos_nodes = []
|
||||||
|
arm64_linux_nodes = []
|
||||||
|
intel_linux_nodes = []
|
||||||
|
|
||||||
sha256_nodes.each do |node|
|
sha256_nodes.each do |node|
|
||||||
version = sha256_bottle_tag node
|
version = sha256_bottle_tag node
|
||||||
if version.to_s.start_with? "arm64"
|
if version == :arm64_linux
|
||||||
arm64_nodes << node
|
arm64_linux_nodes << node
|
||||||
|
elsif version.to_s.start_with?("arm64")
|
||||||
|
arm64_macos_nodes << node
|
||||||
|
elsif version.to_s.end_with?("_linux")
|
||||||
|
intel_linux_nodes << node
|
||||||
else
|
else
|
||||||
intel_nodes << node
|
intel_macos_nodes << node
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return if sha256_order(sha256_nodes) == sha256_order(arm64_nodes + intel_nodes)
|
sorted_nodes = arm64_macos_nodes + intel_macos_nodes + arm64_linux_nodes + intel_linux_nodes
|
||||||
|
return if sha256_order(sha256_nodes) == sha256_order(sorted_nodes)
|
||||||
|
|
||||||
offending_node(bottle_node)
|
offending_node(bottle_node)
|
||||||
problem "ARM bottles should be listed before Intel bottles" do |corrector|
|
problem "ARM bottles should be listed before Intel bottles" do |corrector|
|
||||||
lines = ["bottle do"]
|
lines = ["bottle do"]
|
||||||
lines += non_sha256_nodes.map { |node| " #{node.source}" }
|
lines += non_sha256_nodes.map { |node| " #{node.source}" }
|
||||||
lines += arm64_nodes.map { |node| " #{node.source}" }
|
lines += arm64_macos_nodes.map { |node| " #{node.source}" }
|
||||||
lines += intel_nodes.map { |node| " #{node.source}" }
|
lines += intel_macos_nodes.map { |node| " #{node.source}" }
|
||||||
|
lines += arm64_linux_nodes.map { |node| " #{node.source}" }
|
||||||
|
lines += intel_linux_nodes.map { |node| " #{node.source}" }
|
||||||
lines << " end"
|
lines << " end"
|
||||||
corrector.replace(bottle_node.source_range, lines.join("\n"))
|
corrector.replace(bottle_node.source_range, lines.join("\n"))
|
||||||
end
|
end
|
||||||
|
|||||||
@ -26,7 +26,7 @@ RSpec.describe Hardware::CPU do
|
|||||||
:amd_k8,
|
:amd_k8,
|
||||||
:amd_k8_k10_hybrid,
|
:amd_k8_k10_hybrid,
|
||||||
:amd_k10,
|
:amd_k10,
|
||||||
:amd_k12,
|
:amd_k10_llano,
|
||||||
:arm,
|
:arm,
|
||||||
:arm_blizzard_avalanche,
|
:arm_blizzard_avalanche,
|
||||||
:arm_brava,
|
:arm_brava,
|
||||||
|
|||||||
Binary file not shown.
@ -14,18 +14,20 @@ module UnpackStrategy
|
|||||||
module Bom
|
module Bom
|
||||||
extend SystemCommand::Mixin
|
extend SystemCommand::Mixin
|
||||||
|
|
||||||
DMG_METADATA = T.let(Set.new(%w[
|
DMG_METADATA = T.let(Set.new([
|
||||||
.background
|
".background",
|
||||||
.com.apple.timemachine.donotpresent
|
".com.apple.timemachine.donotpresent",
|
||||||
.com.apple.timemachine.supported
|
".com.apple.timemachine.supported",
|
||||||
.DocumentRevisions-V100
|
".DocumentRevisions-V100",
|
||||||
.DS_Store
|
".DS_Store",
|
||||||
.fseventsd
|
".fseventsd",
|
||||||
.MobileBackups
|
".MobileBackups",
|
||||||
.Spotlight-V100
|
".Spotlight-V100",
|
||||||
.TemporaryItems
|
".TemporaryItems",
|
||||||
.Trashes
|
".Trashes",
|
||||||
.VolumeIcon.icns
|
".VolumeIcon.icns",
|
||||||
|
".HFS+ Private Directory Data\r", # do not remove `\r`, it is a part of directory name
|
||||||
|
".HFS+ Private Data\r",
|
||||||
]).freeze, T::Set[String])
|
]).freeze, T::Set[String])
|
||||||
private_constant :DMG_METADATA
|
private_constant :DMG_METADATA
|
||||||
|
|
||||||
|
|||||||
@ -259,3 +259,10 @@ Help us by [submitting a fix](https://github.com/Homebrew/homebrew-cask/blob/HEA
|
|||||||
## Other local issues
|
## Other local issues
|
||||||
|
|
||||||
If your Homebrew installation gets messed up (and fixing the issues found by `brew doctor` doesn't solve the problem), reinstalling Homebrew may help to reset to a normal state. To easily reinstall Homebrew, use [Homebrew Bundle](https://github.com/Homebrew/homebrew-bundle) to automatically restore your installed formulae and casks. To do so, run `brew bundle dump`, [uninstall](https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew), [reinstall](https://docs.brew.sh/Installation) and run `brew bundle install`.
|
If your Homebrew installation gets messed up (and fixing the issues found by `brew doctor` doesn't solve the problem), reinstalling Homebrew may help to reset to a normal state. To easily reinstall Homebrew, use [Homebrew Bundle](https://github.com/Homebrew/homebrew-bundle) to automatically restore your installed formulae and casks. To do so, run `brew bundle dump`, [uninstall](https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew), [reinstall](https://docs.brew.sh/Installation) and run `brew bundle install`.
|
||||||
|
|
||||||
|
## Possible `curl` issues
|
||||||
|
|
||||||
|
Sometimes, the user's computer, configuration or network connection may cause issues downloading with `curl` which are outside Homebrew's control. Homebrew requires good internet connectivity and correct configuration to function correctly. Here some links that could help you identify cURL issues based on `curl`'s and `libcurl`'s exit codes:
|
||||||
|
|
||||||
|
* https://everything.curl.dev/cmdline/exitcode.html
|
||||||
|
* https://curl.se/libcurl/c/libcurl-errors.html
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user