Merged revisions 69415,69591,69593 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r69415 | benjamin.peterson | 2009-02-07 13:08:22 -0600 (Sat, 07 Feb 2009) | 1 line

  make destinsrc private
........
  r69591 | martin.v.loewis | 2009-02-13 14:26:16 -0600 (Fri, 13 Feb 2009) | 1 line

  Update Tix build procedure.
........
  r69593 | martin.v.loewis | 2009-02-13 14:51:48 -0600 (Fri, 13 Feb 2009) | 1 line

  Add optional code signing after merging.
........
diff --git a/Lib/shutil.py b/Lib/shutil.py
index d884d0a..7a84646 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -256,7 +256,7 @@
         os.rename(src, real_dst)
     except OSError:
         if os.path.isdir(src):
-            if destinsrc(src, dst):
+            if _destinsrc(src, dst):
                 raise Error("Cannot move a directory '%s' into itself '%s'." % (src, dst))
             copytree(src, real_dst, symlinks=True)
             rmtree(src)
@@ -264,7 +264,7 @@
             copy2(src, real_dst)
             os.unlink(src)
 
-def destinsrc(src, dst):
+def _destinsrc(src, dst):
     src = abspath(src)
     dst = abspath(dst)
     if not src.endswith(os.path.sep):
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index c7dd1b3..86c7b64 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -346,8 +346,8 @@
             for src, dst in [('srcdir', 'srcdir/dest')]:
                 src = os.path.join(TESTFN, src)
                 dst = os.path.join(TESTFN, dst)
-                self.assert_(shutil.destinsrc(src, dst),
-                             msg='destinsrc() wrongly concluded that '
+                self.assert_(shutil._destinsrc(src, dst),
+                             msg='_destinsrc() wrongly concluded that '
                              'dst (%s) is not in src (%s)' % (dst, src))
         finally:
             shutil.rmtree(TESTFN, ignore_errors=True)
@@ -358,8 +358,8 @@
             for src, dst in [('srcdir', 'src/dest'), ('srcdir', 'srcdir.new')]:
                 src = os.path.join(TESTFN, src)
                 dst = os.path.join(TESTFN, dst)
-                self.failIf(shutil.destinsrc(src, dst),
-                            msg='destinsrc() wrongly concluded that '
+                self.failIf(shutil._destinsrc(src, dst),
+                            msg='_destinsrc() wrongly concluded that '
                             'dst (%s) is in src (%s)' % (dst, src))
         finally:
             shutil.rmtree(TESTFN, ignore_errors=True)
diff --git a/PCbuild/build_tkinter.py b/PCbuild/build_tkinter.py
index 21e89cc..2d5797f 100644
--- a/PCbuild/build_tkinter.py
+++ b/PCbuild/build_tkinter.py
@@ -52,18 +52,18 @@
     if 1:
         os.chdir(os.path.join(ROOT, TK, "win"))
         if clean:
-            nmake("makefile.vc", "clean", TCLDIR=tcldir)
-        nmake("makefile.vc", TCLDIR=tcldir, MACHINE=machine)
-        nmake("makefile.vc", "install", TCLDIR=tcldir, INSTALLDIR=dest, MACHINE=machine)
+            nmake("makefile.vc", "clean", DEBUG=0, TCLDIR=tcldir)
+        nmake("makefile.vc", DEBUG=0, MACHINE=machine)
+        nmake("makefile.vc", "install", DEBUG=0, INSTALLDIR=dest, MACHINE=machine)
 
     # TIX
     if 1:
         # python9.mak is available at http://svn.python.org
         os.chdir(os.path.join(ROOT, TIX, "win"))
         if clean:
-            nmake("python9.mak", "clean")
-        nmake("python9.mak", MACHINE=machine, INSTALL_DIR=dest)
-        nmake("python9.mak", "install", INSTALL_DIR=dest)
+            nmake("python.mak", "clean")
+        nmake("python.mak", MACHINE=machine, INSTALL_DIR=dest)
+        nmake("python.mak", "install", INSTALL_DIR=dest)
 
 def main():
     if len(sys.argv) < 2 or sys.argv[1] not in ("Win32", "AMD64"):
diff --git a/Tools/msi/merge.py b/Tools/msi/merge.py
index 959978b..def3964 100644
--- a/Tools/msi/merge.py
+++ b/Tools/msi/merge.py
@@ -1,5 +1,6 @@
 import msilib,os,win32com,tempfile,sys

 PCBUILD="PCBuild"

+certname = None

 from config import *

 

 Win64 = "amd64" in PCBUILD

@@ -76,3 +77,8 @@
     db.Commit()

 

 merge(msi, "SharedCRT", "TARGETDIR", modules)

+

+# certname (from config.py) should be (a substring of)

+# 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, msi))