keg_relocate: refactor path.find change for performance

Closes #616.

Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
This commit is contained in:
Dominyk Tiller 2016-08-02 03:11:27 +01:00
parent 196a6946e1
commit 604f4b6a07
No known key found for this signature in database
GPG Key ID: FE19AEFCF658C6F6

View File

@ -64,12 +64,14 @@ class Keg
text_files = []
return text_files unless File.exist?("/usr/bin/file")
# file has known issues with reading files on other locales. Has
# been fixed upstream for some time, but a sufficiently new enough
# file with that fix is only available in macOS Sierra.
# http://bugs.gw.com/view.php?id=292
with_custom_locale("C") do
path.find do |pn|
next if pn.symlink? || pn.directory?
next if Metafiles::EXTENSIONS.include? pn.extname
# File has known issues with reading files on other locales.
# http://bugs.gw.com/view.php?id=292
with_custom_locale("C") do
if Utils.popen_read("/usr/bin/file", "--brief", pn).include?("text") ||
pn.text_executable?
text_files << pn