From c8358273aec3915c13597c0c5cb5d633589c9da0 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 8 Mar 2015 09:42:25 -0400 Subject: [PATCH 1/5] indicate correct version (closes #23608) --- Doc/library/ssl.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst index bb30d0fad15..e37357fae70 100644 --- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -535,7 +535,7 @@ Constants prefer trusted certificates when building the trust chain to validate a certificate. This flag is enabled by default. - .. versionadded:: 3.4.5 + .. versionadded:: 3.4.4 .. data:: PROTOCOL_SSLv23 From 5bd7bf5bab3a961a3952e36b053eb93818553e13 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Sun, 8 Mar 2015 20:43:10 +0100 Subject: [PATCH 2/5] Issue #22980: Under Linux, C extensions now include bitness in the file name, to make it easy to test 32-bit and 64-bit builds in the same working tree. --- Lib/test/test_sysconfig.py | 6 ++++++ Misc/NEWS | 4 ++++ configure | 10 +++++++++- configure.ac | 10 +++++++++- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py index 804c4467169..3711784c4f8 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -389,6 +389,12 @@ class TestSysConfig(unittest.TestCase): self.assertIsNotNone(vars['SO']) self.assertEqual(vars['SO'], vars['EXT_SUFFIX']) + @unittest.skipUnless(sys.platform == 'linux', 'Linux-specific test') + def test_bitness_in_ext_suffix(self): + suffix = sysconfig.get_config_var('EXT_SUFFIX') + bitness = '-32b' if sys.maxsize < 2**32 else '-64b' + self.assertTrue(suffix.endswith(bitness + '.so'), suffix) + class MakefileTests(unittest.TestCase): diff --git a/Misc/NEWS b/Misc/NEWS index 343cf8f0c26..aa8237d9a14 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -10,6 +10,10 @@ Release date: 2015-03-08 Core and Builtins ----------------- +- Issue #22980: Under Linux, C extensions now include bitness in the file + name, to make it easy to test 32-bit and 64-bit builds in the same + working tree. + - Issue #23571: PyObject_Call() and PyCFunction_Call() now raise a SystemError if a function returns a result and raises an exception. The SystemError is chained to the previous exception. diff --git a/configure b/configure index 799c6c47045..d91a9c7cbc4 100755 --- a/configure +++ b/configure @@ -14200,7 +14200,15 @@ $as_echo_n "checking ABIFLAGS... " >&6; } $as_echo "$ABIFLAGS" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5 $as_echo_n "checking SOABI... " >&6; } -SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS} + +case $ac_sys_system in + Linux*|GNU*) + BITNESS_SUFFIX=-$(($ac_cv_sizeof_void_p * 8))b;; + *) + BITNESS_SUFFIX=;; +esac +SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${BITNESS_SUFFIX} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SOABI" >&5 $as_echo "$SOABI" >&6; } diff --git a/configure.ac b/configure.ac index 263ae15555c..c9bb90bd0be 100644 --- a/configure.ac +++ b/configure.ac @@ -4175,7 +4175,15 @@ AC_SUBST(SOABI) AC_MSG_CHECKING(ABIFLAGS) AC_MSG_RESULT($ABIFLAGS) AC_MSG_CHECKING(SOABI) -SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS} + +case $ac_sys_system in + Linux*|GNU*) + BITNESS_SUFFIX=-$(($ac_cv_sizeof_void_p * 8))b;; + *) + BITNESS_SUFFIX=;; +esac +SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${BITNESS_SUFFIX} + AC_MSG_RESULT($SOABI) AC_SUBST(EXT_SUFFIX) From 1872f93fd128161a7ebebf1a479dc31a6b5eb434 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Sun, 8 Mar 2015 12:59:00 -0700 Subject: [PATCH 3/5] Minor updates to Windows installer upload script. --- Tools/msi/uploadrelease.bat | 3 ++- Tools/msi/uploadrelease.proj | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Tools/msi/uploadrelease.bat b/Tools/msi/uploadrelease.bat index 2064a67a4a6..c91d229475e 100644 --- a/Tools/msi/uploadrelease.bat +++ b/Tools/msi/uploadrelease.bat @@ -30,9 +30,10 @@ if not defined PSCP echo Cannot locate pscp.exe & exit /B 1 echo Found pscp.exe at %PSCP% call "%PCBUILD%env.bat" > nul 2> nul +pushd "%D%" msbuild /v:m /nologo uploadrelease.proj /t:Upload /p:Platform=x86 msbuild /v:m /nologo uploadrelease.proj /t:Upload /p:Platform=x64 /p:IncludeDoc=false - +popd exit /B 0 :Help diff --git a/Tools/msi/uploadrelease.proj b/Tools/msi/uploadrelease.proj index a3ebe573b2c..56aff4ace5a 100644 --- a/Tools/msi/uploadrelease.proj +++ b/Tools/msi/uploadrelease.proj @@ -41,14 +41,14 @@ From c49de355850dd4c68a1a0b1f2aa19869d20d62fe Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Sun, 8 Mar 2015 15:29:39 -0700 Subject: [PATCH 4/5] Issue #23612: Fixes upgrade code and version for Windows installer. --- Tools/msi/bundle/Default.thm | 2 +- Tools/msi/bundle/bundle.wxs | 4 ++-- Tools/msi/msi.props | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Tools/msi/bundle/Default.thm b/Tools/msi/bundle/Default.thm index 3d7523a0454..d165e2b515a 100644 --- a/Tools/msi/bundle/Default.thm +++ b/Tools/msi/bundle/Default.thm @@ -115,7 +115,7 @@ #(loc.FailureHyperlinkLogText) - Failure Message + #(loc.FailureRestartText) diff --git a/Tools/msi/bundle/bundle.wxs b/Tools/msi/bundle/bundle.wxs index 4892ebb8387..ef9ed13f586 100644 --- a/Tools/msi/bundle/bundle.wxs +++ b/Tools/msi/bundle/bundle.wxs @@ -2,11 +2,11 @@ diff --git a/Tools/msi/msi.props b/Tools/msi/msi.props index cbaa6b14561..9fa80f3684e 100644 --- a/Tools/msi/msi.props +++ b/Tools/msi/msi.props @@ -62,7 +62,7 @@ 64-bit $(DefineConstants); - Version=$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber).$(RevisionNumber); + Version=$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0; ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber); LongVersion=$(PythonVersion); MajorVersionNumber=$(MajorVersionNumber); @@ -142,7 +142,7 @@ - <_Uuids>@(_Uuid->'("%(Identity)", "%(Uri)")',',') + <_Uuids>@(_Uuid->'("%(Identity)", "$(MajorVersionNumber).$(MinorVersionNumber)/%(Uri)")',',') <_GenerateCommand>import uuid; print('\n'.join('{}={}'.format(i, uuid.uuid5(uuid.UUID('c8d9733e-a70c-43ff-ab0c-e26456f11083'), '$(ReleaseUri)' + j)) for i,j in [$(_Uuids.Replace(`"`,`'`))])) From 8be2142377ffd2473f522222968a87aad04adea8 Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Mon, 9 Mar 2015 01:55:02 -0700 Subject: [PATCH 5/5] Issue #23617: Correct plurals typo noted by Kentrell Johnson. --- Doc/library/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/library/index.rst b/Doc/library/index.rst index ac7ab91a29b..a925e10ee49 100644 --- a/Doc/library/index.rst +++ b/Doc/library/index.rst @@ -20,7 +20,7 @@ everyday programming. Some of these modules are explicitly designed to encourage and enhance the portability of Python programs by abstracting away platform-specifics into platform-neutral APIs. -The Python installers for the Windows platform usually includes +The Python installers for the Windows platform usually include the entire standard library and often also include many additional components. For Unix-like operating systems Python is normally provided as a collection of packages, so it may be necessary to use the packaging