diff options
Diffstat (limited to 'Tools/msi')
-rw-r--r-- | Tools/msi/msi.py | 19 | ||||
-rw-r--r-- | Tools/msi/msilib.py | 3 |
2 files changed, 12 insertions, 10 deletions
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py index 03ccc57..174a334 100644 --- a/Tools/msi/msi.py +++ b/Tools/msi/msi.py @@ -849,17 +849,18 @@ def generate_license(): import shutil, glob out = open("LICENSE.txt", "w") shutil.copyfileobj(open(os.path.join(srcdir, "LICENSE")), out) - for dir, file in (("bzip2","LICENSE"), - ("db", "LICENSE"), - ("openssl", "LICENSE"), - ("tcl", "license.terms"), - ("tk", "license.terms")): - out.write("\nThis copy of Python includes a copy of %s, which is licensed under the following terms:\n\n" % dir) - dirs = glob.glob(srcdir+"/../"+dir+"-*") + for name, pat, file in (("bzip2","bzip2-*", "LICENSE"), + ("Berkeley DB", "db-*", "LICENSE"), + ("openssl", "openssl-*", "LICENSE"), + ("Tcl", "tcl8*", "license.terms"), + ("Tk", "tk8*", "license.terms"), + ("Tix", "tix-*", "license.terms")): + out.write("\nThis copy of Python includes a copy of %s, which is licensed under the following terms:\n\n" % name) + dirs = glob.glob(srcdir+"/../"+pat) if not dirs: - raise ValueError, "Could not find "+srcdir+"/../"+dir+"-*" + raise ValueError, "Could not find "+srcdir+"/../"+pat if len(dirs) > 2: - raise ValueError, "Multiple copies of "+dir + raise ValueError, "Multiple copies of "+pat dir = dirs[0] shutil.copyfileobj(open(os.path.join(dir, file)), out) out.close() diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py index e5d73c7..9245a22 100644 --- a/Tools/msi/msilib.py +++ b/Tools/msi/msilib.py @@ -328,6 +328,7 @@ def make_id(str): #str = str.replace(".", "_") # colons are allowed str = str.replace(" ", "_") str = str.replace("-", "_") + str = str.replace("+", "_") if str[0] in string.digits: str = "_"+str assert re.match("^[A-Za-z_][A-Za-z0-9_.]*$", str), "FILE"+str @@ -472,6 +473,7 @@ class Directory: [(feature.id, component)]) def make_short(self, file): + file = re.sub(r'[\?|><:/*"+,;=\[\]]', '_', file) # restrictions on short names parts = file.split(".") if len(parts)>1: suffix = parts[-1].upper() @@ -500,7 +502,6 @@ class Directory: if pos in (10, 100, 1000): prefix = prefix[:-1] self.short_names.add(file) - assert not re.search(r'[\?|><:/*"+,;=\[\]]', file) # restrictions on short names return file def add_file(self, file, src=None, version=None, language=None): |