Commit 70e95ee6 authored by Jason R. Coombs's avatar Jason R. Coombs

When copying package data, make sure it's writable, but otherwise preserve the mode. Fixes #2041.

parent a3620a45
......@@ -7,6 +7,7 @@ import textwrap
import io
import distutils.errors
import itertools
import stat
from setuptools.extern import six
from setuptools.extern.six.moves import map, filter, filterfalse
......@@ -20,6 +21,10 @@ except ImportError:
"do nothing"
def make_writable(target):
os.chmod(target, os.stat(target).st_mode | stat.S_IWRITE)
class build_py(orig.build_py, Mixin2to3):
"""Enhanced 'build_py' command that includes data files with packages
......@@ -120,8 +125,8 @@ class build_py(orig.build_py, Mixin2to3):
target = os.path.join(build_dir, filename)
self.mkpath(os.path.dirname(target))
srcfile = os.path.join(src_dir, filename)
outf, copied = self.copy_file(
srcfile, target, preserve_mode=False)
outf, copied = self.copy_file(srcfile, target)
make_writable(target)
srcfile = os.path.abspath(srcfile)
if (copied and
srcfile in self.distribution.convert_2to3_doctests):
......
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