From: Martin v. Löwis Date: Sun, 14 Nov 2010 18:17:39 +0000 (+0000) Subject: Merged revisions 84487 via svnmerge from X-Git-Tag: v2.7.1~70 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=eebd0173b6b7e8aeacbfcae6bb28dcdc8907e33f;p=python 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. ........ --- diff --git a/Misc/NEWS b/Misc/NEWS index b45fe76793..da50fa2797 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -15,6 +15,11 @@ Library - Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru. +Build +----- + +- Issue #1303434: Generate ZIP file containing all PDBs. + What's New in Python 2.7.1 release candidate 1? =============================================== 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()