diff options
Diffstat (limited to 'linden/indra/newview/viewer_manifest.py')
-rwxr-xr-x | linden/indra/newview/viewer_manifest.py | 51 |
1 files changed, 18 insertions, 33 deletions
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index 43734df..d07ebf0 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py | |||
@@ -115,38 +115,18 @@ class ViewerManifest(LLManifest): | |||
115 | if not self.default_grid(): | 115 | if not self.default_grid(): |
116 | if self.default_channel(): | 116 | if self.default_channel(): |
117 | # beta grid viewer | 117 | # beta grid viewer |
118 | channel_flags = '-settings settings_beta.xml' | 118 | channel_flags = '--settings settings_beta.xml' |
119 | grid_flags = "-helperuri http://preview-%(grid)s.secondlife.com/helpers/ -loginuri https://login.%(grid)s.lindenlab.com/cgi-bin/login.cgi" % {'grid':self.args['grid']} | 119 | grid_flags = "--grid %(grid)s --helperuri http://preview-%(grid)s.secondlife.com/helpers/" % {'grid':self.args['grid']} |
120 | 120 | ||
121 | if not self.default_channel(): | 121 | if not self.default_channel(): |
122 | # some channel on some grid | 122 | # some channel on some grid |
123 | channel_flags = '-settings settings_%s.xml -channel "%s"' % (self.channel_lowerword(), self.channel()) | 123 | channel_flags = '--settings settings_%s.xml --channel "%s"' % (self.channel_lowerword(), self.channel()) |
124 | elif self.login_channel(): | 124 | elif self.login_channel(): |
125 | # Report a special channel during login, but use default channel elsewhere | 125 | # Report a special channel during login, but use default channel elsewhere |
126 | channel_flags = '-channel "%s"' % (self.login_channel()) | 126 | channel_flags = '--channel "%s"' % (self.login_channel()) |
127 | 127 | ||
128 | return " ".join((channel_flags, grid_flags)).strip() | 128 | return " ".join((channel_flags, grid_flags)).strip() |
129 | 129 | ||
130 | def login_url(self): | ||
131 | """ Convenience function that returns the appropriate login url for the grid""" | ||
132 | if(self.args.get('login_url')): | ||
133 | return self.args['login_url'] | ||
134 | else: | ||
135 | if(self.default_grid()): | ||
136 | if(self.default_channel()): | ||
137 | # agni release | ||
138 | return 'http://secondlife.com/app/login/' | ||
139 | else: | ||
140 | # first look (or other) on agni | ||
141 | return 'http://secondlife.com/app/login/%s/' % self.channel_lowerword() | ||
142 | else: | ||
143 | # beta grid | ||
144 | return 'http://secondlife.com/app/login/beta/' | ||
145 | |||
146 | def replace_login_url(self): | ||
147 | # set the login page to point to a url appropriate for the type of client | ||
148 | self.replace_in("skins/xui/en-us/panel_login.xml", searchdict={'http://secondlife.com/app/login/':self.login_url()}) | ||
149 | |||
150 | 130 | ||
151 | class WindowsManifest(ViewerManifest): | 131 | class WindowsManifest(ViewerManifest): |
152 | def final_exe(self): | 132 | def final_exe(self): |
@@ -229,7 +209,6 @@ class WindowsManifest(ViewerManifest): | |||
229 | # # pull in the crash logger and updater from other projects | 209 | # # pull in the crash logger and updater from other projects |
230 | # self.path(src="../win_crash_logger/win_crash_logger.exe", dst="win_crash_logger.exe") | 210 | # self.path(src="../win_crash_logger/win_crash_logger.exe", dst="win_crash_logger.exe") |
231 | self.path(src="../win_updater/updater.exe", dst="updater.exe") | 211 | self.path(src="../win_updater/updater.exe", dst="updater.exe") |
232 | self.replace_login_url() | ||
233 | 212 | ||
234 | def nsi_file_commands(self, install=True): | 213 | def nsi_file_commands(self, install=True): |
235 | def wpath(path): | 214 | def wpath(path): |
@@ -349,7 +328,7 @@ class WindowsManifest(ViewerManifest): | |||
349 | 328 | ||
350 | NSIS_path = 'C:\\Program Files\\NSIS\\makensis.exe' | 329 | NSIS_path = 'C:\\Program Files\\NSIS\\makensis.exe' |
351 | self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile)) | 330 | self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile)) |
352 | self.remove(self.dst_path_of(tempfile)) | 331 | # self.remove(self.dst_path_of(tempfile)) |
353 | self.created_path(installer_file) | 332 | self.created_path(installer_file) |
354 | 333 | ||
355 | 334 | ||
@@ -363,6 +342,9 @@ class DarwinManifest(ViewerManifest): | |||
363 | # <bundle>/Contents/MacOS/ | 342 | # <bundle>/Contents/MacOS/ |
364 | self.contents_of_tar('mozilla-universal-darwin.tgz', 'MacOS') | 343 | self.contents_of_tar('mozilla-universal-darwin.tgz', 'MacOS') |
365 | 344 | ||
345 | # copy additional libs in <bundle>/Contents/MacOS/ | ||
346 | self.path("../../libraries/universal-darwin/lib_release/libndofdev.dylib", dst="MacOS/libndofdev.dylib") | ||
347 | |||
366 | # replace the default theme with our custom theme (so scrollbars work). | 348 | # replace the default theme with our custom theme (so scrollbars work). |
367 | if self.prefix(src="mozilla-theme", dst="MacOS/chrome"): | 349 | if self.prefix(src="mozilla-theme", dst="MacOS/chrome"): |
368 | self.path("classic.jar") | 350 | self.path("classic.jar") |
@@ -387,9 +369,6 @@ class DarwinManifest(ViewerManifest): | |||
387 | # command line arguments for connecting to the proper grid | 369 | # command line arguments for connecting to the proper grid |
388 | self.put_in_file(self.flags_list(), 'arguments.txt') | 370 | self.put_in_file(self.flags_list(), 'arguments.txt') |
389 | 371 | ||
390 | # set the proper login url | ||
391 | self.replace_login_url() | ||
392 | |||
393 | self.end_prefix("Resources") | 372 | self.end_prefix("Resources") |
394 | 373 | ||
395 | self.end_prefix("Contents") | 374 | self.end_prefix("Contents") |
@@ -459,7 +438,7 @@ class LinuxManifest(ViewerManifest): | |||
459 | def construct(self): | 438 | def construct(self): |
460 | super(LinuxManifest, self).construct() | 439 | super(LinuxManifest, self).construct() |
461 | self.path("licenses-linux.txt","licenses.txt") | 440 | self.path("licenses-linux.txt","licenses.txt") |
462 | #self.path("res/ll_icon.ico","secondlife.ico") | 441 | self.path("res/ll_icon.png","secondlife_icon.png") |
463 | if self.prefix("linux_tools", ""): | 442 | if self.prefix("linux_tools", ""): |
464 | self.path("client-readme.txt","README-linux.txt") | 443 | self.path("client-readme.txt","README-linux.txt") |
465 | self.path("client-readme-voice.txt","README-linux-voice.txt") | 444 | self.path("client-readme-voice.txt","README-linux-voice.txt") |
@@ -471,15 +450,12 @@ class LinuxManifest(ViewerManifest): | |||
471 | 450 | ||
472 | # Create an appropriate gridargs.dat for this package, denoting required grid. | 451 | # Create an appropriate gridargs.dat for this package, denoting required grid. |
473 | self.put_in_file(self.flags_list(), 'gridargs.dat') | 452 | self.put_in_file(self.flags_list(), 'gridargs.dat') |
474 | # set proper login url | ||
475 | self.replace_login_url() | ||
476 | 453 | ||
477 | # stripping all the libs removes a few megabytes from the end-user package | 454 | # stripping all the libs removes a few megabytes from the end-user package |
478 | for s,d in self.file_list: | 455 | for s,d in self.file_list: |
479 | if re.search("lib/lib.+\.so.*", d): | 456 | if re.search("lib/lib.+\.so.*", d): |
480 | self.run_command('strip -S %s' % d) | 457 | self.run_command('strip -S %s' % d) |
481 | 458 | ||
482 | |||
483 | def package_finish(self): | 459 | def package_finish(self): |
484 | if(self.args.has_key('installer_name')): | 460 | if(self.args.has_key('installer_name')): |
485 | installer_name = self.args['installer_name'] | 461 | installer_name = self.args['installer_name'] |
@@ -491,6 +467,15 @@ class LinuxManifest(ViewerManifest): | |||
491 | else: | 467 | else: |
492 | installer_name += '_' + self.channel_oneword().upper() | 468 | installer_name += '_' + self.channel_oneword().upper() |
493 | 469 | ||
470 | # Fix access permissions | ||
471 | self.run_command(""" | ||
472 | find %(dst)s -type d | xargs chmod 755; | ||
473 | find %(dst)s -type f -perm 0700 | xargs chmod 0755; | ||
474 | find %(dst)s -type f -perm 0500 | xargs chmod 0555; | ||
475 | find %(dst)s -type f -perm 0600 | xargs chmod 0644; | ||
476 | find %(dst)s -type f -perm 0400 | xargs chmod 0444; | ||
477 | true""" % {'dst':self.get_dst_prefix() }) | ||
478 | |||
494 | # temporarily move directory tree so that it has the right name in the tarfile | 479 | # temporarily move directory tree so that it has the right name in the tarfile |
495 | self.run_command("mv %(dst)s %(inst)s" % {'dst':self.get_dst_prefix(),'inst':self.src_path_of(installer_name)}) | 480 | self.run_command("mv %(dst)s %(inst)s" % {'dst':self.get_dst_prefix(),'inst':self.src_path_of(installer_name)}) |
496 | # --numeric-owner hides the username of the builder for security etc. | 481 | # --numeric-owner hides the username of the builder for security etc. |