[Python-checkins] cpython (2.7): #22398 Tools/msi enhancements for 2.7
steve.dower
python-checkins at python.org
Fri Sep 12 22:19:01 CEST 2014
http://hg.python.org/cpython/rev/5c55a7bfec0c
changeset: 92411:5c55a7bfec0c
branch: 2.7
parent: 92406:97f1ee2264bb
user: Steve Dower <steve.dower at microsoft.com>
date: Fri Sep 12 11:48:13 2014 -0700
summary:
#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.
files:
PCbuild/build_tkinter.py | 2 +-
Tools/msi/msi.py | 14 +++++++-------
Tools/msi/msilib.py | 7 +------
3 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/PCbuild/build_tkinter.py b/PCbuild/build_tkinter.py
--- a/PCbuild/build_tkinter.py
+++ b/PCbuild/build_tkinter.py
@@ -23,7 +23,7 @@
'%s %s')
def nmake(makefile, command="", **kw):
- defines = ' '.join(k+'='+v for k, v in kw.items())
+ defines = ' '.join('%s=%s' % i for i in kw.items())
cmd = NMAKE % (makefile, defines, command)
print("\n\n"+cmd+"\n")
if os.system(cmd) != 0:
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
--- 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))
diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py
--- a/Tools/msi/msilib.py
+++ b/Tools/msi/msilib.py
@@ -484,12 +484,7 @@
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()
- else:
- suffix = None
- prefix = parts[0].upper()
+ prefix, _, suffix = file.upper().rpartition(".")
if len(prefix) <= 8 and (not suffix or len(suffix)<=3):
if suffix:
file = prefix+"."+suffix
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list