diff options
| author | Callum Prentice <callum@lindenlab.com> | 2015-06-18 12:01:13 -0700 | 
|---|---|---|
| committer | Callum Prentice <callum@lindenlab.com> | 2015-06-18 12:01:13 -0700 | 
| commit | f97fb4d80f7e6f4b810e06457afbd65a16390adc (patch) | |
| tree | 88531891904bb86ac6b9eb94d17bde887bc317f7 | |
| parent | 559f71bf90bb19a885e0ee7a4c9341d27619e701 (diff) | |
Add code in viewer_manifest.py to create a symlink for second copy of CEF framework vs copying in second version
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 22 | 
1 files changed, 21 insertions, 1 deletions
| diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 357124cfee..06deacee52 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -820,9 +820,11 @@ class Darwin_i386_Manifest(ViewerManifest):                  # LLCefLib helper apps go inside SLPlugin.app                  if self.prefix(src="", dst="SLPlugin.app/Contents/Frameworks"):                      for helperappfile in ('LLCefLib Helper.app', -                                          'Chromium Embedded Framework.framework',  # TODO replace with symlink                                            'LLCefLib Helper EH.app'):                          self.path2basename(relpkgdir, helperappfile) + +                    pluginframeworkpath = self.dst_path_of('Chromium Embedded Framework.framework'); +                      self.end_prefix()                  # SLPlugin plugins @@ -841,6 +843,24 @@ class Darwin_i386_Manifest(ViewerManifest):                      self.path2basename(relpkgdir, frameworkfile)                      self.end_prefix("Frameworks") +                # This code constructs a relative path from the +                # target framework folder back to the location of the symlink. +                # It needs to be relative so that the symlink still works when +                # (as is normal) the user moves the app bunlde out of the DMG +                # and into the /Applications folder. Note we also call 'raise' +                # to terminate the process if we get an error since without +                # this symlink, Second Life web media can't possibly work. +                # Real Framework folder: +                #   Second Life.app/Contents/Frameworks/Chromium Embedded Framework.framework/ +                # Location of symlink and why it'ds relavie  +                #   Second Life.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") +                try: +                    symlinkf(frameworkpath, pluginframeworkpath) +                except OSError as err: +                    print "Can't symlink %s -> %s: %s" % (frameworkpath, pluginframeworkpath, err) +                    raise +              self.end_prefix("Contents")          # fix up media_plugin.dylib so it knows where to look for CEF files it needs | 
