summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2019-09-16 12:50:30 -0400
committerOz Linden <oz@lindenlab.com>2019-09-16 12:50:30 -0400
commit296480d552e36f6aae9d94129386d984781da2ef (patch)
tree2037521615b1ca88a40c6a5462e91883032bce3e /indra
parente241670694959833feaa0e667222b337095eb683 (diff)
SL-11598: viewer_manifest.py should fail if a viewer file is missing
Diffstat (limited to 'indra')
-rwxr-xr-xindra/lib/python/indra/util/llmanifest.py3
-rwxr-xr-xindra/newview/viewer_manifest.py34
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