aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/cleaner.rb8
-rw-r--r--Library/Homebrew/extend/os/cleaner.rb5
-rw-r--r--Library/Homebrew/extend/os/mac/cleaner.rb7
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