From d9a4d1d5876203c17fa646c8908d15dfda99219a Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Tue, 1 Jan 2008 14:42:15 +0000 Subject: [PATCH] Merged revisions 59628-59641 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r59631 | christian.heimes | 2007-12-31 20:16:56 +0100 (Mon, 31 Dec 2007) | 1 line Fixed path ........ r59632 | christian.heimes | 2007-12-31 20:20:57 +0100 (Mon, 31 Dec 2007) | 1 line Fixed path to _ssl.c in Windows make file ........ r59633 | christian.heimes | 2007-12-31 20:23:22 +0100 (Mon, 31 Dec 2007) | 1 line Fixed path to _ssl.c in Windows make file, take two ........ r59634 | christian.heimes | 2007-12-31 20:25:22 +0100 (Mon, 31 Dec 2007) | 1 line Fixed path to _ssl.c in Windows make file, take three ... ........ r59635 | neal.norwitz | 2008-01-01 00:48:47 +0100 (Tue, 01 Jan 2008) | 1 line Fix refleak ........ r59637 | guido.van.rossum | 2008-01-01 05:15:29 +0100 (Tue, 01 Jan 2008) | 5 lines Fix an odd error which would only occur close to new year's eve, due to use of datetime.datetime.now() instead of utcnow() for comparison. (I think the test can still fail if it's executed pretty much *at* new year's eve, but that's not worth fixing.) ........ r59638 | christian.heimes | 2008-01-01 14:40:26 +0100 (Tue, 01 Jan 2008) | 1 line MSI uses back slashes as path separators ........ r59639 | christian.heimes | 2008-01-01 14:52:57 +0100 (Tue, 01 Jan 2008) | 1 line Added new wininst files to msi.py and adjusted some paths ........ r59640 | christian.heimes | 2008-01-01 14:58:16 +0100 (Tue, 01 Jan 2008) | 1 line The root of the project is two levels up from PC/VS7.1 ........ r59641 | christian.heimes | 2008-01-01 15:37:32 +0100 (Tue, 01 Jan 2008) | 1 line Added support for new Windows build dirs in PC/ to distutils.sysconfig ........ --- Lib/distutils/sysconfig.py | 4 ++++ Lib/sqlite3/test/types.py | 3 +-- Objects/descrobject.c | 1 + PC/VS7.1/_ssl.mak | 10 +++++----- PC/VS7.1/make_buildinfo.c | 12 ++++++------ Tools/msi/msi.py | 14 ++++++++------ 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py index ba89c3b8645d..4d790ccbe56e 100644 --- a/Lib/distutils/sysconfig.py +++ b/Lib/distutils/sysconfig.py @@ -27,6 +27,10 @@ project_base = os.path.dirname(os.path.abspath(sys.executable)) if os.name == "nt" and "pcbuild" in project_base[-8:].lower(): project_base = os.path.abspath(os.path.join(project_base, os.path.pardir)) +# PC/VS7.1 +if os.name == "nt" and "\\pc\\v" in project_base[-10:].lower(): + project_base = os.path.abspath(os.path.join(project_base, os.path.pardir, + os.path.pardir)) # python_build: (Boolean) if true, we're either building Python or # building an extension with an un-installed Python, so we use diff --git a/Lib/sqlite3/test/types.py b/Lib/sqlite3/test/types.py index 8845e0cb5987..46bed7d3e9c2 100644 --- a/Lib/sqlite3/test/types.py +++ b/Lib/sqlite3/test/types.py @@ -341,8 +341,7 @@ def CheckSqlTimestamp(self): if sqlite.sqlite_version_info < (3, 1): return - # SQLite's current_timestamp uses UTC time, while datetime.datetime.now() uses local time. - now = datetime.datetime.now() + now = datetime.datetime.utcnow() self.cur.execute("insert into test(ts) values (current_timestamp)") self.cur.execute("select ts from test") ts = self.cur.fetchone()[0] diff --git a/Objects/descrobject.c b/Objects/descrobject.c index ea471817c6f5..0926817b78a7 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -1204,6 +1204,7 @@ property_copy(PyObject *old, PyObject *get, PyObject *set, PyObject *del, } new = PyObject_CallFunction(type, "OOOO", get, set, del, doc); + Py_DECREF(type); if (new == NULL) return NULL; pnew = (propertyobject *)new; diff --git a/PC/VS7.1/_ssl.mak b/PC/VS7.1/_ssl.mak index 3420ef13f32b..8476a6379e24 100644 --- a/PC/VS7.1/_ssl.mak +++ b/PC/VS7.1/_ssl.mak @@ -12,25 +12,25 @@ CFLAGS=/Ox /MD /LD /DWIN32 SSL_LIB_DIR=$(SSL_DIR)/out32 !ENDIF -INCLUDES=-I ../Include -I ../PC -I $(SSL_DIR)/inc32 +INCLUDES=-I ../../Include -I ../../PC -I $(SSL_DIR)/inc32 SSL_LIBS=gdi32.lib wsock32.lib user32.lib advapi32.lib /LIBPATH:$(SSL_LIB_DIR) libeay32.lib ssleay32.lib -SSL_SOURCE=../Modules/_ssl.c +SSL_SOURCE=../../Modules/_ssl.c HASH_LIBS=gdi32.lib user32.lib advapi32.lib /libpath:$(SSL_LIB_DIR) libeay32.lib -HASH_SOURCE=../Modules/_hashopenssl.c +HASH_SOURCE=../../Modules/_hashopenssl.c all: _ssl$(SUFFIX) _hashlib$(SUFFIX) # Split compile/link into two steps to better support VSExtComp -_ssl$(SUFFIX): $(SSL_SOURCE) $(SSL_LIB_DIR)/libeay32.lib $(SSL_LIB_DIR)/ssleay32.lib ../PC/*.h ../Include/*.h +_ssl$(SUFFIX): $(SSL_SOURCE) $(SSL_LIB_DIR)/libeay32.lib $(SSL_LIB_DIR)/ssleay32.lib ../../PC/*.h ../../Include/*.h @if not exist "$(TEMP)/_ssl/." mkdir "$(TEMP)/_ssl" cl /nologo /c $(SSL_SOURCE) $(CFLAGS) /Fo$(TEMP)\_ssl\$*.obj $(INCLUDES) link /nologo @<< /dll /out:_ssl$(SUFFIX) $(TEMP)\_ssl\$*.obj $(SSL_LIBS) $(EXTRA_LIBS) << -_hashlib$(SUFFIX): $(HASH_SOURCE) $(SSL_LIB_DIR)/libeay32.lib ../PC/*.h ../Include/*.h +_hashlib$(SUFFIX): $(HASH_SOURCE) $(SSL_LIB_DIR)/libeay32.lib ../../PC/*.h ../../Include/*.h @if not exist "$(TEMP)/_hashlib/." mkdir "$(TEMP)/_hashlib" cl /nologo /c $(HASH_SOURCE) $(CFLAGS) $(EXTRA_CFLAGS) /Fo$(TEMP)\_hashlib\$*.obj $(INCLUDES) link /nologo @<< diff --git a/PC/VS7.1/make_buildinfo.c b/PC/VS7.1/make_buildinfo.c index 4cebf45ccd84..27580bb6066e 100644 --- a/PC/VS7.1/make_buildinfo.c +++ b/PC/VS7.1/make_buildinfo.c @@ -5,9 +5,9 @@ /* This file creates the getbuildinfo.o object, by first invoking subwcrev.exe (if found), and then invoking cl.exe. - As a side effect, it might generate PCBuild\getbuildinfo2.c + As a side effect, it might generate PC\VS7.1\getbuildinfo2.c also. If this isn't a subversion checkout, or subwcrev isn't - found, it compiles ..\\Modules\\getbuildinfo.c instead. + found, it compiles ..\\..\\Modules\\getbuildinfo.c instead. Currently, subwcrev.exe is found from the registry entries of TortoiseSVN. @@ -44,7 +44,7 @@ int make_buildinfo2() if (_stat(command+1, &st) < 0) /* subwcrev.exe not part of the release */ return 0; - strcat(command, "\" .. ..\\Modules\\getbuildinfo.c getbuildinfo2.c"); + strcat(command, "\" ..\\.. ..\\..\\Modules\\getbuildinfo.c getbuildinfo2.c"); puts(command); fflush(stdout); if (system(command) < 0) return 0; @@ -80,8 +80,8 @@ int main(int argc, char*argv[]) if ((do_unlink = make_buildinfo2())) strcat(command, "getbuildinfo2.c -DSUBWCREV "); else - strcat(command, "..\\Modules\\getbuildinfo.c"); - strcat(command, " -Fogetbuildinfo.o -I..\\Include -I..\\PC"); + strcat(command, "..\\..\\Modules\\getbuildinfo.c"); + strcat(command, " -Fogetbuildinfo.o -I..\\..\\Include -I..\\..\\PC"); puts(command); fflush(stdout); result = system(command); if (do_unlink) @@ -89,4 +89,4 @@ int main(int argc, char*argv[]) if (result < 0) return EXIT_FAILURE; return 0; -} \ No newline at end of file +} diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py index 9de57b53fee3..bedfade99a05 100644 --- a/Tools/msi/msi.py +++ b/Tools/msi/msi.py @@ -27,8 +27,8 @@ # Where is sqlite3.dll located, relative to srcdir? sqlite_dir = "../sqlite-source-3.3.4" # path to PCbuild directory -PCBUILD="PC/VS7.1" -#PCBUILD="PCbuild9" +PCBUILD="PC\\VS7.1" +#PCBUILD="PCbuild" # msvcrt version MSVCR = "71" #MSVCR = "90" @@ -335,7 +335,7 @@ def add_ui(db): if not os.path.exists(srcdir+r"\PC\python_icon.exe"): raise "Run icons.mak in PC directory" add_data(db, "Binary", - [("PythonWin", msilib.Binary(r"%s\%s\installer.bmp" % (srcdir, PCBUILD))), # 152x328 pixels + [("PythonWin", msilib.Binary(r"%s\PCbuild\installer.bmp" % srcdir)), # 152x328 pixels ("py.ico",msilib.Binary(srcdir+r"\PC\py.ico")), ]) add_data(db, "Icon", @@ -990,8 +990,10 @@ def add_files(db): lib.glob("*.gif") lib.add_file("idle.icns") if dir=="command" and parent.physical=="distutils": - lib.add_file("wininst-6.exe") + lib.add_file("wininst-6.0.exe") lib.add_file("wininst-7.1.exe") + lib.add_file("wininst-8.0.exe") + lib.add_file("wininst-9.0.exe") if dir=="setuptools": lib.add_file("cli.exe") lib.add_file("gui.exe") @@ -1009,8 +1011,8 @@ def add_files(db): # Add DLLs default_feature.set_current() lib = PyDirectory(db, cab, root, srcdir + "/" + PCBUILD, "DLLs", "DLLS|DLLs") - lib.add_file("py.ico", src="../PC/py.ico") - lib.add_file("pyc.ico", src="../PC/pyc.ico") + lib.add_file("py.ico", src=srcdir+"/PC/py.ico") + lib.add_file("pyc.ico", src=srcdir+"/PC/pyc.ico") dlls = [] tclfiles = [] for f in extensions: