mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Keep info/#{f.name}/dir
files in cleaner
Still cleans `info/dir` and `info/<arch>/dir` files. Fixes https://github.com/Homebrew/homebrew-core/issues/100190
This commit is contained in:
parent
80e5327013
commit
fbb3ccbfd6
@ -31,7 +31,7 @@ class Cleaner
|
|||||||
# Get rid of any info 'dir' files, so they don't conflict at the link stage
|
# Get rid of any info 'dir' files, so they don't conflict at the link stage
|
||||||
Dir.glob(@f.info/"**/dir").each do |f|
|
Dir.glob(@f.info/"**/dir").each do |f|
|
||||||
info_dir_file = Pathname(f)
|
info_dir_file = Pathname(f)
|
||||||
observe_file_removal info_dir_file if info_dir_file.file? && !@f.skip_clean?(info_dir_file)
|
observe_file_removal info_dir_file if info_dir_file.file? && info_dir_file != Pathname("#{@f.info}/#{@f.name}/dir") && !@f.skip_clean?(info_dir_file)
|
||||||
end
|
end
|
||||||
|
|
||||||
rewrite_shebangs
|
rewrite_shebangs
|
||||||
|
@ -136,6 +136,26 @@ describe Cleaner do
|
|||||||
|
|
||||||
expect(file).not_to exist
|
expect(file).not_to exist
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "removes 'info/**/dir' files except for 'info/<name>/dir'" do
|
||||||
|
file = f.info/"dir"
|
||||||
|
arch_file = f.info/"i686-elf/dir"
|
||||||
|
name_file = f.info/"#{f.name}/dir"
|
||||||
|
|
||||||
|
f.info.mkpath
|
||||||
|
(f.info/"i686-elf").mkpath
|
||||||
|
(f.info/"#{f.name}").mkpath
|
||||||
|
|
||||||
|
touch file
|
||||||
|
touch arch_file
|
||||||
|
touch name_file
|
||||||
|
|
||||||
|
cleaner.clean
|
||||||
|
|
||||||
|
expect(file).not_to exist
|
||||||
|
expect(arch_file).not_to exist
|
||||||
|
expect(name_file).to exist
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "::skip_clean" do
|
describe "::skip_clean" do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user