From c532e3075c7857f3f3f0097890d93bd90ff82db0 Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Thu, 18 Oct 2018 15:31:44 -0400
Subject: [PATCH] DRTVWR-447: Re-inject BugsplatServerURL into Mac's
 Info.plist.

---
 indra/newview/viewer_manifest.py | 41 ++++++++++----------------------
 1 file changed, 13 insertions(+), 28 deletions(-)

diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 40fa6cacf39..fb132732a51 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -909,6 +909,19 @@ def construct(self):
         debpkgdir = os.path.join(pkgdir, "lib", "debug")
 
         with self.prefix(src="", dst="Contents"):  # everything goes in Contents
+            bugsplat_db = self.args.get('bugsplat')
+            if bugsplat_db:
+                # Inject BugsplatServerURL into Info.plist if provided.
+                Info_plist = self.dst_path_of("Info.plist")
+                Info = plistlib.readPlist(Info_plist)
+                # https://www.bugsplat.com/docs/platforms/os-x#configuration
+                Info["BugsplatServerURL"] = \
+                    "https://{}.bugsplat.com/".format(bugsplat_db)
+                self.put_in_file(
+                    plistlib.writePlistToString(Info),
+                    os.path.basename(Info_plist),
+                    "Info.plist")
+
             # CEF framework goes inside Contents/Frameworks.
             # Remember where we parked this car.
             with self.prefix(src="", dst="Frameworks"):
@@ -1319,34 +1332,6 @@ def package_finish(self):
                             else:
                                 print >> sys.stderr, "Maximum codesign attempts exceeded; giving up"
                                 raise
-                    print 72*'='
-                    import stat
-                    print app_in_dmg
-                    # Second Life.app
-                    for sub0 in os.listdir(app_in_dmg):
-                        print '--{}'.format(sub0)
-                        path0 = os.path.join(app_in_dmg, sub0)
-                        if os.path.isfile(path0):
-                            # shouldn't be any file here
-                            with open(path0) as inf:
-                                for line in inf:
-                                    print '  {}'.format(line.rstrip())
-                        elif os.path.isdir(path0):
-                            # Contents
-                            for sub1 in os.listdir(path0):
-                                print '----{}'.format(sub1)
-                                path1 = os.path.join(path0, sub1)
-                                if os.path.isfile(path1):
-                                    # Info.plist, PkgInfo
-                                    with open(path1) as inf:
-                                        for line in inf:
-                                            print '    {}'.format(line.rstrip())
-                                elif os.path.isdir(path1):
-                                    # Frameworks, MacOS, Resources
-                                    for sub2 in os.listdir(path1):
-                                        path2 = os.path.join(path1, sub2)
-                                        print '    {:04o} {}'.format(stat.S_IMODE(os.stat(path2).st_mode), sub2)
-                    print 72*'='
                     self.run_command(['spctl', '-a', '-texec', '-vvvv', app_in_dmg])
 
         finally:
-- 
GitLab