From 6109f00d64390d993369dc8079c17999505fd2b9 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 30 Mar 2021 14:14:24 +0100 Subject: [PATCH] Revert "audit: check for installed empty files" --- Library/Homebrew/extend/pathname.rb | 1 - Library/Homebrew/formula_cellar_checks.rb | 43 ------------------- .../Homebrew/test/formula_installer_spec.rb | 3 +- 3 files changed, 1 insertion(+), 46 deletions(-) diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 0582e55e86..3930deb3bc 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -432,7 +432,6 @@ class Pathname def install_metafiles(from = Pathname.pwd) Pathname(from).children.each do |p| next if p.directory? - next if File.zero?(p) next unless Metafiles.copy?(p.basename.to_s) # Some software symlinks these files (see help2man.rb) diff --git a/Library/Homebrew/formula_cellar_checks.rb b/Library/Homebrew/formula_cellar_checks.rb index 4b21a8a714..2059ebbeba 100644 --- a/Library/Homebrew/formula_cellar_checks.rb +++ b/Library/Homebrew/formula_cellar_checks.rb @@ -275,48 +275,6 @@ module FormulaCellarChecks "Python formulae that are keg-only should not create `pip3` and `wheel3` symlinks." end - INVALID_EMPTY_FILE_NAMES = %w[AUTHORS ChangeLog changes COPYING LICENSE NEWS README TODO].freeze - INVALID_EMPTY_FILE_EXTENSIONS = %w[.html .md .rst .txt].freeze - INVALID_EMPTY_FILE_DIRECTORIES = %w[bin libexec share/man share/doc].freeze - # Names and extensions to ignore, even if they are in a location within prefix given above - VALID_EMPTY_FILE_NAMES = %w[__init__ empty REQUESTED].freeze - VALID_EMPTY_FILE_EXTENSIONS = %w[.gitkeep .keep .keepme .stamp .typed].freeze - - def check_empty_files(prefix) - return unless prefix.directory? - - empty_files = prefix.children.select do |f| - next if INVALID_EMPTY_FILE_NAMES.exclude?(f.basename(".*").to_s) && - INVALID_EMPTY_FILE_EXTENSIONS.exclude?(f.extname) - next unless File.zero?(f) - - true - end - - INVALID_EMPTY_FILE_DIRECTORIES.each do |dir| - path = prefix/dir - next unless path.directory? - - # search all directories in INVALID_EMPTY_FILE_LOCATIONS and their subdirectories - Pathname.glob(path/"**/*").each do |p| - # Any files in the "valid" list should be skipped because they are expected to be empty - next if VALID_EMPTY_FILE_NAMES.include?(p.basename(".*").to_s) - next if VALID_EMPTY_FILE_EXTENSIONS.include?(p.extname) - next unless File.zero?(p) - - empty_files << p - end - end - - return if empty_files.empty? - - <<~EOS - Unexpected empty files were installed. - The offending files are: - #{empty_files * "\n "} - EOS - end - def audit_installed @new_formula ||= false @@ -335,7 +293,6 @@ module FormulaCellarChecks problem_if_output(check_shim_references(formula.prefix)) problem_if_output(check_plist(formula.prefix, formula.plist)) problem_if_output(check_python_symlinks(formula.name, formula.keg_only?)) - problem_if_output(check_empty_files(formula.prefix)) end alias generic_audit_installed audit_installed diff --git a/Library/Homebrew/test/formula_installer_spec.rb b/Library/Homebrew/test/formula_installer_spec.rb index 742f6a2d81..b4233dfaff 100644 --- a/Library/Homebrew/test/formula_installer_spec.rb +++ b/Library/Homebrew/test/formula_installer_spec.rb @@ -51,8 +51,7 @@ describe FormulaInstaller do specify "basic installation" do temporary_install(Testball.new) do |f| # Test that things made it into the Keg - # "readme" is empty, so it should not be installed - expect(f.prefix/"readme").not_to exist + expect(f.prefix/"readme").to exist expect(f.bin).to be_a_directory expect(f.bin.children.count).to eq(3)