summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorLars Wirzenius <lars.wirzenius@codethink.co.uk>2013-03-12 11:34:32 +0000
committerJonathan Maw <jonathan.maw@codethink.co.uk>2013-03-12 14:01:39 +0000
commit9d7334dc99f85a21ce5e820162a16242f10f3dec (patch)
tree8995fe31b63c41731f33e8bd3f8d8e77500dc014 /setup.py
parent53e8289b810a9f3effb6b1b8f5d22f5fcbf37ca9 (diff)
downloadmorph-9d7334dc99f85a21ce5e820162a16242f10f3dec.tar.gz
Set exec permissions on installed deployment extensions
Reviewed-by: Jonathan Maw <jonathan.maw@codethink.co.uk>
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/setup.py b/setup.py
index b00b64a8..08c5a7fc 100644
--- a/setup.py
+++ b/setup.py
@@ -25,6 +25,7 @@ import glob
import os
import os.path
import shutil
+import stat
import subprocess
import cliapp
@@ -40,6 +41,18 @@ class GenerateResources(build):
self.generate_version()
build.run(self)
+ # Set exec permissions on deployment extensions.
+ for dirname, subdirs, basenames in os.walk('morphlib/exts'):
+ for basename in basenames:
+ orig = os.path.join(dirname, basename)
+ built = os.path.join('build/lib', dirname, basename)
+ st = os.lstat(orig)
+ bits = (st.st_mode &
+ (stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH))
+ if bits != 0:
+ st2 = os.lstat(built)
+ os.chmod(built, st2.st_mode | bits)
+
def generate_manpages(self):
self.announce('building manpages')
for x in ['morph']: