summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2016-12-20 16:44:51 -0500
committerNat Goodspeed <nat@lindenlab.com>2016-12-20 16:44:51 -0500
commite575abe99f15adba967342ad3646ba57040c778e (patch)
treee1e2122169100cd68db40aa7fdce0c7ddb1eef53 /indra/newview
parenta1a395b6798f941969220f8a27cf927adafcba73 (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-xindra/newview/viewer_manifest.py24
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")