#22398 Tools/msi enhancements for 2.7
Fix build_tkinter.py.
Update msi.py to use environment vars and correct tcl/tk paths.
Update msilib.py to generate short names for files with multiple dots in the name.
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index fb57a43..ec6d3a2 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -13,7 +13,7 @@
# 0 for official python.org releases
# 1 for intermediate releases by anybody, with
# a new product code for every package.
-snapshot = 1
+snapshot = int(os.environ.get("SNAPSHOT", "1"))
# 1 means that file extension is px, not py,
# and binaries start with x
testpackage = 0
@@ -22,15 +22,15 @@
# Text to be displayed as the version in dialogs etc.
# goes into file name and ProductCode. Defaults to
# current_version.day for Snapshot, current_version otherwise
-full_current_version = None
+full_current_version = os.environ.get("CURRENT_VERSION")
# Is Tcl available at all?
have_tcl = True
# path to PCbuild directory
-PCBUILD="PCbuild"
+PCBUILD=os.environ.get("PCBUILD", "PCbuild")
# msvcrt version
MSVCR = "90"
# Name of certificate in default store to sign MSI with
-certname = None
+certname = os.environ.get("CERTNAME", None)
# Make a zip file containing the PDB files for this build?
pdbzip = True
@@ -894,8 +894,8 @@
for name, pat, file in (("bzip2","bzip2-*", "LICENSE"),
("Berkeley DB", "db-*", "LICENSE"),
("openssl", "openssl-*", "LICENSE"),
- ("Tcl", "tcl8*", "license.terms"),
- ("Tk", "tk8*", "license.terms"),
+ ("Tcl", "tcl-8*", "license.terms"),
+ ("Tk", "tk-8*", "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)
@@ -946,7 +946,7 @@
if not snapshot:
# For releases, the Python DLL has the same version as the
# installer package.
- assert pyversion.split(".")[:3] == current_version.split(".")
+ assert pyversion.split(".")[:3] == current_version.split("."), "%s != %s" % (pyversion, current_version)
dlldir.add_file("%s/python%s%s.dll" % (PCBUILD, major, minor),
version=pyversion,
language=installer.FileVersion(pydllsrc, 1))