Update to 3.7.0b1

- Rebase patches 102, 170
- Remove patches 273, 289, 290
This commit is contained in:
Iryna Shcherbina 2018-02-01 18:50:40 +01:00
parent 10ba826cb6
commit cea6d60615
6 changed files with 18 additions and 167 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 <unistd.h>
#endif
+#ifdef HAVE_CRYPT_H
+#include <crypt.h>
+#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 \

View File

@ -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 <ishcherb@redhat.com> - 3.7.0-0.7.b1
- Update to 3.7.0b1
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.0-0.6.a4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild