Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
KMSCAKKSCFKA AKFACAMADCAS
brew
Commits
16b01d6e
Unverified
Commit
16b01d6e
authored
Jul 19, 2021
by
Carlo Cabrera
Committed by
GitHub
Jul 19, 2021
Browse files
Merge pull request #11737 from carlocab/audit-arches
formula_cellar_checks: check keg for mismatched arches
parents
4c3a8c7e
d696250d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Library/Homebrew/formula_cellar_checks.rb
View file @
16b01d6e
...
...
@@ -314,6 +314,24 @@ module FormulaCellarChecks
"No `cpuid` instruction detected.
#{
formula
}
should not use `ENV.runtime_cpu_detection`."
end
def
check_binary_arches
(
formula
)
return
unless
formula
.
prefix
.
directory?
# There is no `binary_executable_or_library_files` method for the generic OS
return
if
!
OS
.
mac?
&&
!
OS
.
linux?
keg
=
Keg
.
new
(
formula
.
prefix
)
mismatches
=
keg
.
binary_executable_or_library_files
.
reject
do
|
file
|
file
.
arch
==
Hardware
::
CPU
.
arch
end
return
if
mismatches
.
empty?
<<~
EOS
Binaries built for a non-native architecture were installed into
#{
formula
}
's prefix.
The offending files are:
#{
mismatches
*
"
\n
"
}
EOS
end
def
audit_installed
@new_formula
||=
false
...
...
@@ -334,6 +352,7 @@ module FormulaCellarChecks
problem_if_output
(
check_plist
(
formula
.
prefix
,
formula
.
plist
))
problem_if_output
(
check_python_symlinks
(
formula
.
name
,
formula
.
keg_only?
))
problem_if_output
(
check_cpuid_instruction
(
formula
))
problem_if_output
(
check_binary_arches
(
formula
))
end
alias
generic_audit_installed
audit_installed
...
...
Library/Homebrew/os/linux/elf.rb
View file @
16b01d6e
...
...
@@ -33,7 +33,7 @@ module ELFShim
private_constant
:ARCHITECTURE_POWERPC
ARCHITECTURE_ARM
=
0x28
private_constant
:ARCHITECTURE_ARM
ARCHITECTURE_X86_64
=
0x
62
ARCHITECTURE_X86_64
=
0x
3E
private_constant
:ARCHITECTURE_X86_64
ARCHITECTURE_AARCH64
=
0xB7
private_constant
:ARCHITECTURE_AARCH64
...
...
Library/Homebrew/os/mac/mach.rb
View file @
16b01d6e
...
...
@@ -29,7 +29,7 @@ module MachOShim
machos
.
each
do
|
m
|
arch
=
case
m
.
cputype
when
:x86_64
,
:i386
,
:ppc64
then
m
.
cputype
when
:x86_64
,
:i386
,
:ppc64
,
:arm64
,
:arm
then
m
.
cputype
when
:ppc
then
:ppc7400
else
:dunno
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment