diff options
| author | Jack Nagel | 2014-04-13 13:53:46 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-04-13 14:57:11 -0500 |
| commit | 080db80323e3c509a2e4abb12118be7548009e62 (patch) | |
| tree | 8add1a10fb65596e1678bdca67488d1491137633 | |
| parent | 6237fcd2734511a11e0d279b7bd149d953317ffb (diff) | |
| download | homebrew-080db80323e3c509a2e4abb12118be7548009e62.tar.bz2 | |
Use correct basename when updating dylib IDs
| -rw-r--r-- | Library/Homebrew/keg_fix_install_names.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Library/Homebrew/keg_fix_install_names.rb b/Library/Homebrew/keg_fix_install_names.rb index 5feae1136..35d3ddc09 100644 --- a/Library/Homebrew/keg_fix_install_names.rb +++ b/Library/Homebrew/keg_fix_install_names.rb @@ -130,14 +130,16 @@ class Keg < Pathname end def dylib_id_for file, options={} - # the shortpath ensures that library upgrades don’t break installed tools - relative_path = file.relative_path_from(self) - shortpath = HOMEBREW_PREFIX.join(relative_path) + # The new dylib ID should have the same basename as the old dylib ID, not + # the basename of the file itself. + basename = File.basename(file.dylib_id) + relative_dirname = file.dirname.relative_path_from(self) + shortpath = HOMEBREW_PREFIX.join(relative_dirname, basename) if shortpath.exist? and not options[:keg_only] shortpath.to_s else - "#{HOMEBREW_PREFIX}/opt/#{fname}/#{relative_path}" + "#{HOMEBREW_PREFIX}/opt/#{fname}/#{relative_dirname}/#{basename}" end end |
