diff options
author | phillip.eby <phillip.eby@6015fed2-1504-0410-9fe1-9d1591cc4771> | 2007-09-26 17:03:39 +0000 |
---|---|---|
committer | phillip.eby <phillip.eby@6015fed2-1504-0410-9fe1-9d1591cc4771> | 2007-09-26 17:03:39 +0000 |
commit | bd687e82caa7842d5fb7dd8a11242b364efdf78a (patch) | |
tree | 53c4fcede85fc98a0f9cbb01db56abf8dda734c6 /setuptools/command | |
parent | ad637e3465090a6388fd17eeaaab3c3a71df02da (diff) | |
download | python-setuptools-bd687e82caa7842d5fb7dd8a11242b364efdf78a.tar.gz |
Fix cross-platform line-end problem with SOURCES.txt: distutils
doesn't expect manifest files to be shipped across platforms.
git-svn-id: http://svn.python.org/projects/sandbox/trunk/setuptools@58257 6015fed2-1504-0410-9fe1-9d1591cc4771
Diffstat (limited to 'setuptools/command')
-rwxr-xr-x | setuptools/command/egg_info.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py index f89dab7..290f0cd 100755 --- a/setuptools/command/egg_info.py +++ b/setuptools/command/egg_info.py @@ -8,7 +8,6 @@ from setuptools import Command from distutils.errors import * from distutils import log from setuptools.command.sdist import sdist -from distutils import file_util from distutils.util import convert_path from distutils.filelist import FileList from pkg_resources import parse_requirements, safe_name, parse_version, \ @@ -39,6 +38,7 @@ class egg_info(Command): + def initialize_options(self): self.egg_name = None self.egg_version = None @@ -271,6 +271,8 @@ class FileList(FileList): """File list that accepts only existing, platform-independent paths""" def append(self, item): + if item.endswith('\r'): # Fix older sdists built on Windows + item = item[:-1] path = convert_path(item) if os.path.exists(path): self.files.append(path) @@ -283,8 +285,6 @@ class FileList(FileList): - - class manifest_maker(sdist): template = "MANIFEST.in" @@ -319,7 +319,7 @@ class manifest_maker(sdist): files = self.filelist.files if os.sep!='/': files = [f.replace(os.sep,'/') for f in files] - self.execute(file_util.write_file, (self.manifest, files), + self.execute(write_file, (self.manifest, files), "writing manifest file '%s'" % self.manifest) def warn(self, msg): # suppress missing-file warnings from sdist @@ -347,13 +347,13 @@ class manifest_maker(sdist): self.filelist.exclude_pattern(sep+r'(RCS|CVS|\.svn)'+sep, is_regex=1) - - - - - - - +def write_file (filename, contents): + """Create a file with the specified name and write 'contents' (a + sequence of strings without line terminators) to it. + """ + f = open(filename, "wb") # always write POSIX-style manifest + f.write("\n".join(contents)) + f.close() |