From: Jason R. Coombs Date: Fri, 14 Oct 2016 19:39:01 +0000 (-0400) Subject: Add case-sensitive file comparison for detecting/adding standard default files. X-Git-Tag: v3.7.0a1~2227 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22dd73a74b585501c5e9c7ed738cbedbaf2b2230;p=thirdparty%2FPython%2Fcpython.git Add case-sensitive file comparison for detecting/adding standard default files. --- diff --git a/Lib/distutils/command/sdist.py b/Lib/distutils/command/sdist.py index c66d82713d74..0cc01192f3d6 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) diff --git a/Misc/NEWS b/Misc/NEWS index 22b14fb31793..dfbf1677d6f0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -85,6 +85,11 @@ Core and Builtins Library ------- +- Distutils.sdist now looks for README and setup.py files with case + sensitivity. This behavior matches that found in Setuptools 6.0 and + later. See `setuptools 100 + `_ for rationale. + - Issue #24452: Make webbrowser support Chrome on Mac OS X. - Issue #20766: Fix references leaked by pdb in the handling of SIGINT