Move ::Cleanup check to extend/os

This commit is contained in:
apainintheneck 2022-11-20 10:49:53 -08:00
parent c7d53a2d9c
commit d69326c8d0
4 changed files with 49 additions and 17 deletions

View File

@ -405,28 +405,12 @@ module Homebrew
end
def cleanup_portable_ruby
rubies = [which("ruby"), which("ruby", ORIGINAL_PATHS)].compact
system_ruby = Pathname.new("/usr/bin/ruby")
rubies << system_ruby if system_ruby.exist?
use_system_ruby = if Homebrew::EnvConfig.force_vendor_ruby?
false
elsif OS.mac?
ENV["HOMEBREW_MACOS_SYSTEM_RUBY_NEW_ENOUGH"].present?
else
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, HOMEBREW_REQUIRED_RUBY_VERSION
end
end
vendor_dir = HOMEBREW_LIBRARY/"Homebrew/vendor"
portable_ruby_latest_version = (vendor_dir/"portable-ruby-version").read.chomp
portable_rubies_to_remove = []
Pathname.glob(vendor_dir/"portable-ruby/*.*").select(&:directory?).each do |path|
next if !use_system_ruby && portable_ruby_latest_version == path.basename.to_s
next if !use_system_ruby? && portable_ruby_latest_version == path.basename.to_s
portable_rubies_to_remove << path
end
@ -445,6 +429,8 @@ module Homebrew
end
end
def use_system_ruby?; end
def cleanup_bootsnap
bootsnap = cache/"bootsnap"
return unless bootsnap.exist?
@ -615,3 +601,5 @@ module Homebrew
end
end
end
require "extend/os/cleanup"

View File

@ -0,0 +1,8 @@
# typed: false
# frozen_string_literal: true
if OS.mac?
require "extend/os/mac/cleanup"
elsif OS.linux?
require "extend/os/linux/cleanup"
end

View File

@ -0,0 +1,22 @@
# typed: false
# frozen_string_literal: true
module Homebrew
class Cleanup
undef use_system_ruby?
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?
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, HOMEBREW_REQUIRED_RUBY_VERSION
end
end
end
end

View File

@ -0,0 +1,14 @@
# typed: false
# frozen_string_literal: true
module Homebrew
class Cleanup
undef use_system_ruby?
def use_system_ruby?
return false if Homebrew::EnvConfig.force_vendor_ruby?
ENV["HOMEBREW_MACOS_SYSTEM_RUBY_NEW_ENOUGH"].present?
end
end
end