diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2016-12-20 16:44:51 -0500 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2016-12-20 16:44:51 -0500 |
commit | e575abe99f15adba967342ad3646ba57040c778e (patch) | |
tree | e1e2122169100cd68db40aa7fdce0c7ddb1eef53 /indra/newview | |
parent | a1a395b6798f941969220f8a27cf927adafcba73 (diff) |
DRTVWR-418: Create CEF framework symlink from LLCefLib Helper.app.
Without that symlink, the helper app can't find CEF and we get no web content.
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/viewer_manifest.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 1a68bb0173..f259826443 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -846,6 +846,14 @@ class DarwinManifest(ViewerManifest): self.path2basename(relpkgdir, helperappfile) pluginframeworkpath = self.dst_path_of('Chromium Embedded Framework.framework'); + # Putting a Frameworks directory under Contents/MacOS + # isn't canonical, but the path baked into LLCefLib + # Helper.app/Contents/MacOS/LLCefLib Helper is: + # @executable_path/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework + # (notice, not @executable_path/../Frameworks/etc.) + # So we'll create a symlink (below) from there back to the + # Frameworks directory nested under SLPlugin.app. + helperframeworkpath = self.dst_path_of('LLCefLib Helper.app/Contents/MacOS/Frameworks') self.end_prefix() @@ -879,11 +887,21 @@ class DarwinManifest(ViewerManifest): # Real Frameworks folder, with the symlink inside the bundled SLPlugin.app (and why it's relative) # <top level>.app/Contents/Frameworks/Chromium Embedded Framework.framework/ # <top level>.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework -> - frameworkpath = os.path.join(os.pardir, os.pardir, os.pardir, os.pardir, "Frameworks", "Chromium Embedded Framework.framework") + frameworkdir = os.path.join(os.pardir, os.pardir, os.pardir, os.pardir, "Frameworks") + frameworkpath = os.path.join(frameworkdir, "Chromium Embedded Framework.framework") try: - symlinkf(frameworkpath, pluginframeworkpath) + # from SLPlugin.app/Contents/Frameworks/Chromium Embedded + # Framework.framework back to Second + # Life.app/Contents/Frameworks/Chromium Embedded Framework.framework + origin, target = pluginframeworkpath, frameworkpath + symlinkf(target, origin) + # from SLPlugin.app/Contents/Frameworks/LLCefLib + # Helper.app/Contents/MacOS/Frameworks back to + # SLPlugin.app/Contents/Frameworks + origin, target = helperframeworkpath, frameworkdir + symlinkf(target, origin) except OSError as err: - print "Can't symlink %s -> %s: %s" % (frameworkpath, pluginframeworkpath, err) + print "Can't symlink %s -> %s: %s" % (origin, target, err) raise self.end_prefix("Contents") |