From cea6d60615a84b72d036b1d324a2fd8e6613df3f Mon Sep 17 00:00:00 2001 From: Iryna Shcherbina Date: Thu, 1 Feb 2018 18:50:40 +0100 Subject: [PATCH] Update to 3.7.0b1 - Rebase patches 102, 170 - Remove patches 273, 289, 290 --- 00102-lib64.patch | 21 ++--- 00170-gc-assertions.patch | 4 +- 00273-skip-float-test.patch | 12 --- 00289-fix-nis-compilation.patch | 83 ------------------- ...ude-crypt.h-for-declaration-of-crypt.patch | 28 ------- python37.spec | 37 +++------ 6 files changed, 18 insertions(+), 167 deletions(-) delete mode 100644 00273-skip-float-test.patch delete mode 100644 00289-fix-nis-compilation.patch delete mode 100644 00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch diff --git a/00102-lib64.patch b/00102-lib64.patch index b48feda..b082083 100644 --- a/00102-lib64.patch +++ b/00102-lib64.patch @@ -70,8 +70,8 @@ index 7dc1b04..85016b4 100644 sitepackages.append(prefix) + sitepackages.append(os.path.join(prefix, "lib64", "site-packages")) sitepackages.append(os.path.join(prefix, "lib", "site-packages")) - # for framework builds *only* we add the standard Apple locations. - if sys.platform == "darwin" and sys._framework: + return sitepackages + diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index 9ee4d31..53c8606 100644 --- a/Lib/sysconfig.py @@ -109,9 +109,9 @@ index 266adf0..e8513b6 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -275,8 +275,8 @@ class HelperFunctionsTests(unittest.TestCase): - self.assertEqual(dirs[1], wanted) - elif os.sep == '/': - # OS X non-framework builds, Linux, FreeBSD, etc + dirs = site.getsitepackages() + if os.sep == '/': + # OS X, Linux, FreeBSD, etc - self.assertEqual(len(dirs), 1) - wanted = os.path.join('xoxo', 'lib', + self.assertEqual(len(dirs), 2) @@ -190,14 +190,3 @@ index f1933f7..450cd8a 100644 extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: -@@ -871,8 +871,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/00170-gc-assertions.patch b/00170-gc-assertions.patch index 1f71939..0412e0d 100644 --- a/00170-gc-assertions.patch +++ b/00170-gc-assertions.patch @@ -60,8 +60,8 @@ index 904fc7d..5676007 100644 import unittest from test.support import (verbose, refcount_test, run_unittest, strip_python_stderr, cpython_only, start_threads, -- temp_dir, requires_type_collecting) -+ temp_dir, import_module, requires_type_collecting) +- temp_dir, requires_type_collecting,reap_threads) ++ temp_dir,reap_threads, import_module, requires_type_collecting) from test.support.script_helper import assert_python_ok, make_script import sys diff --git a/00273-skip-float-test.patch b/00273-skip-float-test.patch deleted file mode 100644 index 233d3ed..0000000 --- a/00273-skip-float-test.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py -index 66726d6496d..3318fa5df59 100644 ---- a/Lib/test/test_float.py -+++ b/Lib/test/test_float.py -@@ -141,6 +141,7 @@ class GeneralFloatCases(unittest.TestCase): - # non-UTF-8 byte string - check(b'123\xa0') - -+ @unittest.skip('Fails in Koji: https://bugzilla.redhat.com/show_bug.cgi?id=1484497') - @support.run_with_locale('LC_NUMERIC', 'fr_FR', 'de_DE') - def test_float_with_comma(self): - # set locale to something that doesn't use '.' for the decimal point diff --git a/00289-fix-nis-compilation.patch b/00289-fix-nis-compilation.patch deleted file mode 100644 index 4d4e3dc..0000000 --- a/00289-fix-nis-compilation.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/setup.py b/setup.py -index 3eb6ad1..3437e48 100644 ---- a/setup.py -+++ b/setup.py -@@ -1331,20 +1331,14 @@ class PyBuildExt(build_ext): - exts.append( Extension('termios', ['termios.c']) ) - # Jeremy Hylton's rlimit interface - exts.append( Extension('resource', ['resource.c']) ) -+ else: -+ missing.extend(['resource', 'termios']) - -- # Sun yellow pages. Some systems have the functions in libc. -- if (host_platform not in ['cygwin', 'qnx6'] and -- find_file('rpcsvc/yp_prot.h', inc_dirs, []) is not None): -- if (self.compiler.find_library_file(lib_dirs, 'nsl')): -- libs = ['nsl'] -- else: -- libs = [] -- exts.append( Extension('nis', ['nismodule.c'], -- libraries = libs) ) -- else: -- missing.append('nis') -+ nis = self._detect_nis(inc_dirs, lib_dirs) -+ if nis is not None: -+ exts.append(nis) - else: -- missing.extend(['nis', 'resource', 'termios']) -+ missing.append('nis') - - # Curses support, requiring the System V version of curses, often - # provided by the ncurses library. -@@ -2179,6 +2173,51 @@ class PyBuildExt(build_ext): - ) - return ext - -+ def _detect_nis(self, inc_dirs, lib_dirs): -+ if host_platform in {'win32', 'cygwin', 'qnx6'}: -+ return None -+ -+ libs = [] -+ library_dirs = [] -+ includes_dirs = [] -+ -+ # Latest glibc has moved Sun RPC headers into tircp and nsl sub -+ # directories. rpc code has been moved to libtirpc. -+ rpcsvc_inc = find_file( -+ 'rpcsvc/yp_prot.h', inc_dirs, -+ ['/usr/local/include/nsl', '/usr/include/nsl'] -+ ) -+ rpc_inc = find_file( -+ 'rpc/rpc.h', inc_dirs, -+ ['/usr/local/include/tirpc', '/usr/include/tirpc'] -+ ) -+ if rpcsvc_inc is None or rpc_inc is None: -+ # not found -+ return None -+ includes_dirs.extend(rpcsvc_inc) -+ includes_dirs.extend(rpc_inc) -+ -+ if self.compiler.find_library_file(lib_dirs, 'nsl'): -+ libs.append('nsl') -+ else: -+ # libnsl-devel: check for libnsl in nsl/ subdirectory -+ nsl_dirs = [os.path.join(lib_dir, 'nsl') for lib_dir in lib_dirs] -+ libnsl = self.compiler.find_library_file(nsl_dirs, 'nsl') -+ if libnsl is not None: -+ library_dirs.append(os.path.dirname(libnsl)) -+ libs.append('nsl') -+ -+ if self.compiler.find_library_file(lib_dirs, 'tirpc'): -+ libs.append('tirpc') -+ -+ return Extension( -+ 'nis', ['nismodule.c'], -+ libraries=libs, -+ library_dirs=library_dirs, -+ include_dirs=includes_dirs -+ ) -+ -+ - class PyBuildInstall(install): - # Suppress the warning about installation into the lib_dynload - # directory, which is not in sys.path when running Python during diff --git a/00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch b/00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch deleted file mode 100644 index c5d768b..0000000 --- a/00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/Include/Python.h b/Include/Python.h -index dd595ea5e4c..1feb1531cc9 100644 ---- a/Include/Python.h -+++ b/Include/Python.h -@@ -35,6 +35,9 @@ - #ifdef HAVE_UNISTD_H - #include - #endif -+#ifdef HAVE_CRYPT_H -+#include -+#endif - - /* For size_t? */ - #ifdef HAVE_STDDEF_H -diff --git a/configure.ac b/configure.ac -index 03b0f501aff..15ef872a53a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2041,7 +2041,7 @@ dnl AC_MSG_RESULT($cpp_type) - - # checks for header files - AC_HEADER_STDC --AC_CHECK_HEADERS(asm/types.h conio.h direct.h dlfcn.h errno.h \ -+AC_CHECK_HEADERS(asm/types.h crypt.h conio.h direct.h dlfcn.h errno.h \ - fcntl.h grp.h \ - ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ - sched.h shadow.h signal.h stropts.h termios.h \ - diff --git a/python37.spec b/python37.spec index 5961cf0..adfd31a 100644 --- a/python37.spec +++ b/python37.spec @@ -13,12 +13,12 @@ URL: https://www.python.org/ # Second alpha -%global prerel a4 +%global prerel b1 # WARNING When rebasing to a new Python version, # remember to update the python3-docs package as well Version: %{pybasever}.0 -Release: 0.6.%{?prerel}%{?dist} +Release: 0.7.%{?prerel}%{?dist} License: Python @@ -356,31 +356,10 @@ Patch251: 00251-change-user-install-location.patch # Reported upstream: http://bugs.python.org/issue29804 Patch264: 00264-skip-test-failing-on-aarch64.patch -# 00273 # -# Skip test_float_with_comma, which fails in Koji with UnicodeDecodeError -# See https://bugzilla.redhat.com/show_bug.cgi?id=1484497 -Patch273: 00273-skip-float-test.patch - # 00274 # # Upstream uses Debian-style architecture naming. Change to match Fedora. Patch274: 00274-fix-arch-names.patch -# 00289 # -# Fix the compilation of the nis module, as glibc removed the -# interfaces related to Sun RPC and they are now provided -# by libtirpc and libnsl2. -# See: https://fedoraproject.org/wiki/Changes/SunRPCRemoval -# and https://fedoraproject.org/wiki/Changes/NISIPv6 -# Fixed upstream: https://bugs.python.org/issue32521 -Patch289: 00289-fix-nis-compilation.patch - -# 00290 # -# Not every target system may provide a crypt() function in its stdlibc -# and may use an external or replacement library, like libxcrypt, for -# providing such functions. -# Fixed upstream: https://bugs.python.org/issue32635 -Patch290: 00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch - # 00291 # # Build fails with undefined references to dlopen / dlsym otherwise. # See: https://bugzilla.redhat.com/show_bug.cgi?id=1537489 @@ -686,10 +665,7 @@ sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/en %patch264 -p1 %endif -%patch273 -p1 %patch274 -p1 -%patch289 -p1 -%patch290 -p1 %patch291 -p1 @@ -1227,6 +1203,7 @@ CheckPython optimized %{dynload_dir}/_codecs_jp.%{SOABI_optimized}.so %{dynload_dir}/_codecs_kr.%{SOABI_optimized}.so %{dynload_dir}/_codecs_tw.%{SOABI_optimized}.so +%{dynload_dir}/_contextvars.%{SOABI_optimized}.so %{dynload_dir}/_crypt.%{SOABI_optimized}.so %{dynload_dir}/_csv.%{SOABI_optimized}.so %{dynload_dir}/_ctypes.%{SOABI_optimized}.so @@ -1248,11 +1225,13 @@ CheckPython optimized %{dynload_dir}/_opcode.%{SOABI_optimized}.so %{dynload_dir}/_pickle.%{SOABI_optimized}.so %{dynload_dir}/_posixsubprocess.%{SOABI_optimized}.so +%{dynload_dir}/_queue.%{SOABI_optimized}.so %{dynload_dir}/_random.%{SOABI_optimized}.so %{dynload_dir}/_socket.%{SOABI_optimized}.so %{dynload_dir}/_sqlite3.%{SOABI_optimized}.so %{dynload_dir}/_ssl.%{SOABI_optimized}.so %{dynload_dir}/_struct.%{SOABI_optimized}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_optimized}.so %{dynload_dir}/array.%{SOABI_optimized}.so %{dynload_dir}/audioop.%{SOABI_optimized}.so %{dynload_dir}/binascii.%{SOABI_optimized}.so @@ -1490,6 +1469,7 @@ CheckPython optimized %{dynload_dir}/_codecs_jp.%{SOABI_debug}.so %{dynload_dir}/_codecs_kr.%{SOABI_debug}.so %{dynload_dir}/_codecs_tw.%{SOABI_debug}.so +%{dynload_dir}/_contextvars.%{SOABI_debug}.so %{dynload_dir}/_crypt.%{SOABI_debug}.so %{dynload_dir}/_csv.%{SOABI_debug}.so %{dynload_dir}/_ctypes.%{SOABI_debug}.so @@ -1511,11 +1491,13 @@ CheckPython optimized %{dynload_dir}/_opcode.%{SOABI_debug}.so %{dynload_dir}/_pickle.%{SOABI_debug}.so %{dynload_dir}/_posixsubprocess.%{SOABI_debug}.so +%{dynload_dir}/_queue.%{SOABI_debug}.so %{dynload_dir}/_random.%{SOABI_debug}.so %{dynload_dir}/_socket.%{SOABI_debug}.so %{dynload_dir}/_sqlite3.%{SOABI_debug}.so %{dynload_dir}/_ssl.%{SOABI_debug}.so %{dynload_dir}/_struct.%{SOABI_debug}.so +%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so %{dynload_dir}/array.%{SOABI_debug}.so %{dynload_dir}/audioop.%{SOABI_debug}.so %{dynload_dir}/binascii.%{SOABI_debug}.so @@ -1592,6 +1574,9 @@ CheckPython optimized # ====================================================== %changelog +* Mon Feb 12 2018 Iryna Shcherbina - 3.7.0-0.7.b1 +- Update to 3.7.0b1 + * Fri Feb 09 2018 Fedora Release Engineering - 3.7.0-0.6.a4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild