summaryrefslogtreecommitdiff
path: root/indra/newview/viewer_manifest.py
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2018-10-22 19:59:07 -0400
committerNat Goodspeed <nat@lindenlab.com>2018-10-22 19:59:07 -0400
commit279073dbb3eb03fbe1f897bd142a53d7c4c5bc7d (patch)
tree64c1e2ea523ef851132a221a32f89980fbebc9cc /indra/newview/viewer_manifest.py
parentf55d3071e16f06c7afc0940928fa2e9a620556d9 (diff)
DRTVWR-447: Introduce LLManifest.process_either().
process_directory() and process_file() are reached both from the top-level caller (try_path(), a local function within LLManifest.path()) and recursively from process_directory(). Both places tested os.path.isdir(source), and if so called process_directory(), else process_file(). Both places were wrong, as it turns out. os.path.isdir(symlink_to_directory) returns True. That meant that despite explicit logic in ccopymumble() to recreate symlinks in the destination area, we were consistently recopying the contents of symlinked directories. The downside to this -- in addition to inflating the size of the installer! -- is that macOS is very particular about the structure of a Framework bundle. It *must* include a Versions/Current symlink identifying which of the other Versions subdirectories is, in fact, current. If Current is itself a subdirectory, codesign can't figure out how to sign the framework, and fails. The logic for deciding between process_directory() and process_file() must explicitly check for os.path.islink(source). Rather than replicating that change in both places, introduce process_either() which decides how to forward the call, and call it both from try_path() and from process_directory().
Diffstat (limited to 'indra/newview/viewer_manifest.py')
0 files changed, 0 insertions, 0 deletions