summaryrefslogtreecommitdiffstats
path: root/Tools/msi
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi')
-rw-r--r--Tools/msi/msi.py19
-rw-r--r--Tools/msi/msilib.py3
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):