diff options
author | Éric Araujo <merwok@netwok.org> | 2010-08-14 02:30:34 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2010-08-14 02:30:34 (GMT) |
commit | da668ff24fc7d959ad2938f128281dcc49d168d8 (patch) | |
tree | c3472aa284598314ea66b2319d744bf4d9ef6b53 /Lib/distutils/command/sdist.py | |
parent | e406ef41b162698478df3f7a000999debb7135f7 (diff) | |
download | cpython-da668ff24fc7d959ad2938f128281dcc49d168d8.zip cpython-da668ff24fc7d959ad2938f128281dcc49d168d8.tar.gz cpython-da668ff24fc7d959ad2938f128281dcc49d168d8.tar.bz2 |
Use a marker in generated MANIFEST files, don't touch files without it. Fixes #8688.
Diffstat (limited to 'Lib/distutils/command/sdist.py')
-rw-r--r-- | Lib/distutils/command/sdist.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py index f51d72f..818a452 100644 --- a/Lib/distutils/command/sdist.py +++ b/Lib/distutils/command/sdist.py @@ -335,8 +335,21 @@ class sdist(Command): by 'add_defaults()' and 'read_template()') to the manifest file named by 'self.manifest'. """ - self.execute(file_util.write_file, - (self.manifest, self.filelist.files), + if os.path.isfile(self.manifest): + fp = open(self.manifest) + try: + first_line = fp.readline() + finally: + fp.close() + + if first_line != '# file GENERATED by distutils, do NOT edit\n': + log.info("not writing to manually maintained " + "manifest file '%s'" % self.manifest) + return + + content = self.filelist.files[:] + content.insert(0, '# file GENERATED by distutils, do NOT edit') + self.execute(file_util.write_file, (self.manifest, content), "writing manifest file '%s'" % self.manifest) def read_manifest(self): |