summaryrefslogtreecommitdiff
path: root/setuptools/command
diff options
context:
space:
mode:
authorphillip.eby <phillip.eby@6015fed2-1504-0410-9fe1-9d1591cc4771>2007-09-26 17:03:39 +0000
committerphillip.eby <phillip.eby@6015fed2-1504-0410-9fe1-9d1591cc4771>2007-09-26 17:03:39 +0000
commitbd687e82caa7842d5fb7dd8a11242b364efdf78a (patch)
tree53c4fcede85fc98a0f9cbb01db56abf8dda734c6 /setuptools/command
parentad637e3465090a6388fd17eeaaab3c3a71df02da (diff)
downloadpython-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-xsetuptools/command/egg_info.py22
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()