diff options
author | Oz Linden <oz@lindenlab.com> | 2019-09-16 12:50:30 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2019-09-16 12:50:30 -0400 |
commit | 296480d552e36f6aae9d94129386d984781da2ef (patch) | |
tree | 2037521615b1ca88a40c6a5462e91883032bce3e /indra | |
parent | e241670694959833feaa0e667222b337095eb683 (diff) |
SL-11598: viewer_manifest.py should fail if a viewer file is missing
Diffstat (limited to 'indra')
-rwxr-xr-x | indra/lib/python/indra/util/llmanifest.py | 3 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 34 |
2 files changed, 22 insertions, 15 deletions
diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py index 2e6cf53912..57788f6099 100755 --- a/indra/lib/python/indra/util/llmanifest.py +++ b/indra/lib/python/indra/util/llmanifest.py @@ -835,7 +835,8 @@ class LLManifest(object): tried.append(pfx) if not try_prefixes: # no more prefixes left to try - print "unable to find '%s'; looked in:\n %s" % (src, '\n '.join(tried)) + raise MissingError("unable to find '%s'; looked in:\n %s" % (src, '\n '.join(tried))) + print "%d files" % count # Let caller check whether we processed as many files as expected. In diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index fcb97ded8f..3f6a7124a4 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -46,7 +46,7 @@ viewer_dir = os.path.dirname(__file__) # Put it FIRST because some of our build hosts have an ancient install of # indra.util.llmanifest under their system Python! sys.path.insert(0, os.path.join(viewer_dir, os.pardir, "lib", "python")) -from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError +from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError, MissingError from llbase import llsd class ViewerManifest(LLManifest): @@ -176,9 +176,6 @@ class ViewerManifest(LLManifest): self.path("*.j2c") self.path("*.tga") - # File in the newview/ directory - self.path("gpu_table.txt") - #build_data.json. Standard with exception handling is fine. If we can't open a new file for writing, we have worse problems #platform is computed above with other arg parsing build_data_dict = {"Type":"viewer","Version":'.'.join(self.args['version']), @@ -524,7 +521,7 @@ class WindowsManifest(ViewerManifest): self.path('libaprutil-1.dll') self.path('libapriconv-1.dll') - except RuntimeError as err: + except MissingError as err: print err.message print "Skipping llcommon.dll (assuming llcommon was linked statically)" @@ -990,7 +987,7 @@ class DarwinManifest(ViewerManifest): with self.prefix(src=relpkgdir, dst=""): self.path("libndofdev.dylib") - self.path("libhunspell-1.3.0.dylib") + self.path("libhunspell-1.3.a") with self.prefix(src_dst="cursors_mac"): self.path("*.tif") @@ -1037,11 +1034,15 @@ class DarwinManifest(ViewerManifest): # (source, dest) pair to self.file_list for every expanded # file processed. Remember its size before the call. oldlen = len(self.file_list) - self.path(src, dst) - # The dest appended to self.file_list has been prepended - # with self.get_dst_prefix(). Strip it off again. - added = [os.path.relpath(d, self.get_dst_prefix()) - for s, d in self.file_list[oldlen:]] + try: + self.path(src, dst) + # The dest appended to self.file_list has been prepended + # with self.get_dst_prefix(). Strip it off again. + added = [os.path.relpath(d, self.get_dst_prefix()) + for s, d in self.file_list[oldlen:]] + except MissingError as err: + print >> sys.stderr, "Warning: "+err.msg + added = [] if not added: print "Skipping %s" % dst return added @@ -1076,8 +1077,8 @@ class DarwinManifest(ViewerManifest): # SLVoice and vivox lols, no symlinks needed for libfile in ( 'libortp.dylib', - 'libsndfile.dylib', - 'libvivoxoal.dylib', + #'libsndfile.dylib', + #'libvivoxoal.dylib', 'libvivoxsdk.dylib', 'libvivoxplatform.dylib', 'SLVoice', @@ -1596,4 +1597,9 @@ if __name__ == "__main__": dict(name='bugsplat', description="""BugSplat database to which to post crashes, if BugSplat crash reporting is desired""", default=''), ] - main(extra=extra_arguments) + try: + main(extra=extra_arguments) + except (ManifestError, MissingError) as err: + sys.exit("\nviewer_manifest.py failed: "+err.msg) + except: + raise |