From bbbaca2af1b16747b04bd2013ad1407c4be34ff8 Mon Sep 17 00:00:00 2001
From: Christian Goetze <cg@lindenlab.com>
Date: Thu, 27 Mar 2008 21:07:50 +0000
Subject: [PATCH] Add dir_list attribute, populate it and use it to set access
 permissions

---
 indra/lib/python/indra/util/llmanifest.py | 2 ++
 indra/newview/viewer_manifest.py          | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/indra/lib/python/indra/util/llmanifest.py b/indra/lib/python/indra/util/llmanifest.py
index 9679650104..858034bad6 100644
--- a/indra/lib/python/indra/util/llmanifest.py
+++ b/indra/lib/python/indra/util/llmanifest.py
@@ -238,6 +238,7 @@ class LLManifest(object):
     def __init__(self, srctree, dsttree, args):
         super(LLManifest, self).__init__()
         self.args = args
+        self.dir_list = []
         self.file_list = []
         self.excludes = []
         self.actions = []
@@ -424,6 +425,7 @@ class LLManifest(object):
         if(not self.includes(src, dst)):
             print "Excluding: ", src, dst
             return
+        self.dir_list.append([src, dst])
         names = os.listdir(src)
         self.cmakedirs(dst)
         errors = []
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index e87fe8d8ff..1d89b6cf18 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -479,6 +479,15 @@ class LinuxManifest(ViewerManifest):
                         if re.search("lib/lib.+\.so.*", d):
                                 self.run_command('strip -S %s' % d)
 
+        # Fixing access permissions
+        for s,d in self.dir_list:
+            self.run_command("chmod 755 '%s'" % d)
+        for s,d in self.file_list:
+            if os.access(d, os.X_OK):
+                self.run_command("chmod 755 '%s'" % d)
+            else:
+                self.run_command("chmod 644 '%s'" % d) 
+
 
         def package_finish(self):
                 if(self.args.has_key('installer_name')):
-- 
GitLab