From 8004deccd297c062829c31cf8061025c17d86e1e Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Thu, 29 Apr 2021 17:49:47 +0100 Subject: [PATCH] cleaner: globally rewrite Perl shebangs by default --- Library/Homebrew/cleaner.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Library/Homebrew/cleaner.rb b/Library/Homebrew/cleaner.rb index 6acc77f1a9..76784ff418 100644 --- a/Library/Homebrew/cleaner.rb +++ b/Library/Homebrew/cleaner.rb @@ -32,6 +32,8 @@ class Cleaner info_dir_file = @f.info/"dir" observe_file_removal info_dir_file if info_dir_file.file? && !@f.skip_clean?(info_dir_file) + rewrite_shebangs + prune end @@ -118,6 +120,24 @@ class Cleaner end end end + + def rewrite_shebangs + require "language/perl" + require "utils/shebang" + + basepath = @f.prefix.realpath + basepath.find do |path| + Find.prune if @f.skip_clean? path + + next if path.directory? || path.symlink? + + begin + Utils::Shebang.rewrite_shebang Language::Perl::Shebang.detected_perl_shebang(@f), path + rescue ShebangDetectionError + break + end + end + end end require "extend/os/cleaner"