diff --git a/Build.py b/Build.py index 8adba93..d810067 100755 --- a/Build.py +++ b/Build.py @@ -697,16 +697,26 @@ class TOC(UserList.UserList): self.append(tpl) def append(self, tpl): try: - if not self.fltr.get(tpl[0]): + fn = tpl[0] + if tpl[2] == "BINARY": + # Normalize the case for binary files only (to avoid duplicates + # for different cases under Windows). We can't do that for + # Python files because the import semantic (even at runtime) + # depends on the case. + fn = os.path.normcase(fn) + if not self.fltr.get(fn): self.data.append(tpl) - self.fltr[tpl[0]] = 1 + self.fltr[fn] = 1 except TypeError: print "TOC found a %s, not a tuple" % tpl raise def insert(self, pos, tpl): - if not self.fltr.get(tpl[0]): + fn = tpl[0] + if tpl[2] == "BINARY": + fn = os.path.normcase(fn) + if not self.fltr.get(fn): self.data.insert(pos, tpl) - self.fltr[tpl[0]] = 1 + self.fltr[fn] = 1 def __add__(self, other): rslt = TOC(self.data) rslt.extend(other) diff --git a/doc/CHANGES.txt b/doc/CHANGES.txt index 93b8e96..2478c65 100644 --- a/doc/CHANGES.txt +++ b/doc/CHANGES.txt @@ -3,6 +3,9 @@ Changes since PyInstaller 1.3 ----------------------------- + Add import hooks for PyQt4 (thanks to Pascal Veret) + + Add fix for the very annoying "MSVCRT71 could not be extracted" bug, + which was caused by the DLL being packaged twice (thanks to Idris + Aykun). PyInstaller 1.3