Martin Afanasjew 6f5307fbd9 keg_relocate: fix relocation of frameworks
When fixing references to regular dylibs, it is sufficient to search for
a file with the same base name, e.g., `libpoppler.56.dylib`. However, if
the broken reference is to a framework, we also have to take into
account preceding path components to find a suitable match. Framework
references (according to the `dyld` man page) come in two flavors:

- `XXX.framework/Versions/YYY/XXX` (with version)
- `XXX.framework/XXX` (without version)

The change here is to detect these patterns and to make sure that the
fixed library reference has the same suffix as the broken one.

Prior to this fix, a broken framework reference (if originating in a
sister framework) to `QtXml.framework/Versions/5/QtXml` would have been
rewritten to `<qt5-keg>/lib/QtXml.framework/QtXml`. In practice, this
mostly works, but is technically incorrect and thus creates problems
like in Homebrew/homebrew#42191. With this fix, the framework reference is correctly
rewritten to `<qt5-keg>/lib/QtXml.framework/Versions/5/QtXml`.

Closes Homebrew/homebrew#45494.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2015-11-19 08:54:58 +00:00
2015-11-18 17:06:28 +00:00
2015-09-18 09:54:29 +01:00
2015-11-18 17:06:28 +00:00
2015-08-29 15:43:16 +01:00
2015-05-08 19:19:28 -07:00
2015-01-01 23:55:12 -05:00
2015-11-11 15:06:50 +00:00

Homebrew

Features, usage and installation instructions are summarised on the homepage.

What Packages Are Available?

  1. Type brew search for a list.
  2. Or visit braumeister.org to browse packages online.
  3. Or use brew search --desc to browse packages from the command line.

More Documentation

brew help, man brew or check our documentation.

Troubleshooting

First, please run brew update and brew doctor.

Second, read the Troubleshooting Checklist.

If you don't read these it will take us far longer to help you with your problem.

Security

Please report security issues to security@brew.sh.

This is our PGP key which is valid until June 17, 2016.

Who Are You?

Homebrew's current maintainers are Misty De Meo, Andrew Janke, Xu Cheng, Mike McQuaid, Baptiste Fontaine, Brett Koonce, Dominyk Tiller, Tim Smith and Alex Dunn.

Homebrew was originally created by Max Howell.

License

Code is under the BSD 2 Clause (NetBSD) license. Documentation is under the Creative Commons Attribution license.

Sponsors

Our CI infrastructure was paid for by our Kickstarter supporters.

Our CI infrastructure is hosted by The Positive Internet Company.

Our bottles (binary packages) are hosted by Bintray.

Downloads by Bintray

Description
🍺 The missing package manager for macOS (or Linux)
Readme 144 MiB
4.6.25 Latest
2025-09-16 21:53:50 +00:00
Languages
Ruby 92%
Shell 5.2%
Roff 2.1%
HTML 0.5%