aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXu Cheng2015-07-10 19:51:43 +0800
committerXu Cheng2015-07-10 23:28:41 +0800
commit609af678fdb12d270f185e12aa49804e245aff70 (patch)
tree03005750fa3ccc25fd93280e6255b82ae8bd91eb
parent913659efe4ac5092ce69aebc0e0dc8ae7b16ba96 (diff)
downloadbrew-609af678fdb12d270f185e12aa49804e245aff70.tar.bz2
bottle: improve relocation
* skip document for relocatable check * relocate INSTALL_RECEIPT.json file Fixes Homebrew/homebrew#41545. Closes Homebrew/homebrew#41568. Signed-off-by: Xu Cheng <xucheng@me.com>
-rw-r--r--Library/Homebrew/cmd/bottle.rb3
-rw-r--r--Library/Homebrew/keg_fix_install_names.rb5
2 files changed, 8 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/bottle.rb b/Library/Homebrew/cmd/bottle.rb
index 89e1f4f03..537e896fd 100644
--- a/Library/Homebrew/cmd/bottle.rb
+++ b/Library/Homebrew/cmd/bottle.rb
@@ -52,6 +52,9 @@ module Homebrew
result = false
keg.each_unique_file_matching(string) do |file|
+ # skip document file.
+ next if Metafiles::EXTENSIONS.include? file.extname
+
# Check dynamic library linkage. Importantly, do not run otool on static
# libraries, which will falsely report "linkage" to themselves.
if file.mach_o_executable? or file.dylib? or file.mach_o_bundle?
diff --git a/Library/Homebrew/keg_fix_install_names.rb b/Library/Homebrew/keg_fix_install_names.rb
index 0b7a32d54..a6ddb970f 100644
--- a/Library/Homebrew/keg_fix_install_names.rb
+++ b/Library/Homebrew/keg_fix_install_names.rb
@@ -39,6 +39,7 @@ class Keg
end
files = pkgconfig_files | libtool_files | script_files | plist_files
+ files << tab_file if tab_file.file?
files.group_by { |f| f.stat.ino }.each_value do |first, *rest|
s = first.open("rb", &:read)
@@ -207,4 +208,8 @@ class Keg
end
plist_files
end
+
+ def tab_file
+ join(Tab::FILENAME)
+ end
end