summaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2010-11-14 18:17:39 +0000
committerMartin v. Löwis <martin@v.loewis.de>2010-11-14 18:17:39 +0000
commit580b014b3ef3522e6cb852189fc411edc913753b (patch)
treefa5125882ae2819163e67b1627105195e7a3079b /Tools
parent0a6b4d8ec86eaa44e5665c81e9511c7864c794ca (diff)
downloadcpython-580b014b3ef3522e6cb852189fc411edc913753b.tar.gz
Merged revisions 84487 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r84487 | martin.v.loewis | 2010-09-04 16:38:09 +0200 (Sa, 04 Sep 2010) | 3 lines Issue #1303434: Include PDBs in release. Patch by James Lee and Daniel Stutzbach. ........
Diffstat (limited to 'Tools')
-rw-r--r--Tools/msi/msi.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py
index d50b1aa3b8..d9882831fc 100644
--- a/Tools/msi/msi.py
+++ b/Tools/msi/msi.py
@@ -1,7 +1,7 @@
# Python MSI Generator
# (C) 2003 Martin v. Loewis
# See "FOO" in comments refers to MSDN sections with the title FOO.
-import msilib, schema, sequence, os, glob, time, re, shutil
+import msilib, schema, sequence, os, glob, time, re, shutil, zipfile
from msilib import Feature, CAB, Directory, Dialog, Binary, add_data
import uisample
from win32com.client import constants
@@ -31,6 +31,8 @@ PCBUILD="PCbuild"
MSVCR = "90"
# Name of certificate in default store to sign MSI with
certname = None
+# Make a zip file containing the PDB files for this build?
+pdbzip = True
try:
from config import *
@@ -1297,6 +1299,16 @@ def add_registry(db):
])
db.Commit()
+def build_pdbzip():
+ pdbexclude = ['kill_python.pdb', 'make_buildinfo.pdb',
+ 'make_versioninfo.pdb']
+ path = "python-%s%s-pdb.zip" % (full_current_version, msilib.arch_ext)
+ pdbzip = zipfile.ZipFile(path, 'w')
+ for f in glob.glob1(os.path.join(srcdir, PCBUILD), "*.pdb"):
+ if f not in pdbexclude and not f.endswith('_d.pdb'):
+ pdbzip.write(os.path.join(srcdir, PCBUILD, f), f)
+ pdbzip.close()
+
db,msiname = build_database()
try:
add_features(db)
@@ -1379,3 +1391,6 @@ merge(msiname, "SharedCRT", "TARGETDIR", modules)
# the certificate subject, e.g. "Python Software Foundation"
if certname:
os.system('signtool sign /n "%s" /t http://timestamp.verisign.com/scripts/timestamp.dll %s' % (certname, msiname))
+
+if pdbzip:
+ build_pdbzip()