diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/lib/python/indra/util/llmanifest.py | 18 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 25 | 
2 files changed, 28 insertions, 15 deletions
| diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py index 9cb830a2db..54049b5545 100755 --- a/indra/lib/python/indra/util/llmanifest.py +++ b/indra/lib/python/indra/util/llmanifest.py @@ -392,11 +392,21 @@ class LLManifest(object):              raise ManifestError, "Should be something at path " + path          self.created_paths.append(path) -    def put_in_file(self, contents, dst): +    def put_in_file(self, contents, dst, src=None):          # write contents as dst -        f = open(self.dst_path_of(dst), "wb") -        f.write(contents) -        f.close() +        dst_path = self.dst_path_of(dst) +        f = open(dst_path, "wb") +        try: +            f.write(contents) +        finally: +            f.close() + +        # Why would we create a file in the destination tree if not to include +        # it in the installer? The default src=None (plus the fact that the +        # src param is last) is to preserve backwards compatibility. +        if src: +            self.file_list.append([src, dst_path]) +        return dst_path      def replace_in(self, src, dst=None, searchdict={}):          if dst == None: diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 827a8f44c3..b9da6c9280 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -71,13 +71,13 @@ class ViewerManifest(LLManifest):                  # include the entire shaders directory recursively                  self.path("shaders")                  # include the extracted list of contributors -                contributor_names = self.extract_names("../../doc/contributions.txt") -                self.put_in_file(contributor_names, "contributors.txt") -                self.file_list.append(["../../doc/contributions.txt",self.dst_path_of("contributors.txt")]) +                contributions_path = "../../doc/contributions.txt" +                contributor_names = self.extract_names(contributions_path) +                self.put_in_file(contributor_names, "contributors.txt", src=contributions_path)                  # include the extracted list of translators -                translator_names = self.extract_names("../../doc/translations.txt") -                self.put_in_file(translator_names, "translators.txt") -                self.file_list.append(["../../doc/translations.txt",self.dst_path_of("translators.txt")]) +                translations_path = "../../doc/translations.txt" +                translator_names = self.extract_names(translations_path) +                self.put_in_file(translator_names, "translators.txt", src=translations_path)                  # include the list of Lindens (if any)                  #   see https://wiki.lindenlab.com/wiki/Generated_Linden_Credits                  linden_names_path = os.getenv("LINDEN_CREDITS") @@ -91,10 +91,9 @@ class ViewerManifest(LLManifest):                      else:                           # all names should be one line, but the join below also converts to a string                          linden_names = ', '.join(linden_file.readlines()) -                        self.put_in_file(linden_names, "lindens.txt") +                        self.put_in_file(linden_names, "lindens.txt", src=linden_names_path)                          linden_file.close()                          print "Linden names extracted from '%s'" % linden_names_path -                        self.file_list.append([linden_names_path,self.dst_path_of("lindens.txt")])                  # ... and the entire windlight directory                  self.path("windlight") @@ -113,14 +112,18 @@ class ViewerManifest(LLManifest):                      # no sourceid, no settings_install.xml file                      pass                  else: -                    if len(sourceid) > 0: -                        print "Using sourceid: " + sourceid +                    if sourceid:                          # Single-entry subset of the LLSD content of settings.xml                          content = dict(sourceid=dict(Comment='Identify referring agency to Linden web servers',                                                       Persist=1,                                                       Type='String',                                                       Value=sourceid)) -                        self.put_in_file(llsd.format_pretty_xml(content), "settings_install.xml") +                        # put_in_file(src=) need not be an actual pathname; it +                        # only needs to be non-empty +                        settings_install = self.put_in_file(llsd.format_pretty_xml(content), +                                                            "settings_install.xml", +                                                            src="environment") +                        print "Put sourceid '%s' in %s" % (sourceid, settings_install)                  self.end_prefix("app_settings") | 
