Commit 1e67d300 authored by Kazuhiko Shiozaki's avatar Kazuhiko Shiozaki

give the same permission but write as owner to group and other.

parent f91c2a08
...@@ -30,6 +30,7 @@ import setuptools.archive_util ...@@ -30,6 +30,7 @@ import setuptools.archive_util
import setuptools.command.setopt import setuptools.command.setopt
import setuptools.package_index import setuptools.package_index
import shutil import shutil
import stat
import struct import struct
import subprocess import subprocess
import sys import sys
...@@ -2079,14 +2080,25 @@ def _final_version(parsed_version): ...@@ -2079,14 +2080,25 @@ def _final_version(parsed_version):
return False return False
return True return True
def chmod(filepath):
# give the same permission but write as owner to group and other.
current_perm = os.stat(filepath).st_mode & \
(stat.S_IRWXU + stat.S_IRWXG + stat.S_IRWXO)
owner_perm = current_perm & stat.S_IRWXU
new_perm = (owner_perm + owner_perm / 0o010 + owner_perm / 0o100) & \
(~ 0o022)
if new_perm != current_perm:
os.chmod(filepath, new_perm)
def redo_pyc(egg): def redo_pyc(egg):
if not os.path.isdir(egg): if not os.path.isdir(egg):
return return
for dirpath, dirnames, filenames in os.walk(egg): for dirpath, dirnames, filenames in os.walk(egg):
for filename in filenames: for filename in filenames:
filepath = os.path.join(dirpath, filename)
chmod(filepath)
if not filename.endswith('.py'): if not filename.endswith('.py'):
continue continue
filepath = os.path.join(dirpath, filename)
if not (os.path.exists(filepath+'c') if not (os.path.exists(filepath+'c')
or os.path.exists(filepath+'o')): or os.path.exists(filepath+'o')):
# If it wasn't compiled, it may not be compilable # If it wasn't compiled, it may not be compilable
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment