summaryrefslogtreecommitdiffstats
path: root/Lib/distutils
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-10-14 19:39:01 (GMT)
committerJason R. Coombs <jaraco@jaraco.com>2016-10-14 19:39:01 (GMT)
commit22dd73a74b585501c5e9c7ed738cbedbaf2b2230 (patch)
tree7376b6598f2c5cdd6e46ef2aaca86540e5053247 /Lib/distutils
parent00e3cea34fd3c74b897f39d8bee4a701b75c79c2 (diff)
downloadcpython-22dd73a74b585501c5e9c7ed738cbedbaf2b2230.zip
cpython-22dd73a74b585501c5e9c7ed738cbedbaf2b2230.tar.gz
cpython-22dd73a74b585501c5e9c7ed738cbedbaf2b2230.tar.bz2
Add case-sensitive file comparison for detecting/adding standard default files.
Diffstat (limited to 'Lib/distutils')
-rw-r--r--Lib/distutils/command/sdist.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py
index c66d827..0cc0119 100644
--- a/Lib/distutils/command/sdist.py
+++ b/Lib/distutils/command/sdist.py
@@ -32,6 +32,24 @@ def show_formats():
FancyGetopt(formats).print_help(
"List of available source distribution formats:")
+
+def cs_path_exists(fspath):
+ """
+ Case-sensitive path existence check
+
+ >>> cs_path_exists(__file__)
+ True
+ >>> cs_path_exists(__file__.upper())
+ False
+ """
+ if not os.path.exists(fspath):
+ return False
+ # make absolute so we always have a directory
+ abspath = os.path.abspath(fspath)
+ directory, filename = os.path.split(abspath)
+ return filename in os.listdir(directory)
+
+
class sdist(Command):
description = "create a source distribution (tarball, zip file, etc.)"
@@ -235,7 +253,7 @@ class sdist(Command):
alts = fn
got_it = False
for fn in alts:
- if os.path.exists(fn):
+ if cs_path_exists(fn):
got_it = True
self.filelist.append(fn)
break
@@ -244,7 +262,7 @@ class sdist(Command):
self.warn("standard file not found: should have one of " +
', '.join(alts))
else:
- if os.path.exists(fn):
+ if cs_path_exists(fn):
self.filelist.append(fn)
else:
self.warn("standard file '%s' not found" % fn)