diff options
| -rw-r--r-- | Library/Homebrew/cleaner.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/cleaner.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/mac/cleaner.rb | 7 |
3 files changed, 19 insertions, 1 deletions
diff --git a/Library/Homebrew/cleaner.rb b/Library/Homebrew/cleaner.rb index d96caeb09..6181d3da4 100644 --- a/Library/Homebrew/cleaner.rb +++ b/Library/Homebrew/cleaner.rb @@ -66,6 +66,10 @@ class Cleaner end end + def executable_path?(path) + path.text_executable? + end + # Clean a top-level (bin, sbin, lib) directory, recursively, by fixing file # permissions and removing .la files, unless the files (or parent # directories) are protected by skip_clean. @@ -87,7 +91,7 @@ class Cleaner path.unlink else # Set permissions for executables and non-executables - perms = if path.mach_o_executable? || path.text_executable? + perms = if executable_path?(path) 0555 else 0444 @@ -103,3 +107,5 @@ class Cleaner end end end + +require "extend/os/cleaner" diff --git a/Library/Homebrew/extend/os/cleaner.rb b/Library/Homebrew/extend/os/cleaner.rb new file mode 100644 index 000000000..868ff2d33 --- /dev/null +++ b/Library/Homebrew/extend/os/cleaner.rb @@ -0,0 +1,5 @@ +require "cleaner" + +if OS.mac? + require "extend/os/mac/cleaner" +end diff --git a/Library/Homebrew/extend/os/mac/cleaner.rb b/Library/Homebrew/extend/os/mac/cleaner.rb new file mode 100644 index 000000000..74f627b48 --- /dev/null +++ b/Library/Homebrew/extend/os/mac/cleaner.rb @@ -0,0 +1,7 @@ +class Cleaner + private + + def executable_path?(path) + path.mach_o_executable? || path.text_executable? + end +end |
