{"action":"created","issue":{"url":"https://api.github.com/repos/Homebrew/homebrew/issues/45494","labels_url":"https://api.github.com/repos/Homebrew/homebrew/issues/45494/labels{/name}","comments_url":"https://api.github.com/repos/Homebrew/homebrew/issues/45494/comments","events_url":"https://api.github.com/repos/Homebrew/homebrew/issues/45494/events","html_url":"https://github.com/Homebrew/homebrew/pull/45494","id":114176694,"number":45494,"title":"keg_relocate: fix relocation of frameworks","user":{"login":"UniqMartin","id":11892150,"avatar_url":"https://avatars.githubusercontent.com/u/11892150?v=3","gravatar_id":"","url":"https://api.github.com/users/UniqMartin","html_url":"https://github.com/UniqMartin","followers_url":"https://api.github.com/users/UniqMartin/followers","following_url":"https://api.github.com/users/UniqMartin/following{/other_user}","gists_url":"https://api.github.com/users/UniqMartin/gists{/gist_id}","starred_url":"https://api.github.com/users/UniqMartin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UniqMartin/subscriptions","organizations_url":"https://api.github.com/users/UniqMartin/orgs","repos_url":"https://api.github.com/users/UniqMartin/repos","events_url":"https://api.github.com/users/UniqMartin/events{/privacy}","received_events_url":"https://api.github.com/users/UniqMartin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Homebrew/homebrew/labels/maintainer%20feedback","name":"maintainer feedback","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-10-30T00:50:55Z","updated_at":"2015-11-08T11:33:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Homebrew/homebrew/pulls/45494","html_url":"https://github.com/Homebrew/homebrew/pull/45494","diff_url":"https://github.com/Homebrew/homebrew/pull/45494.diff","patch_url":"https://github.com/Homebrew/homebrew/pull/45494.patch"},"body":"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:\r\n\r\n- `XXX.framework/Versions/YYY/XXX` (with version)\r\n- `XXX.framework/XXX` (without version)\r\n\r\nThe change here is to detect these patterns and to make sure that the fixed library reference has the same suffix as the broken one.\r\n\r\nPrior to this fix, a broken framework reference to, e.g., `QtXml.framework/Versions/5/QtXml` (if originating in a sister framework) 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 #42191. With this fix, the framework reference is correctly rewritten to `<qt5-keg>/lib/QtXml.framework/Versions/5/QtXml`."},"comment":{"url":"https://api.github.com/repos/Homebrew/homebrew/issues/comments/154808141","html_url":"https://github.com/Homebrew/homebrew/pull/45494#issuecomment-154808141","issue_url":"https://api.github.com/repos/Homebrew/homebrew/issues/45494","id":154808141,"user":{"login":"DomT4","id":6998367,"avatar_url":"https://avatars.githubusercontent.com/u/6998367?v=3","gravatar_id":"","url":"https://api.github.com/users/DomT4","html_url":"https://github.com/DomT4","followers_url":"https://api.github.com/users/DomT4/followers","following_url":"https://api.github.com/users/DomT4/following{/other_user}","gists_url":"https://api.github.com/users/DomT4/gists{/gist_id}","starred_url":"https://api.github.com/users/DomT4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DomT4/subscriptions","organizations_url":"https://api.github.com/users/DomT4/orgs","repos_url":"https://api.github.com/users/DomT4/repos","events_url":"https://api.github.com/users/DomT4/events{/privacy}","received_events_url":"https://api.github.com/users/DomT4/received_events","type":"User","site_admin":false},"created_at":"2015-11-08T11:33:31Z","updated_at":"2015-11-08T11:33:31Z","body":"If a direct ping didn't work the label may well go unnoticed as well, but we can try."}}