diff options
author | Don Kjer <don@lindenlab.com> | 2012-09-03 20:12:47 +0000 |
---|---|---|
committer | Don Kjer <don@lindenlab.com> | 2012-09-03 20:12:47 +0000 |
commit | 403d1b6404355fa26b0bfeff206f5c56758a491c (patch) | |
tree | 6438eb8fa29dc8946d404ac79f89cf1bd140bbe1 /indra/newview/viewer_manifest.py | |
parent | 21c364c4d455cc05ec176032e8c090be0cc4ed50 (diff) | |
parent | 825cc7873251ad90720ab40221d689abed7b2ac8 (diff) |
Merge VirLinden/sunshine -> don_linden/sunshine-experimental
Diffstat (limited to 'indra/newview/viewer_manifest.py')
-rw-r--r-- | indra/newview/viewer_manifest.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index d1c952ac3b..3c3aba23f8 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -816,6 +816,30 @@ class DarwinManifest(ViewerManifest): self.run_command("chmod +x %r" % os.path.join(self.get_dst_prefix(), script)) def package_finish(self): + # Sign the app if requested. + if 'signature' in self.args: + identity = self.args['signature'] + if identity == '': + identity = 'Developer ID Application' + + # Look for an environment variable set via build.sh when running in Team City. + try: + build_secrets_checkout = os.environ['build_secrets_checkout'] + except KeyError: + pass + else: + # variable found so use it to unlock keyvchain followed by codesign + home_path = os.environ['HOME'] + keychain_pwd_path = os.path.join(build_secrets_checkout,'code-signing-osx','password.txt') + keychain_pwd = open(keychain_pwd_path).read().rstrip() + + self.run_command('security unlock-keychain -p "%s" "%s/Library/Keychains/viewer.keychain"' % ( keychain_pwd, home_path ) ) + self.run_command('codesign --verbose --force --keychain "%(home_path)s/Library/Keychains/viewer.keychain" --sign %(identity)r %(bundle)r' % { + 'home_path' : home_path, + 'identity': identity, + 'bundle': self.get_dst_prefix() + }) + channel_standin = 'Second Life Viewer' # hah, our default channel is not usable on its own if not self.default_channel(): channel_standin = self.channel() |