From: Antoine Pitrou Date: Sat, 12 Nov 2011 00:33:59 +0000 (+0100) Subject: Issue #13193: Fix distutils.filelist.FileList under Windows. The X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=667383c8d4c9f2169536cafb5f56943c8ef852fe;p=python Issue #13193: Fix distutils.filelist.FileList under Windows. The "recursive-include" directive now recognizes both legal path separators. --- diff --git a/Lib/distutils/filelist.py b/Lib/distutils/filelist.py index 4aac6d397a..ebd1411817 100644 --- a/Lib/distutils/filelist.py +++ b/Lib/distutils/filelist.py @@ -328,7 +328,10 @@ def translate_pattern(pattern, anchor=1, prefix=None, is_regex=0): # ditch end of pattern character empty_pattern = glob_to_re('') prefix_re = glob_to_re(prefix)[:-len(empty_pattern)] - pattern_re = "^" + os.path.join(prefix_re, ".*" + pattern_re) + # match both path separators, as in Postel's principle + sep_pat = "[" + re.escape(os.path.sep + os.path.altsep + if os.path.altsep else os.path.sep) + "]" + pattern_re = "^" + sep_pat.join([prefix_re, ".*" + pattern_re]) else: # no prefix -- respect anchor flag if anchor: pattern_re = "^" + pattern_re diff --git a/Misc/NEWS b/Misc/NEWS index 9517677ee2..259d08a5f5 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -76,6 +76,9 @@ Core and Builtins Library ------- +- Issue #13193: Fix distutils.filelist.FileList under Windows. The + "recursive-include" directive now recognizes both legal path separators. + - Issue #13373: multiprocessing.Queue.get() could sometimes block indefinitely when called with a timeout. Patch by Arnaud Ysmal.