diff --git a/Library/Homebrew/attestation.rb b/Library/Homebrew/attestation.rb index f568a495ded36..853643465fa30 100644 --- a/Library/Homebrew/attestation.rb +++ b/Library/Homebrew/attestation.rb @@ -60,7 +60,7 @@ def self.enabled? return false if Homebrew::EnvConfig.no_verify_attestations? return true if Homebrew::EnvConfig.verify_attestations? return false if ENV.fetch("CI", false) - return false if ::OS.unsupported_configuration? + return false if OS.unsupported_configuration? # Always check credentials last to avoid unnecessary credential extraction. (Homebrew::EnvConfig.developer? || Homebrew::EnvConfig.devcmdrun?) && GitHub::API.credentials.present? diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index 5ce69ba9fde07..b0c914ae01d39 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -394,10 +394,10 @@ def formula_ignores(formula) # On Linux, GCC installation can be moved so long as the whole directory tree is moved together: # https://gcc-help.gcc.gnu.narkive.com/GnwuCA7l/moving-gcc-from-the-installation-path-is-it-allowed. when Version.formula_optionally_versioned_regex(:gcc) - Regexp.union(%r{#{cellar_regex}/gcc}, %r{#{prefix_regex}/opt/gcc}) if ::OS.linux? + Regexp.union(%r{#{cellar_regex}/gcc}, %r{#{prefix_regex}/opt/gcc}) if OS.linux? # binutils is relocatable for the same reason: https://github.com/Homebrew/brew/pull/11899#issuecomment-906804451. when Version.formula_optionally_versioned_regex(:binutils) - %r{#{cellar_regex}/binutils} if ::OS.linux? + %r{#{cellar_regex}/binutils} if OS.linux? end # rubocop:enable Homebrew/MoveToExtendOS diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index ec64bdde394ba..b45df9ac942d7 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -116,12 +116,12 @@ def run # TODO: Refactor and move to extend/os # rubocop:disable Homebrew/MoveToExtendOS - unless ::OS.mac? + unless OS.mac? bundle_args << "--tag" << "~needs_macos" << "--tag" << "~cask" files = files.grep_v(%r{^test/(os/mac|cask)(/.*|_spec\.rb)$}) end - unless ::OS.linux? + unless OS.linux? bundle_args << "--tag" << "~needs_linux" files = files.grep_v(%r{^test/os/linux(/.*|_spec\.rb)$}) end diff --git a/Library/Homebrew/extend/os/linux/cleanup.rb b/Library/Homebrew/extend/os/linux/cleanup.rb index 15a7e0b0ecac6..be63e0e558298 100644 --- a/Library/Homebrew/extend/os/linux/cleanup.rb +++ b/Library/Homebrew/extend/os/linux/cleanup.rb @@ -1,31 +1,29 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module Linux - module Cleanup - extend T::Helpers +module OS + module Linux + module Cleanup + extend T::Helpers - requires_ancestor { Homebrew::Cleanup } + requires_ancestor { Homebrew::Cleanup } - sig { returns(T::Boolean) } - def use_system_ruby? - return false if Homebrew::EnvConfig.force_vendor_ruby? + sig { returns(T::Boolean) } + def use_system_ruby? + return false if Homebrew::EnvConfig.force_vendor_ruby? - rubies = [which("ruby"), which("ruby", ORIGINAL_PATHS)].compact - system_ruby = Pathname.new("/usr/bin/ruby") - rubies << system_ruby if system_ruby.exist? + rubies = [which("ruby"), which("ruby", ORIGINAL_PATHS)].compact + system_ruby = Pathname.new("/usr/bin/ruby") + rubies << system_ruby if system_ruby.exist? - check_ruby_version = HOMEBREW_LIBRARY_PATH/"utils/ruby_check_version_script.rb" - rubies.uniq.any? do |ruby| - quiet_system ruby, "--enable-frozen-string-literal", "--disable=gems,did_you_mean,rubyopt", - check_ruby_version, RUBY_VERSION - end + check_ruby_version = HOMEBREW_LIBRARY_PATH/"utils/ruby_check_version_script.rb" + rubies.uniq.any? do |ruby| + quiet_system ruby, "--enable-frozen-string-literal", "--disable=gems,did_you_mean,rubyopt", + check_ruby_version, RUBY_VERSION end end end end end -Homebrew::Cleanup.prepend(Homebrew::OS::Linux::Cleanup) +Homebrew::Cleanup.prepend(OS::Linux::Cleanup) diff --git a/Library/Homebrew/extend/os/linux/cli/parser.rb b/Library/Homebrew/extend/os/linux/cli/parser.rb index 091ad48920ff7..e5fd59e146cb9 100644 --- a/Library/Homebrew/extend/os/linux/cli/parser.rb +++ b/Library/Homebrew/extend/os/linux/cli/parser.rb @@ -1,33 +1,31 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module Linux - module CLI - module Parser - extend T::Helpers +module OS + module Linux + module CLI + module Parser + extend T::Helpers - requires_ancestor { Homebrew::CLI::Parser } + requires_ancestor { Homebrew::CLI::Parser } - sig { void } - def set_default_options - args["formula?"] = true if args.respond_to?(:formula?) - end + sig { void } + def set_default_options + args["formula?"] = true if args.respond_to?(:formula?) + end - sig { void } - def validate_options - return unless args.respond_to?(:cask?) - return unless args.cask? + sig { void } + def validate_options + return unless args.respond_to?(:cask?) + return unless args.cask? - # NOTE: We don't raise an error here because we don't want - # to print the help page or a stack trace. - odie "Invalid `--cask` usage: Casks do not work on Linux" - end + # NOTE: We don't raise an error here because we don't want + # to print the help page or a stack trace. + odie "Invalid `--cask` usage: Casks do not work on Linux" end end end end end -Homebrew::CLI::Parser.prepend(Homebrew::OS::Linux::CLI::Parser) +Homebrew::CLI::Parser.prepend(OS::Linux::CLI::Parser) diff --git a/Library/Homebrew/extend/os/linux/diagnostic.rb b/Library/Homebrew/extend/os/linux/diagnostic.rb index 84d8ee6167972..c3c665cb20a8c 100644 --- a/Library/Homebrew/extend/os/linux/diagnostic.rb +++ b/Library/Homebrew/extend/os/linux/diagnostic.rb @@ -95,11 +95,11 @@ def check_supported_architecture end def check_glibc_minimum_version - return unless ::OS::Linux::Glibc.below_minimum_version? + return unless OS::Linux::Glibc.below_minimum_version? <<~EOS - Your system glibc #{::OS::Linux::Glibc.system_version} is too old. - We only support glibc #{::OS::Linux::Glibc.minimum_version} or later. + Your system glibc #{OS::Linux::Glibc.system_version} is too old. + We only support glibc #{OS::Linux::Glibc.minimum_version} or later. #{please_create_pull_requests} We recommend updating to a newer version via your distribution's package manager, upgrading your distribution to the latest version, @@ -108,11 +108,11 @@ def check_glibc_minimum_version end def check_kernel_minimum_version - return unless ::OS::Linux::Kernel.below_minimum_version? + return unless OS::Linux::Kernel.below_minimum_version? <<~EOS - Your Linux kernel #{::OS.kernel_version} is too old. - We only support kernel #{::OS::Linux::Kernel.minimum_version} or later. + Your Linux kernel #{OS.kernel_version} is too old. + We only support kernel #{OS::Linux::Kernel.minimum_version} or later. You will be unable to use binary packages (bottles). #{please_create_pull_requests} We recommend updating to a newer version via your distribution's diff --git a/Library/Homebrew/extend/os/linux/formula.rb b/Library/Homebrew/extend/os/linux/formula.rb index e71b1e7df109f..4af57d02c9eef 100644 --- a/Library/Homebrew/extend/os/linux/formula.rb +++ b/Library/Homebrew/extend/os/linux/formula.rb @@ -1,58 +1,56 @@ # typed: true # rubocop:disable Sorbet/StrictSigil # frozen_string_literal: true -module Homebrew - module OS - module Linux - module Formula - extend T::Helpers - - requires_ancestor { ::Formula } - - sig { params(name: String, version: T.nilable(T.any(String, Integer))).returns(String) } - def shared_library(name, version = nil) - suffix = if version == "*" || (name == "*" && version.blank?) - "{,.*}" - elsif version.present? - ".#{version}" - end - "#{name}.so#{suffix}" +module OS + module Linux + module Formula + extend T::Helpers + + requires_ancestor { ::Formula } + + sig { params(name: String, version: T.nilable(T.any(String, Integer))).returns(String) } + def shared_library(name, version = nil) + suffix = if version == "*" || (name == "*" && version.blank?) + "{,.*}" + elsif version.present? + ".#{version}" end + "#{name}.so#{suffix}" + end - sig { returns(String) } - def loader_path - "$ORIGIN" - end + sig { returns(String) } + def loader_path + "$ORIGIN" + end - sig { params(targets: T.nilable(T.any(Pathname, String))).void } - def deuniversalize_machos(*targets); end - - sig { params(spec: SoftwareSpec).void } - def add_global_deps_to_spec(spec) - return unless DevelopmentTools.needs_build_formulae? - - @global_deps ||= begin - dependency_collector = spec.dependency_collector - related_formula_names = Set.new([ - name, - *aliases, - *versioned_formulae_names, - ]) - [ - dependency_collector.gcc_dep_if_needed(related_formula_names), - dependency_collector.glibc_dep_if_needed(related_formula_names), - ].compact.freeze - end - @global_deps.each { |dep| spec.dependency_collector.add(dep) } + sig { params(targets: T.nilable(T.any(Pathname, String))).void } + def deuniversalize_machos(*targets); end + + sig { params(spec: SoftwareSpec).void } + def add_global_deps_to_spec(spec) + return unless DevelopmentTools.needs_build_formulae? + + @global_deps ||= begin + dependency_collector = spec.dependency_collector + related_formula_names = Set.new([ + name, + *aliases, + *versioned_formulae_names, + ]) + [ + dependency_collector.gcc_dep_if_needed(related_formula_names), + dependency_collector.glibc_dep_if_needed(related_formula_names), + ].compact.freeze end + @global_deps.each { |dep| spec.dependency_collector.add(dep) } + end - sig { returns(T::Boolean) } - def valid_platform? - requirements.none?(MacOSRequirement) - end + sig { returns(T::Boolean) } + def valid_platform? + requirements.none?(MacOSRequirement) end end end end -Formula.prepend(Homebrew::OS::Linux::Formula) +Formula.prepend(OS::Linux::Formula) diff --git a/Library/Homebrew/extend/os/linux/install.rb b/Library/Homebrew/extend/os/linux/install.rb index 2ce522d91cd66..ab4a4901466bd 100644 --- a/Library/Homebrew/extend/os/linux/install.rb +++ b/Library/Homebrew/extend/os/linux/install.rb @@ -78,7 +78,7 @@ def self.symlink_ld_so private_class_method :symlink_ld_so def self.setup_preferred_gcc_libs - gcc_opt_prefix = HOMEBREW_PREFIX/"opt/#{::OS::LINUX_PREFERRED_GCC_RUNTIME_FORMULA}" + gcc_opt_prefix = HOMEBREW_PREFIX/"opt/#{OS::LINUX_PREFERRED_GCC_RUNTIME_FORMULA}" glibc_installed = (HOMEBREW_PREFIX/"opt/glibc/bin/ld.so").readable? return unless gcc_opt_prefix.readable? diff --git a/Library/Homebrew/extend/os/mac/cleaner.rb b/Library/Homebrew/extend/os/mac/cleaner.rb index ece95188cc884..303500fa5e1f6 100644 --- a/Library/Homebrew/extend/os/mac/cleaner.rb +++ b/Library/Homebrew/extend/os/mac/cleaner.rb @@ -1,19 +1,17 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module Cleaner - private +module OS + module Mac + module Cleaner + private - sig { params(path: Pathname).returns(T::Boolean) } - def executable_path?(path) - path.mach_o_executable? || path.text_executable? - end + sig { params(path: Pathname).returns(T::Boolean) } + def executable_path?(path) + path.mach_o_executable? || path.text_executable? end end end end -Cleaner.prepend(Homebrew::OS::MacOS::Cleaner) +Cleaner.prepend(OS::Mac::Cleaner) diff --git a/Library/Homebrew/extend/os/mac/cleanup.rb b/Library/Homebrew/extend/os/mac/cleanup.rb index 75d32bea15904..08b4ec01454d2 100644 --- a/Library/Homebrew/extend/os/mac/cleanup.rb +++ b/Library/Homebrew/extend/os/mac/cleanup.rb @@ -1,19 +1,17 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module Cleanup - sig { returns(T::Boolean) } - def use_system_ruby? - return false if Homebrew::EnvConfig.force_vendor_ruby? +module OS + module Mac + module Cleanup + sig { returns(T::Boolean) } + def use_system_ruby? + return false if Homebrew::EnvConfig.force_vendor_ruby? - Homebrew::EnvConfig.developer? && ENV["HOMEBREW_USE_RUBY_FROM_PATH"].present? - end + Homebrew::EnvConfig.developer? && ENV["HOMEBREW_USE_RUBY_FROM_PATH"].present? end end end end -Homebrew::Cleanup.prepend(Homebrew::OS::MacOS::Cleanup) +Homebrew::Cleanup.prepend(OS::Mac::Cleanup) diff --git a/Library/Homebrew/extend/os/mac/dev-cmd/bottle.rb b/Library/Homebrew/extend/os/mac/dev-cmd/bottle.rb index c7ebdc5e4469e..9d07b436956cd 100644 --- a/Library/Homebrew/extend/os/mac/dev-cmd/bottle.rb +++ b/Library/Homebrew/extend/os/mac/dev-cmd/bottle.rb @@ -1,28 +1,26 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module DevCmd - module Bottle - sig { returns(T::Array[String]) } - def tar_args - if ::MacOS.version >= :catalina - ["--no-mac-metadata", "--no-acls", "--no-xattrs"].freeze - else - [].freeze - end +module OS + module Mac + module DevCmd + module Bottle + sig { returns(T::Array[String]) } + def tar_args + if MacOS.version >= :catalina + ["--no-mac-metadata", "--no-acls", "--no-xattrs"].freeze + else + [].freeze end + end - sig { params(gnu_tar_formula: Formula).returns(String) } - def gnu_tar(gnu_tar_formula) - "#{gnu_tar_formula.opt_bin}/gtar" - end + sig { params(gnu_tar_formula: Formula).returns(String) } + def gnu_tar(gnu_tar_formula) + "#{gnu_tar_formula.opt_bin}/gtar" end end end end end -Homebrew::DevCmd::Bottle.prepend(Homebrew::OS::MacOS::DevCmd::Bottle) +Homebrew::DevCmd::Bottle.prepend(OS::Mac::DevCmd::Bottle) diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 86fe60c347af6..fa714f68ec56e 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -110,9 +110,9 @@ def check_for_unsupported_macos return if ENV["HOMEBREW_INTEGRATION_TEST"] who = +"We" - what = if ::OS::Mac.version.prerelease? + what = if OS::Mac.version.prerelease? "pre-release version" - elsif ::OS::Mac.version.outdated_release? + elsif OS::Mac.version.outdated_release? who << " (and Apple)" "old version" end @@ -149,7 +149,7 @@ def check_xcode_up_to_date #{MacOS::Xcode.update_instructions} EOS - if ::OS::Mac.version.prerelease? + if OS::Mac.version.prerelease? current_path = Utils.popen_read("/usr/bin/xcode-select", "-p") message += <<~EOS If #{MacOS::Xcode.latest_version} is installed, you may need to: diff --git a/Library/Homebrew/extend/os/mac/formula.rb b/Library/Homebrew/extend/os/mac/formula.rb index 7cfd0a88f9a74..4731717dfe475 100644 --- a/Library/Homebrew/extend/os/mac/formula.rb +++ b/Library/Homebrew/extend/os/mac/formula.rb @@ -1,41 +1,39 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module Formula - extend T::Helpers - - requires_ancestor { ::Formula } - - sig { returns(T::Boolean) } - def valid_platform? - requirements.none?(LinuxRequirement) - end - - sig { - params( - install_prefix: T.any(String, Pathname), - install_libdir: T.any(String, Pathname), - find_framework: String, - ).returns(T::Array[String]) - } - def std_cmake_args(install_prefix: prefix, install_libdir: "lib", find_framework: "LAST") - args = generic_std_cmake_args(install_prefix:, install_libdir:, find_framework:) - - # Avoid false positives for clock_gettime support on 10.11. - # CMake cache entries for other weak symbols may be added here as needed. - args << "-DHAVE_CLOCK_GETTIME:INTERNAL=0" if ::MacOS.version == "10.11" && ::MacOS::Xcode.version >= "8.0" - - # Ensure CMake is using the same SDK we are using. - args << "-DCMAKE_OSX_SYSROOT=#{::MacOS.sdk_for_formula(self).path}" if ::MacOS.sdk_root_needed? - - args - end +module OS + module Mac + module Formula + extend T::Helpers + + requires_ancestor { ::Formula } + + sig { returns(T::Boolean) } + def valid_platform? + requirements.none?(LinuxRequirement) + end + + sig { + params( + install_prefix: T.any(String, Pathname), + install_libdir: T.any(String, Pathname), + find_framework: String, + ).returns(T::Array[String]) + } + def std_cmake_args(install_prefix: prefix, install_libdir: "lib", find_framework: "LAST") + args = generic_std_cmake_args(install_prefix:, install_libdir:, find_framework:) + + # Avoid false positives for clock_gettime support on 10.11. + # CMake cache entries for other weak symbols may be added here as needed. + args << "-DHAVE_CLOCK_GETTIME:INTERNAL=0" if MacOS.version == "10.11" && MacOS::Xcode.version >= "8.0" + + # Ensure CMake is using the same SDK we are using. + args << "-DCMAKE_OSX_SYSROOT=#{MacOS.sdk_for_formula(self).path}" if MacOS.sdk_root_needed? + + args end end end end -Formula.prepend(Homebrew::OS::MacOS::Formula) +Formula.prepend(OS::Mac::Formula) diff --git a/Library/Homebrew/extend/os/mac/formula_installer.rb b/Library/Homebrew/extend/os/mac/formula_installer.rb index b601cbad93bc5..a817d924fb061 100644 --- a/Library/Homebrew/extend/os/mac/formula_installer.rb +++ b/Library/Homebrew/extend/os/mac/formula_installer.rb @@ -1,22 +1,20 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module FormulaInstaller - extend T::Helpers +module OS + module Mac + module FormulaInstaller + extend T::Helpers - requires_ancestor { ::FormulaInstaller } + requires_ancestor { ::FormulaInstaller } - sig { params(formula: Formula).returns(T.nilable(T::Boolean)) } - def fresh_install?(formula) - !Homebrew::EnvConfig.developer? && !::OS::Mac.version.outdated_release? && - (!installed_as_dependency? || !formula.any_version_installed?) - end + sig { params(formula: Formula).returns(T.nilable(T::Boolean)) } + def fresh_install?(formula) + !Homebrew::EnvConfig.developer? && !OS::Mac.version.outdated_release? && + (!installed_as_dependency? || !formula.any_version_installed?) end end end end -FormulaInstaller.prepend(Homebrew::OS::MacOS::FormulaInstaller) +FormulaInstaller.prepend(OS::Mac::FormulaInstaller) diff --git a/Library/Homebrew/extend/os/mac/linkage_checker.rb b/Library/Homebrew/extend/os/mac/linkage_checker.rb index 6a63b0aefc0d8..b82af034b2121 100644 --- a/Library/Homebrew/extend/os/mac/linkage_checker.rb +++ b/Library/Homebrew/extend/os/mac/linkage_checker.rb @@ -1,20 +1,18 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module LinkageChecker - private +module OS + module Mac + module LinkageChecker + private - sig { returns(T::Boolean) } - def system_libraries_exist_in_cache? - # In macOS Big Sur and later, system libraries do not exist on-disk and instead exist in a cache. - ::MacOS.version >= :big_sur - end + sig { returns(T::Boolean) } + def system_libraries_exist_in_cache? + # In macOS Big Sur and later, system libraries do not exist on-disk and instead exist in a cache. + MacOS.version >= :big_sur end end end end -LinkageChecker.prepend(Homebrew::OS::MacOS::LinkageChecker) +LinkageChecker.prepend(OS::Mac::LinkageChecker) diff --git a/Library/Homebrew/extend/os/mac/readall.rb b/Library/Homebrew/extend/os/mac/readall.rb index 008c036bd7985..4ad0cd1a05f2f 100644 --- a/Library/Homebrew/extend/os/mac/readall.rb +++ b/Library/Homebrew/extend/os/mac/readall.rb @@ -1,48 +1,46 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module Readall - extend T::Helpers - - requires_ancestor { Kernel } - - sig { params(tap: Tap, os_name: T.nilable(Symbol), arch: T.nilable(Symbol)).returns(T::Boolean) } - def valid_casks?(tap, os_name: nil, arch: Hardware::CPU.type) - return true if os_name == :linux - - current_macos_version = if os_name.is_a?(Symbol) - MacOSVersion.from_symbol(os_name) - else - ::MacOS.version - end +module OS + module Mac + module Readall + extend T::Helpers + + requires_ancestor { Kernel } - success = T.let(true, T::Boolean) - tap.cask_files.each do |file| - cask = Cask::CaskLoader.load(file) - - # Fine to have missing URLs for unsupported macOS - macos_req = cask.depends_on.macos - next if macos_req&.version && Array(macos_req.version).none? do |macos_version| - current_macos_version.compare(macos_req.comparator, macos_version) - end - - raise "Missing URL" if cask.url.nil? - rescue Interrupt - raise - rescue Exception => e # rubocop:disable Lint/RescueException - os_and_arch = "macOS #{current_macos_version} on #{arch}" - onoe "Invalid cask (#{os_and_arch}): #{file}" - $stderr.puts e - success = false + sig { params(tap: Tap, os_name: T.nilable(Symbol), arch: T.nilable(Symbol)).returns(T::Boolean) } + def valid_casks?(tap, os_name: nil, arch: Hardware::CPU.type) + return true if os_name == :linux + + current_macos_version = if os_name.is_a?(Symbol) + MacOSVersion.from_symbol(os_name) + else + MacOS.version + end + + success = T.let(true, T::Boolean) + tap.cask_files.each do |file| + cask = Cask::CaskLoader.load(file) + + # Fine to have missing URLs for unsupported macOS + macos_req = cask.depends_on.macos + next if macos_req&.version && Array(macos_req.version).none? do |macos_version| + current_macos_version.compare(macos_req.comparator, macos_version) end - success + + raise "Missing URL" if cask.url.nil? + rescue Interrupt + raise + rescue Exception => e # rubocop:disable Lint/RescueException + os_and_arch = "macOS #{current_macos_version} on #{arch}" + onoe "Invalid cask (#{os_and_arch}): #{file}" + $stderr.puts e + success = false end + success end end end end -Readall.singleton_class.prepend(Homebrew::OS::MacOS::Readall) +Readall.singleton_class.prepend(OS::Mac::Readall) diff --git a/Library/Homebrew/extend/os/mac/simulate_system.rb b/Library/Homebrew/extend/os/mac/simulate_system.rb index ac63e8568f1d6..f027eb0b883c6 100644 --- a/Library/Homebrew/extend/os/mac/simulate_system.rb +++ b/Library/Homebrew/extend/os/mac/simulate_system.rb @@ -1,23 +1,21 @@ # typed: strict # frozen_string_literal: true -module Homebrew - module OS - module MacOS - module SimulateSystem - sig { returns(T::Boolean) } - def simulating_or_running_on_macos? - Homebrew::SimulateSystem.os.blank? || [:macos, - *MacOSVersion::SYMBOLS.keys].include?(Homebrew::SimulateSystem.os) - end +module OS + module Mac + module SimulateSystem + sig { returns(T::Boolean) } + def simulating_or_running_on_macos? + Homebrew::SimulateSystem.os.blank? || [:macos, + *MacOSVersion::SYMBOLS.keys].include?(Homebrew::SimulateSystem.os) + end - sig { returns(Symbol) } - def current_os - Homebrew::SimulateSystem.os || ::MacOS.version.to_sym - end + sig { returns(Symbol) } + def current_os + Homebrew::SimulateSystem.os || MacOS.version.to_sym end end end end -Homebrew::SimulateSystem.singleton_class.prepend(Homebrew::OS::MacOS::SimulateSystem) +Homebrew::SimulateSystem.singleton_class.prepend(OS::Mac::SimulateSystem) diff --git a/Library/Homebrew/formula_auditor.rb b/Library/Homebrew/formula_auditor.rb index e3132f98e47ab..c19909e2f9199 100644 --- a/Library/Homebrew/formula_auditor.rb +++ b/Library/Homebrew/formula_auditor.rb @@ -504,9 +504,9 @@ def audit_glibc return unless @core_tap return if formula.name != "glibc" # Also allow LINUX_GLIBC_NEXT_CI_VERSION for when we're upgrading. - return if [::OS::LINUX_GLIBC_CI_VERSION, ::OS::LINUX_GLIBC_NEXT_CI_VERSION].include?(formula.version.to_s) + return if [OS::LINUX_GLIBC_CI_VERSION, OS::LINUX_GLIBC_NEXT_CI_VERSION].include?(formula.version.to_s) - problem "The glibc version must be #{::OS::LINUX_GLIBC_CI_VERSION}, as needed by our CI on Linux. " \ + problem "The glibc version must be #{OS::LINUX_GLIBC_CI_VERSION}, as needed by our CI on Linux. " \ "The glibc formula is for users who have a system glibc with a lower version, " \ "which allows them to use our Linux bottles, which were compiled against system glibc on CI." end diff --git a/Library/Homebrew/rubocops/move_to_extend_os.rb b/Library/Homebrew/rubocops/move_to_extend_os.rb index 30457528e1976..00aa8742c661c 100644 --- a/Library/Homebrew/rubocops/move_to_extend_os.rb +++ b/Library/Homebrew/rubocops/move_to_extend_os.rb @@ -9,7 +9,7 @@ class MoveToExtendOS < Base MSG = "Move `OS.linux?` and `OS.mac?` calls to `extend/os`." def_node_matcher :os_check?, <<~PATTERN - (send (const {nil? cbase} :OS) {:mac? | :linux?}) + (send (const nil? :OS) {:mac? | :linux?}) PATTERN def on_send(node) diff --git a/Library/Homebrew/test/rubocops/move_to_extend_os_spec.rb b/Library/Homebrew/test/rubocops/move_to_extend_os_spec.rb index 5d1e434c2b4d1..a20b0d949e149 100644 --- a/Library/Homebrew/test/rubocops/move_to_extend_os_spec.rb +++ b/Library/Homebrew/test/rubocops/move_to_extend_os_spec.rb @@ -18,18 +18,4 @@ ^^^^^^^ Homebrew/MoveToExtendOS: Move `OS.linux?` and `OS.mac?` calls to `extend/os`. RUBY end - - it "registers an offense when using `::OS.linux?`" do - expect_offense(<<~RUBY) - ::OS.linux? - ^^^^^^^^^^^ Homebrew/MoveToExtendOS: Move `OS.linux?` and `OS.mac?` calls to `extend/os`. - RUBY - end - - it "registers an offense when using `::OS.mac?`" do - expect_offense(<<~RUBY) - ::OS.mac? - ^^^^^^^^^ Homebrew/MoveToExtendOS: Move `OS.linux?` and `OS.mac?` calls to `extend/os`. - RUBY - end end