From 72e5474c725bd965a86f1055373400d8a44ee972 Mon Sep 17 00:00:00 2001 From: Denis Silakov Date: Thu, 4 Feb 2016 17:12:52 +0300 Subject: [PATCH] Updated to 3.5.1 --- .abf.yml | 3 +- python3-3.3.0-fdr-lib64.patch | 192 --------------- python3-3.4.2-distutils-init.patch | 47 ++++ ...3.5.0-add-rpmbuild-hooks-to-unittest.patch | 5 +- ...3.5.0-fdr-lib64-fix-for-test_install.patch | 8 +- ...b64.patch => python3-3.5.0-fdr-lib64.patch | 229 +++++++++--------- python3-3.5.0-make-libpl-respect-lib64.patch | 12 + ...atch => python3-3.5.0-module-linkage.patch | 10 +- ...patch => python3-3.5.0-no-static-lib.patch | 22 +- python3.spec | 29 ++- 10 files changed, 218 insertions(+), 339 deletions(-) delete mode 100644 python3-3.3.0-fdr-lib64.patch create mode 100644 python3-3.4.2-distutils-init.patch rename python3-3.4.0-add-rpmbuild-hooks-to-unittest.patch => python3-3.5.0-add-rpmbuild-hooks-to-unittest.patch (95%) rename python3-3.4.0-fdr-lib64-fix-for-test_install.patch => python3-3.5.0-fdr-lib64-fix-for-test_install.patch (63%) rename python3-3.4.0-fdr-lib64.patch => python3-3.5.0-fdr-lib64.patch (73%) create mode 100644 python3-3.5.0-make-libpl-respect-lib64.patch rename python-3.3.0-module-linkage.patch => python3-3.5.0-module-linkage.patch (95%) rename python3-3.4.0-no-static-lib.patch => python3-3.5.0-no-static-lib.patch (69%) diff --git a/.abf.yml b/.abf.yml index a40eaa6..cd1c62d 100644 --- a/.abf.yml +++ b/.abf.yml @@ -6,6 +6,7 @@ removed_sources: Python-3.3.4.tar.xz: 2c9586eeb4b6e45e9ebc28372c0856c709d9a522 Python-3.4.1.tar.xz: 143e098efe7ee7bec8a4904ec4b322f28a067a03 Python-3.4.2.tar.xz: 0727d8a8498733baabe6f51632b9bab0cbaa9ada + Python-3.4.3.tar.xz: 7ca5cd664598bea96eec105aa6453223bb6b4456 python-3.3.0-docs-html.tar.bz2: 5299b1523ede931767199a5b13388a5bf35351d5 python-3.3.1-docs-html.tar.bz2: 55c3b3f3453346835b0df2b3b0ad7fe20833a7f7 python-3.3.2-docs-html.tar.bz2: 514e1a0810fa9e6433f4bc64bdc0ad407d49ebc5 @@ -14,5 +15,5 @@ removed_sources: python-3.4.0-docs-html.tar.bz2: d6e8f45219353b128f002f3a7311ec4e08c0ca49 python-3.4.1-docs-html.tar.bz2: acc5911f0e41774788121064e004941e6090542a sources: - Python-3.4.3.tar.xz: 7ca5cd664598bea96eec105aa6453223bb6b4456 + Python-3.5.1.tar.xz: 0186da436db76776196612b98bb9c2f76acfe90e python-3.4.2-docs-html.tar.bz2: 29fd43d785d545959b744ba44c9cbe314c12804b diff --git a/python3-3.3.0-fdr-lib64.patch b/python3-3.3.0-fdr-lib64.patch deleted file mode 100644 index 166b368..0000000 --- a/python3-3.3.0-fdr-lib64.patch +++ /dev/null @@ -1,192 +0,0 @@ ---- Python-3.4.1/Lib/distutils/command/install.py.lib64 2014-05-19 07:19:37.000000000 +0200 -+++ Python-3.4.1/Lib/distutils/command/install.py 2014-06-12 16:30:38.864248876 +0200 -@@ -45,14 +45,14 @@ else: - INSTALL_SCHEMES = { - 'unix_prefix': { - 'purelib': '$base/lib/python$py_version_short/site-packages', -- 'platlib': '$platbase/lib/python$py_version_short/site-packages', -+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages', - 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', - }, - 'unix_home': { - 'purelib': '$base/lib/python', -- 'platlib': '$base/lib/python', -+ 'platlib': '$base/lib64/python', - 'headers': '$base/include/python/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', ---- Python-3.4.1/Lib/distutils/sysconfig.py.lib64 2014-05-19 07:19:38.000000000 +0200 -+++ Python-3.4.1/Lib/distutils/sysconfig.py 2014-06-12 16:30:38.864248876 +0200 -@@ -141,8 +141,12 @@ def get_python_lib(plat_specific=0, stan - prefix = plat_specific and EXEC_PREFIX or PREFIX - - if os.name == "posix": -+ if plat_specific or standard_lib: -+ lib = "lib64" -+ else: -+ lib = "lib" - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib, "python" + get_python_version()) - if standard_lib: - return libpython - else: ---- Python-3.4.1/Lib/site.py.lib64 2014-06-12 16:30:38.864248876 +0200 -+++ Python-3.4.1/Lib/site.py 2014-06-12 16:32:54.348555089 +0200 -@@ -304,12 +304,16 @@ def getsitepackages(prefixes=None): - seen.add(prefix) - - if os.sep == '/': -+ sitepackages.append(os.path.join(prefix, "lib64", -+ "python" + sys.version[:3], -+ "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", - "python" + sys.version[:3], - "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", "site-python")) - else: - sitepackages.append(prefix) -+ sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", "site-packages")) - if sys.platform == "darwin": - # for framework builds *only* we add the standard Apple ---- Python-3.4.1/Lib/sysconfig.py.lib64 2014-05-19 07:19:38.000000000 +0200 -+++ Python-3.4.1/Lib/sysconfig.py 2014-06-12 16:30:38.865248863 +0200 -@@ -20,10 +20,10 @@ __all__ = [ - - _INSTALL_SCHEMES = { - 'posix_prefix': { -- 'stdlib': '{installed_base}/lib/python{py_version_short}', -- 'platstdlib': '{platbase}/lib/python{py_version_short}', -+ 'stdlib': '{installed_base}/lib64/python{py_version_short}', -+ 'platstdlib': '{platbase}/lib64/python{py_version_short}', - 'purelib': '{base}/lib/python{py_version_short}/site-packages', -- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', -+ 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages', - 'include': - '{installed_base}/include/python{py_version_short}{abiflags}', - 'platinclude': -@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = { - 'data': '{userbase}', - }, - 'posix_user': { -- 'stdlib': '{userbase}/lib/python{py_version_short}', -- 'platstdlib': '{userbase}/lib/python{py_version_short}', -+ 'stdlib': '{userbase}/lib64/python{py_version_short}', -+ 'platstdlib': '{userbase}/lib64/python{py_version_short}', - 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', -- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', -+ 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages', - 'include': '{userbase}/include/python{py_version_short}', - 'scripts': '{userbase}/bin', - 'data': '{userbase}', ---- Python-3.4.1/Lib/test/test_site.py.lib64 2014-05-19 07:19:38.000000000 +0200 -+++ Python-3.4.1/Lib/test/test_site.py 2014-06-12 16:30:38.864248876 +0200 -@@ -243,12 +243,15 @@ class HelperFunctionsTests(unittest.Test - self.assertEqual(dirs[2], wanted) - elif os.sep == '/': - # OS X non-framwework builds, Linux, FreeBSD, etc -- self.assertEqual(len(dirs), 2) -- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], -+ self.assertEqual(len(dirs), 3) -+ wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3], - 'site-packages') - self.assertEqual(dirs[0], wanted) -- wanted = os.path.join('xoxo', 'lib', 'site-python') -+ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], -+ 'site-packages') - self.assertEqual(dirs[1], wanted) -+ wanted = os.path.join('xoxo', 'lib', 'site-python') -+ self.assertEqual(dirs[2], wanted) - else: - # other platforms - self.assertEqual(len(dirs), 2) ---- Python-3.4.1/Makefile.pre.in.lib64 2014-05-19 07:19:39.000000000 +0200 -+++ Python-3.4.1/Makefile.pre.in 2014-06-12 16:30:38.864248876 +0200 -@@ -115,7 +115,7 @@ LIBDIR= @libdir@ - MANDIR= @mandir@ - INCLUDEDIR= @includedir@ - CONFINCLUDEDIR= $(exec_prefix)/include --SCRIPTDIR= $(prefix)/lib -+SCRIPTDIR= $(prefix)/lib64 - ABIFLAGS= @ABIFLAGS@ - - # Detailed destination directories ---- Python-3.4.1/Modules/getpath.c.lib64 2014-05-19 07:19:39.000000000 +0200 -+++ Python-3.4.1/Modules/getpath.c 2014-06-12 16:31:35.644539024 +0200 -@@ -118,8 +118,8 @@ - #endif - - #ifndef PYTHONPATH --#define PYTHONPATH PREFIX "/lib/python" VERSION ":" \ -- EXEC_PREFIX "/lib/python" VERSION "/lib-dynload" -+#define PYTHONPATH PREFIX "/lib64/python" VERSION ":" \ -+ EXEC_PREFIX "/lib64/python" VERSION "/lib-dynload" - #endif - - #ifndef LANDMARK -@@ -494,7 +494,7 @@ calculate_path(void) - _pythonpath = _Py_char2wchar(PYTHONPATH, NULL); - _prefix = _Py_char2wchar(PREFIX, NULL); - _exec_prefix = _Py_char2wchar(EXEC_PREFIX, NULL); -- lib_python = _Py_char2wchar("lib/python" VERSION, NULL); -+ lib_python = _Py_char2wchar("lib64/python" VERSION, NULL); - - if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) { - Py_FatalError( -@@ -683,7 +683,7 @@ calculate_path(void) - } - else - wcsncpy(zip_path, _prefix, MAXPATHLEN); -- joinpath(zip_path, L"lib/python00.zip"); -+ joinpath(zip_path, L"lib64/python00.zip"); - bufsz = wcslen(zip_path); /* Replace "00" with version */ - zip_path[bufsz - 6] = VERSION[0]; - zip_path[bufsz - 5] = VERSION[2]; -@@ -695,7 +695,7 @@ calculate_path(void) - fprintf(stderr, - "Could not find platform dependent libraries \n"); - wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); -- joinpath(exec_prefix, L"lib/lib-dynload"); -+ joinpath(exec_prefix, L"lib64/lib-dynload"); - } - /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ - ---- Python-3.4.1/setup.py.lib64 2014-06-12 16:30:38.863248888 +0200 -+++ Python-3.4.1/setup.py 2014-06-12 16:30:38.864248876 +0200 -@@ -381,7 +381,7 @@ class PyBuildExt(build_ext): - - if multiarch_path_component != '': - add_dir_to_list(self.compiler.library_dirs, -- '/usr/lib/' + multiarch_path_component) -+ '/usr/lib64/' + multiarch_path_component) - add_dir_to_list(self.compiler.include_dirs, - '/usr/include/' + multiarch_path_component) - return -@@ -722,11 +722,11 @@ class PyBuildExt(build_ext): - elif curses_library: - readline_libs.append(curses_library) - elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -+ ['/usr/lib64/termcap'], - 'termcap'): - readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], -+ library_dirs=['/usr/lib64/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) - else: -@@ -763,8 +763,8 @@ class PyBuildExt(build_ext): - if krb5_h: - ssl_incs += krb5_h - ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, -- ['/usr/local/ssl/lib', -- '/usr/contrib/ssl/lib/' -+ ['/usr/local/ssl/lib64', -+ '/usr/contrib/ssl/lib64/' - ] ) - - if (ssl_incs is not None and diff --git a/python3-3.4.2-distutils-init.patch b/python3-3.4.2-distutils-init.patch new file mode 100644 index 0000000..5d0ba49 --- /dev/null +++ b/python3-3.4.2-distutils-init.patch @@ -0,0 +1,47 @@ +# From Debian: Use _sysconfigdata.py in distutils to initialize distutils + +--- a/Lib/distutils/sysconfig.py 2015-08-29 18:10:19.904450919 +0200 ++++ a/Lib/distutils/sysconfig.py 2015-08-29 18:14:53.452695881 +0200 +@@ -431,38 +431,11 @@ + + def _init_posix(): + """Initialize the module as appropriate for POSIX systems.""" +- g = {} +- # load the installed Makefile: +- try: +- filename = get_makefile_filename() +- parse_makefile(filename, g) +- except OSError as msg: +- my_msg = "invalid Python installation: unable to open %s" % filename +- if hasattr(msg, "strerror"): +- my_msg = my_msg + " (%s)" % msg.strerror +- +- raise DistutilsPlatformError(my_msg) +- +- # load the installed pyconfig.h: +- try: +- filename = get_config_h_filename() +- with open(filename) as file: +- parse_config_h(file, g) +- except OSError as msg: +- my_msg = "invalid Python installation: unable to open %s" % filename +- if hasattr(msg, "strerror"): +- my_msg = my_msg + " (%s)" % msg.strerror +- +- raise DistutilsPlatformError(my_msg) +- +- # On AIX, there are wrong paths to the linker scripts in the Makefile +- # -- these paths are relative to the Python source, but when installed +- # the scripts are in another directory. +- if python_build: +- g['LDSHARED'] = g['BLDSHARED'] +- ++ # _sysconfigdata is generated at build time, see the sysconfig module ++ from _sysconfigdata import build_time_vars + global _config_vars +- _config_vars = g ++ _config_vars = {} ++ _config_vars.update(build_time_vars) + + + def _init_nt(): diff --git a/python3-3.4.0-add-rpmbuild-hooks-to-unittest.patch b/python3-3.5.0-add-rpmbuild-hooks-to-unittest.patch similarity index 95% rename from python3-3.4.0-add-rpmbuild-hooks-to-unittest.patch rename to python3-3.5.0-add-rpmbuild-hooks-to-unittest.patch index 20930ac..041abce 100644 --- a/python3-3.4.0-add-rpmbuild-hooks-to-unittest.patch +++ b/python3-3.5.0-add-rpmbuild-hooks-to-unittest.patch @@ -9,10 +9,9 @@ diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python import logging import pprint import re -@@ -101,6 +102,43 @@ def expectedFailure(func): +@@ -101,5 +102,42 @@ def expectedFailure(func): raise self.test_case.failureException(msg) - +# Non-standard/downstream-only hooks for handling issues with specific test +# cases: + @@ -52,7 +51,7 @@ diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python + class _AssertRaisesBaseContext(_BaseTestCaseContext): - def __init__(self, expected, test_case, callable_obj=None, + def __init__(self, expected, test_case, expected_regex=None): diff -up Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/__init__.py --- Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400 +++ Python-3.2.2/Lib/unittest/__init__.py 2011-09-09 06:35:16.366568382 -0400 diff --git a/python3-3.4.0-fdr-lib64-fix-for-test_install.patch b/python3-3.5.0-fdr-lib64-fix-for-test_install.patch similarity index 63% rename from python3-3.4.0-fdr-lib64-fix-for-test_install.patch rename to python3-3.5.0-fdr-lib64-fix-for-test_install.patch index 7852bf6..7c3dde6 100644 --- a/python3-3.4.0-fdr-lib64-fix-for-test_install.patch +++ b/python3-3.5.0-fdr-lib64-fix-for-test_install.patch @@ -1,6 +1,8 @@ ---- Python-2.7.2/Lib/distutils/tests/test_install.py.lib64 2011-09-08 17:51:57.851405376 -0400 -+++ Python-2.7.2/Lib/distutils/tests/test_install.py 2011-09-08 18:40:46.754205096 -0400 -@@ -41,8 +41,9 @@ class InstallTestCase(support.TempdirMan +Index: Python-3.5.0/Lib/distutils/tests/test_install.py +=================================================================== +--- Python-3.5.0/Lib/distutils/tests/test_install.py ++++ Python-3.5.0/Lib/distutils/tests/test_install.py 2015-09-22 19:15:21.960267920 +0200 +@@ -56,8 +56,9 @@ self.assertEqual(got, expected) libdir = os.path.join(destination, "lib", "python") diff --git a/python3-3.4.0-fdr-lib64.patch b/python3-3.5.0-fdr-lib64.patch similarity index 73% rename from python3-3.4.0-fdr-lib64.patch rename to python3-3.5.0-fdr-lib64.patch index db5fd95..73a6ceb 100644 --- a/python3-3.4.0-fdr-lib64.patch +++ b/python3-3.5.0-fdr-lib64.patch @@ -1,41 +1,59 @@ ---- Python-3.4.0b1/Lib/distutils/command/install.py.lib64 2013-11-24 21:36:54.000000000 +0100 -+++ Python-3.4.0b1/Lib/distutils/command/install.py 2013-11-27 11:10:43.821150774 +0100 -@@ -45,14 +45,14 @@ else: - INSTALL_SCHEMES = { - 'unix_prefix': { - 'purelib': '$base/lib/python$py_version_short/site-packages', -- 'platlib': '$platbase/lib/python$py_version_short/site-packages', -+ 'platlib': '$platbase/lib64/python$py_version_short/site-packages', - 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', - }, - 'unix_home': { - 'purelib': '$base/lib/python', -- 'platlib': '$base/lib/python', -+ 'platlib': '$base/lib64/python', - 'headers': '$base/include/python/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', ---- Python-3.4.0b1/Lib/distutils/sysconfig.py.lib64 2013-11-24 21:36:54.000000000 +0100 -+++ Python-3.4.0b1/Lib/distutils/sysconfig.py 2013-11-27 11:10:43.821150774 +0100 -@@ -141,8 +141,12 @@ - prefix = plat_specific and EXEC_PREFIX or PREFIX +Index: Python-3.5.0/Makefile.pre.in +=================================================================== +--- Python-3.5.0/Makefile.pre.in ++++ Python-3.5.0/Makefile.pre.in 2015-09-22 19:00:56.594579722 +0200 +@@ -120,7 +120,7 @@ + MANDIR= @mandir@ + INCLUDEDIR= @includedir@ + CONFINCLUDEDIR= $(exec_prefix)/include +-SCRIPTDIR= $(prefix)/lib ++SCRIPTDIR= $(prefix)/lib64 + ABIFLAGS= @ABIFLAGS@ - if os.name == "posix": -+ if plat_specific or standard_lib: -+ lib = "lib64" -+ else: -+ lib = "lib" - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib, "python" + get_python_version()) - if standard_lib: - return libpython + # Detailed destination directories +Index: Python-3.5.0/setup.py +=================================================================== +--- Python-3.5.0/setup.py ++++ Python-3.5.0/setup.py 2015-09-22 19:09:09.639234938 +0200 +@@ -469,7 +469,7 @@ + # directories (i.e. '.' and 'Include') must be first. See issue + # 10520. + if not cross_compiling: +- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') ++ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') + # only change this for cross builds for 3.3, issues on Mageia + if cross_compiling: +@@ -750,11 +750,11 @@ + elif curses_library: + readline_libs.append(curses_library) + elif self.compiler.find_library_file(lib_dirs + +- ['/usr/lib/termcap'], ++ ['/usr/lib64/termcap'], + 'termcap'): + readline_libs.append('termcap') + exts.append( Extension('readline', ['readline.c'], +- library_dirs=['/usr/lib/termcap'], ++ library_dirs=['/usr/lib64/termcap'], + extra_link_args=readline_extra_link_args, + libraries=readline_libs) ) else: ---- Python-3.4.0b1/Lib/site.py.lib64 2013-11-24 21:36:54.000000000 +0100 -+++ Python-3.4.0b1/Lib/site.py 2013-11-27 11:10:43.822150773 +0100 -@@ -304,12 +304,16 @@ +@@ -791,8 +791,8 @@ + if krb5_h: + ssl_incs += krb5_h + ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, +- ['/usr/local/ssl/lib', +- '/usr/contrib/ssl/lib/' ++ ['/usr/local/ssl/lib64', ++ '/usr/contrib/ssl/lib64/' + ] ) + + if (ssl_incs is not None and +Index: Python-3.5.0/Lib/site.py +=================================================================== +--- Python-3.5.0/Lib/site.py ++++ Python-3.5.0/Lib/site.py 2015-09-22 18:45:27.036879418 +0200 +@@ -303,11 +303,15 @@ seen.add(prefix) if os.sep == '/': @@ -45,15 +63,16 @@ sitepackages.append(os.path.join(prefix, "lib", "python" + sys.version[:3], "site-packages")) - sitepackages.append(os.path.join(prefix, "lib", "site-python")) else: sitepackages.append(prefix) + sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) sitepackages.append(os.path.join(prefix, "lib", "site-packages")) if sys.platform == "darwin": # for framework builds *only* we add the standard Apple ---- Python-3.4.0b1/Lib/sysconfig.py.lib64 2013-11-24 21:36:54.000000000 +0100 -+++ Python-3.4.0b1/Lib/sysconfig.py 2013-11-27 11:10:43.822150773 +0100 +Index: Python-3.5.0/Lib/sysconfig.py +=================================================================== +--- Python-3.5.0/Lib/sysconfig.py ++++ Python-3.5.0/Lib/sysconfig.py 2015-09-22 18:47:23.750357415 +0200 @@ -20,10 +20,10 @@ _INSTALL_SCHEMES = { @@ -82,41 +101,65 @@ 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data': '{userbase}', ---- Python-3.4.0b1/Lib/test/test_site.py.lib64 2013-11-24 21:36:55.000000000 +0100 -+++ Python-3.4.0b1/Lib/test/test_site.py 2013-11-27 11:10:43.822150773 +0100 -@@ -244,12 +244,15 @@ - self.assertEqual(dirs[2], wanted) +Index: Python-3.5.0/Lib/distutils/sysconfig.py +=================================================================== +--- Python-3.5.0/Lib/distutils/sysconfig.py ++++ Python-3.5.0/Lib/distutils/sysconfig.py 2015-09-22 18:42:31.551636420 +0200 +@@ -132,8 +132,12 @@ + prefix = plat_specific and EXEC_PREFIX or PREFIX + + if os.name == "posix": ++ if plat_specific or standard_lib: ++ lib = "lib64" ++ else: ++ lib = "lib" + libpython = os.path.join(prefix, +- "lib", "python" + get_python_version()) ++ lib, "python" + get_python_version()) + if standard_lib: + return libpython + else: +Index: Python-3.5.0/Lib/distutils/command/install.py +=================================================================== +--- Python-3.5.0/Lib/distutils/command/install.py ++++ Python-3.5.0/Lib/distutils/command/install.py 2015-09-22 18:39:35.096349425 +0200 +@@ -30,14 +30,14 @@ + INSTALL_SCHEMES = { + 'unix_prefix': { + 'purelib': '$base/lib/python$py_version_short/site-packages', +- 'platlib': '$platbase/lib/python$py_version_short/site-packages', ++ 'platlib': '$platbase/lib64/python$py_version_short/site-packages', + 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', + }, + 'unix_home': { + 'purelib': '$base/lib/python', +- 'platlib': '$base/lib/python', ++ 'platlib': '$base/lib64/python', + 'headers': '$base/include/python/$dist_name', + 'scripts': '$base/bin', + 'data' : '$base', +Index: Python-3.5.0/Lib/test/test_site.py +=================================================================== +--- Python-3.5.0/Lib/test/test_site.py ++++ Python-3.5.0/Lib/test/test_site.py 2015-09-22 18:58:55.360967028 +0200 +@@ -243,8 +243,8 @@ + self.assertEqual(dirs[1], wanted) elif os.sep == '/': # OS X non-framwework builds, Linux, FreeBSD, etc -- self.assertEqual(len(dirs), 2) +- self.assertEqual(len(dirs), 1) - wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], -+ self.assertEqual(len(dirs), 3) ++ self.assertEqual(len(dirs), 2) + wanted = os.path.join('xoxo', 'lib64', 'python' + sys.version[:3], 'site-packages') self.assertEqual(dirs[0], wanted) -- wanted = os.path.join('xoxo', 'lib', 'site-python') -+ wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], -+ 'site-packages') - self.assertEqual(dirs[1], wanted) -+ wanted = os.path.join('xoxo', 'lib', 'site-python') -+ self.assertEqual(dirs[2], wanted) else: - # other platforms - self.assertEqual(len(dirs), 2) ---- Python-3.4.0b1/Makefile.pre.in.lib64 2013-11-27 11:10:43.814150786 +0100 -+++ Python-3.4.0b1/Makefile.pre.in 2013-11-27 11:10:43.823150771 +0100 -@@ -115,7 +115,7 @@ - MANDIR= @mandir@ - INCLUDEDIR= @includedir@ - CONFINCLUDEDIR= $(exec_prefix)/include --SCRIPTDIR= $(prefix)/lib -+SCRIPTDIR= $(prefix)/lib64 - ABIFLAGS= @ABIFLAGS@ - - # Detailed destination directories ---- Python-3.4.0b1/Modules/getpath.c.lib64 2013-11-24 21:36:56.000000000 +0100 -+++ Python-3.4.0b1/Modules/getpath.c 2013-11-27 11:17:33.619449704 +0100 -@@ -122,8 +122,8 @@ +Index: Python-3.5.0/Modules/getpath.c +=================================================================== +--- Python-3.5.0/Modules/getpath.c ++++ Python-3.5.0/Modules/getpath.c 2015-09-22 19:05:42.573098952 +0200 +@@ -118,8 +118,8 @@ #endif #ifndef PYTHONPATH @@ -127,16 +170,16 @@ #endif #ifndef LANDMARK -@@ -498,7 +498,7 @@ - _pythonpath = _Py_char2wchar(PYTHONPATH, NULL); - _prefix = _Py_char2wchar(PREFIX, NULL); - _exec_prefix = _Py_char2wchar(EXEC_PREFIX, NULL); -- lib_python = _Py_char2wchar("lib/python" VERSION, NULL); -+ lib_python = _Py_char2wchar("lib64/python" VERSION, NULL); +@@ -511,7 +511,7 @@ + _pythonpath = Py_DecodeLocale(PYTHONPATH, NULL); + _prefix = Py_DecodeLocale(PREFIX, NULL); + _exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL); +- lib_python = Py_DecodeLocale("lib/python" VERSION, NULL); ++ lib_python = Py_DecodeLocale("lib64/python" VERSION, NULL); if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) { Py_FatalError( -@@ -687,7 +687,7 @@ +@@ -700,7 +700,7 @@ } else wcsncpy(zip_path, _prefix, MAXPATHLEN); @@ -145,7 +188,7 @@ bufsz = wcslen(zip_path); /* Replace "00" with version */ zip_path[bufsz - 6] = VERSION[0]; zip_path[bufsz - 5] = VERSION[2]; -@@ -699,7 +699,7 @@ +@@ -712,7 +712,7 @@ fprintf(stderr, "Could not find platform dependent libraries \n"); wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN); @@ -154,39 +197,3 @@ } /* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */ ---- Python-3.4.0b1/setup.py.lib64 2013-11-24 21:36:56.000000000 +0100 -+++ Python-3.4.0b1/setup.py 2013-11-27 11:10:43.824150769 +0100 -@@ -441,7 +441,7 @@ - # directories (i.e. '.' and 'Include') must be first. See issue - # 10520. - if not cross_compiling: -- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') -+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64') - add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') - # only change this for cross builds for 3.3, issues on Mageia - if cross_compiling: -@@ -718,11 +718,11 @@ - elif curses_library: - readline_libs.append(curses_library) - elif self.compiler.find_library_file(lib_dirs + -- ['/usr/lib/termcap'], -+ ['/usr/lib64/termcap'], - 'termcap'): - readline_libs.append('termcap') - exts.append( Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], -+ library_dirs=['/usr/lib64/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs) ) - else: -@@ -759,8 +759,8 @@ - if krb5_h: - ssl_incs += krb5_h - ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, -- ['/usr/local/ssl/lib', -- '/usr/contrib/ssl/lib/' -+ ['/usr/local/ssl/lib64', -+ '/usr/contrib/ssl/lib64/' - ] ) - - if (ssl_incs is not None and diff --git a/python3-3.5.0-make-libpl-respect-lib64.patch b/python3-3.5.0-make-libpl-respect-lib64.patch new file mode 100644 index 0000000..4a6703b --- /dev/null +++ b/python3-3.5.0-make-libpl-respect-lib64.patch @@ -0,0 +1,12 @@ +diff -up Python-3.5.0/Makefile.pre.in.lib Python-3.5.0/Makefile.pre.in +--- Python-3.5.0/Makefile.pre.in.lib 2015-09-21 15:39:47.928286620 +0200 ++++ Python-3.5.0/Makefile.pre.in 2015-09-21 15:42:58.004042762 +0200 +@@ -1340,7 +1340,7 @@ inclinstall: + + # Install the library and miscellaneous stuff needed for extending/embedding + # This goes into $(exec_prefix) +-LIBPL= @LIBPL@ ++LIBPL= $(LIBDEST)/config-$(LDVERSION) + + # pkgconfig directory + LIBPC= $(LIBDIR)/pkgconfig diff --git a/python-3.3.0-module-linkage.patch b/python3-3.5.0-module-linkage.patch similarity index 95% rename from python-3.3.0-module-linkage.patch rename to python3-3.5.0-module-linkage.patch index 7b11521..84fe481 100644 --- a/python-3.3.0-module-linkage.patch +++ b/python3-3.5.0-module-linkage.patch @@ -1,6 +1,6 @@ --- setup.py.link 2012-09-30 00:58:45.000000000 +0800 +++ setup.py 2012-09-30 00:59:06.000000000 +0800 -@@ -579,7 +579,7 @@ +@@ -592,7 +592,7 @@ libraries=math_libs) ) # time libraries: librt may be needed for clock_gettime() @@ -9,7 +9,7 @@ lib = sysconfig.get_config_var('TIMEMODULE_LIB') if lib: time_libs.append(lib) -@@ -587,7 +587,7 @@ +@@ -600,7 +600,7 @@ # time operations and variables exts.append( Extension('time', ['timemodule.c'], libraries=time_libs) ) @@ -18,7 +18,7 @@ # random number generator implemented in C exts.append( Extension("_random", ["_randommodule.c"]) ) # bisect -@@ -656,7 +656,7 @@ +@@ -675,7 +675,7 @@ # Operations on audio samples # According to #993173, this one should actually work fine on # 64-bit platforms. @@ -27,7 +27,7 @@ # readline do_readline = self.compiler.find_library_file(lib_dirs, 'readline') -@@ -1855,10 +1855,11 @@ +@@ -1944,10 +1944,11 @@ include_dirs=include_dirs, extra_compile_args=extra_compile_args, extra_link_args=extra_link_args, @@ -40,7 +40,7 @@ sources=['_ctypes/_ctypes_test.c']) self.extensions.extend([ext, ext_test]) -@@ -1909,7 +1910,7 @@ +@@ -1998,7 +1999,7 @@ 'Modules', '_decimal', 'libmpdec'))] diff --git a/python3-3.4.0-no-static-lib.patch b/python3-3.5.0-no-static-lib.patch similarity index 69% rename from python3-3.4.0-no-static-lib.patch rename to python3-3.5.0-no-static-lib.patch index bd1bc40..4134f98 100644 --- a/python3-3.4.0-no-static-lib.patch +++ b/python3-3.5.0-no-static-lib.patch @@ -1,16 +1,16 @@ diff -up cpython-59223da36dec/Makefile.pre.in.no-static-lib cpython-59223da36dec/Makefile.pre.in --- cpython-59223da36dec/Makefile.pre.in.no-static-lib 2012-08-07 16:43:43.296466422 -0400 +++ cpython-59223da36dec/Makefile.pre.in 2012-08-07 16:44:13.299464371 -0400 -@@ -464,7 +464,7 @@ coverage: +@@ -549,7 +549,7 @@ clinic: $(BUILDPYTHON) $(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make # Build the interpreter --$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) -+$(BUILDPYTHON): Modules/python.o $(LDLIBRARY) $(PY3LIBRARY) - $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) +-$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) ++$(BUILDPYTHON): Programs/python.o $(LDLIBRARY) $(PY3LIBRARY) + $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) platform: $(BUILDPYTHON) pybuilddir.txt -@@ -480,18 +480,6 @@ sharedmods: $(BUILDPYTHON) $(SYSCONFIGDA +@@ -584,18 +584,6 @@ sharedmods: $(BUILDPYTHON) $(SYSCONFIGDA _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build @@ -29,16 +29,16 @@ diff -up cpython-59223da36dec/Makefile.pre.in.no-static-lib cpython-59223da36dec libpython$(LDVERSION).so: $(LIBRARY_OBJS) if test $(INSTSONAME) != $(LDLIBRARY); then \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ -@@ -581,7 +569,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.d +@@ -673,7 +673,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.d echo "-----------------------------------------------"; \ fi --Modules/_testembed: Modules/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) -+Modules/_testembed: Modules/_testembed.o $(LDLIBRARY) $(PY3LIBRARY) - $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) +-Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) ++Programs/_testembed: Programs/_testembed.o $(LDLIBRARY) $(PY3LIBRARY) + $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) ############################################################################ -@@ -1155,18 +1143,6 @@ libainstall: all python-config +@@ -1345,18 +1345,6 @@ libainstall: all python-config else true; \ fi; \ done @@ -55,5 +55,5 @@ diff -up cpython-59223da36dec/Makefile.pre.in.no-static-lib cpython-59223da36dec - fi; \ - fi $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c - $(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o + $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in diff --git a/python3.spec b/python3.spec index cecee69..7842d4e 100644 --- a/python3.spec +++ b/python3.spec @@ -1,5 +1,5 @@ -%define docver 3.4.2 -%define dirver 3.4 +%define docver 3.5.1 +%define dirver 3.5 %define familyver 3 %define lib_major %{dirver} @@ -20,7 +20,7 @@ # # Unfortunately, rpmbuild's infrastructure requires us to jump through some # hoops to avoid byte-compiling with the system python 2 version: -# /usr/lib/rpm/mageia/macros sets up build policy that (amongst other things) +# /usr/lib/rpm/mandriva/macros sets up build policy that (amongst other things) # defines __os_install_post. In particular, "brp-python-bytecompile" is # invoked without an argument thus using the wrong version of python # (/usr/bin/python, rather than the freshly built python), thus leading to @@ -33,8 +33,8 @@ Summary: An interpreted, interactive object-oriented programming language Name: python3 -Version: 3.4.3 -Release: 3 +Version: 3.5.1 +Release: 1 License: Modified CNRI Open Source License Group: Development/Python @@ -44,13 +44,13 @@ Source2: python3.macros Source3: pybytecompile.macros Source100: %{name}.rpmlintrc -Patch0: python-3.3.0-module-linkage.patch -Patch1: python3-3.4.0-fdr-lib64.patch -Patch2: python3-3.4.0-fdr-lib64-fix-for-test_install.patch -Patch3: python3-3.4.0-no-static-lib.patch +Patch0: python3-3.5.0-module-linkage.patch +Patch1: python3-3.5.0-fdr-lib64.patch +Patch2: python3-3.5.0-fdr-lib64-fix-for-test_install.patch +Patch3: python3-3.5.0-no-static-lib.patch Patch4: python3-3.4.0-more-configuration-flags.patch Patch5: python3-3.4.0-disable-tests-in-test_io.patch -Patch6: python3-3.4.0-add-rpmbuild-hooks-to-unittest.patch +Patch6: python3-3.5.0-add-rpmbuild-hooks-to-unittest.patch Patch7: python3-3.4.3-skip-distutils-tests-that-fail-in-rpmbuild.patch Patch8: python3-3.4.0-hashlib-fips.patch Patch9: python3-3.4.3-fix-test_gdb-noise.patch @@ -66,6 +66,8 @@ Patch16: python3-3.4.0-add-rewheel-module.patch Patch18: python3-3.4.0-disable-tests-in-test_urllib2_localnet.patch Patch19: Python-nis-requires-tirpc.patch Patch20: Python-select-requires-libm.patch +Patch21: python3-3.4.2-distutils-init.patch +Patch22: python3-3.5.0-make-libpl-respect-lib64.patch URL: http://www.python.org/ Conflicts: tkinter3 < %{version} @@ -217,6 +219,8 @@ Various applications written using tkinter %patch18 -p0 %patch19 -p1 -b .tirpc~ %patch20 -p1 -b .lm~ +%patch21 -p1 +%patch22 -p1 # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac @@ -243,13 +247,11 @@ rm -f Modules/Setup.local export OPT="%{optflags} -g" # to fix curses module build -# https://bugs.mageia.org/show_bug.cgi?id=6702 export CFLAGS="%{optflags} -I/usr/include/ncursesw" export CPPFLAGS="%{optflags} -I/usr/include/ncursesw" autoreconf -vfi -# Remove -Wl,--no-undefined in accordance with MGA #9395 : -# https://bugs.mageia.org/show_bug.cgi?id=9395 +# Remove -Wl,--no-undefined %define _disable_ld_no_undefined 1 %configure2_5x --with-threads \ --enable-ipv6 \ @@ -262,6 +264,7 @@ autoreconf -vfi --with-valgrind %endif + # fix build #perl -pi -e 's/^(LDFLAGS=.*)/$1 -lstdc++/' Makefile # (misc) if the home is nfs mounted, rmdir fails due to delay