#11 F28: Update to 3.5.6
Merged 5 years ago by churchyard. Opened 5 years ago by churchyard.
rpms/ churchyard/python35 f28-356  into  f28

file modified
+1
@@ -3,3 +3,4 @@ 

  /Python-3.5.3.tar.xz

  /Python-3.5.4.tar.xz

  /Python-3.5.5.tar.xz

+ /Python-3.5.6.tar.xz

@@ -0,0 +1,55 @@ 

+ From a3febe3cba14b89885f42ca2f0224096a52885f6 Mon Sep 17 00:00:00 2001

+ From: Antoine Pitrou <antoine@python.org>

+ Date: Mon, 23 Apr 2018 13:19:42 +0200

+ Subject: [PATCH] bpo-33329: Fix multiprocessing regression on newer glibcs

+ 

+ Starting with glibc 2.27.9000-xxx, sigaddset() can return EINVAL for some

+ reserved signal numbers between 1 and NSIG.  The `range(1, NSIG)` idiom

+ is commonly used to select all signals for blocking with `pthread_sigmask`.

+ So we ignore the sigaddset() return value until we expose sigfillset()

+ to provide a better idiom.

+ ---

+  .../next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst  |  1 +

+  Modules/signalmodule.c                                     | 14 ++++++++------

+  2 files changed, 9 insertions(+), 6 deletions(-)

+  create mode 100644 Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst

+ 

+ diff --git a/Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst b/Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst

+ new file mode 100644

+ index 000000000000..d1a4e56d04b9

+ --- /dev/null

+ +++ b/Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst

+ @@ -0,0 +1 @@

+ +Fix multiprocessing regression on newer glibcs

+ diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c

+ index 791616014384..35fd87e2d1e7 100644

+ --- a/Modules/signalmodule.c

+ +++ b/Modules/signalmodule.c

+ @@ -819,7 +819,6 @@ iterable_to_sigset(PyObject *iterable, sigset_t *mask)

+      int result = -1;

+      PyObject *iterator, *item;

+      long signum;

+ -    int err;

+  

+      sigemptyset(mask);

+  

+ @@ -841,11 +840,14 @@ iterable_to_sigset(PyObject *iterable, sigset_t *mask)

+          Py_DECREF(item);

+          if (signum == -1 && PyErr_Occurred())

+              goto error;

+ -        if (0 < signum && signum < NSIG)

+ -            err = sigaddset(mask, (int)signum);

+ -        else

+ -            err = 1;

+ -        if (err) {

+ +        if (0 < signum && signum < NSIG) {

+ +            /* bpo-33329: ignore sigaddset() return value as it can fail

+ +             * for some reserved signals, but we want the `range(1, NSIG)`

+ +             * idiom to allow selecting all valid signals.

+ +             */

+ +            (void) sigaddset(mask, (int)signum);

+ +        }

+ +        else {

+              PyErr_Format(PyExc_ValueError,

+                           "signal number %ld out of range", signum);

+              goto error;

file modified
+27 -40
@@ -57,7 +57,7 @@ 

  %global with_systemtap 1

  

  # some arches don't have valgrind so we need to disable its support on them

- %ifnarch s390 %{mips}

+ %ifarch %{valgrind_arches}

  %global with_valgrind 1

  %else

  %global with_valgrind 0
@@ -71,33 +71,17 @@ 

  # Turn this to 0 to turn off the "check" phase:

  %global run_selftest_suite 1

  

- # We want to byte-compile the .py files within the packages using the new

- # python3 binary.

- #

- # Unfortunately, rpmbuild's infrastructure requires us to jump through some

- # hoops to avoid byte-compiling with the system python 2 version:

- #   /usr/lib/rpm/redhat/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

- # numerous syntax errors, and incorrect magic numbers in the .pyc files.  We

- # thus override __os_install_post to avoid invoking this script:

- %global __os_install_post /usr/lib/rpm/brp-compress \

-   %{!?__debug_package:/usr/lib/rpm/brp-strip %{__strip}} \

-   /usr/lib/rpm/brp-strip-static-archive %{__strip} \

-   /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} \

-   /usr/lib/rpm/brp-python-hardlink

- # to remove the invocation of brp-python-bytecompile, whilst keeping the

- # invocation of brp-python-hardlink (since this should still work for python3

- # pyc/pyo files)

- 

+ # Disable automatic bytecompilation. The python3 binary is not yet be

+ # available in /usr/bin when Python is built. Also, the bytecompilation fails

+ # on files that test invalid syntax.

+ %undefine py_auto_byte_compile

  

  # ==================

  # Top-level metadata

  # ==================

  Summary: Version 3.5 of the Python programming language

  Name: python%{pyshortver}

- Version: %{pybasever}.5

+ Version: %{pybasever}.6

  Release: 1%{?dist}

  License: Python

  Group: Development/Languages
@@ -393,6 +377,12 @@ 

  # Fixed upstream: https://bugs.python.org/issue32635

  Patch290: 00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch

  

+ # 00302 #

+ # Fix multiprocessing regression on newer glibcs

+ # See: https://bugzilla.redhat.com/show_bug.cgi?id=1569933

+ # and: https://bugs.python.org/issue33329

+ Patch302: 00302-fix-multiprocessing-regression-on-newer-glibcs.patch

+ 

  # (New patches go here ^^^)

  #

  # When adding new patches to "python" and "python3" in Fedora, EL, etc.,
@@ -507,6 +497,7 @@ 

  %patch270 -p1

  %patch273 -p1

  %patch290 -p1

+ %patch302 -p1

  

  # Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there

  # are many differences between 2.6 and the Python 3 library.
@@ -757,8 +748,9 @@ 

  # Switch all shebangs to refer to the specific Python version.

  LD_LIBRARY_PATH=./build/optimized ./build/optimized/python \

    Tools/scripts/pathfix.py \

-   -i "%{_bindir}/python%{pybasever}" \

-   %{buildroot}

+   -i "%{_bindir}/python%{pybasever}" -p \

+   %{buildroot} \

+   %{?with_gdb_hooks:%{buildroot}$DirHoldingGdbPy/*.py}

  

  # Remove shebang lines from .py files that aren't executable, and

  # remove executability from .py files that don't have a shebang line:
@@ -943,12 +935,6 @@ 

      %ifarch %{power64} s390 s390x armv7hl aarch64 %{mips}

      -x test_gdb \

      %endif

-     -x test_multiprocessing_fork \

-     -x test_multiprocessing_forkserver \

-     -x test_multiprocessing_spawn \

-     %ifnarch %{ix86} x86_64

-     -x test_rapid_restart \

-     %endif

  

    echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName

  
@@ -965,17 +951,7 @@ 

  %endif # run_selftest_suite

  

  

- # ======================================================

- # Scriptlets

- # ======================================================

- 

- %post -p /sbin/ldconfig

- 

- %postun -p /sbin/ldconfig

- 

- 

  %files

- %defattr(-, root, root)

  %doc LICENSE README

  %doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit

  
@@ -1041,6 +1017,17 @@ 

  # ======================================================

  

  %changelog

+ * Sun Aug 05 2018 Miro Hrončok <mhroncok@redhat.com> - 3.5.6-1

+ - Rebased to version 3.5.6

+ 

+ * Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.5-3

+ - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

+ 

+ * Mon Apr 23 2018 Miro Hrončok <mhroncok@redhat.com> - 3.5.5-2

+ - Fix multiprocessing regression on newer glibcs

+ - Enable test_multiprocessing_fork(server) and _spawn again

+ Resolves: rhbz#1569933

+ 

  * Fri Apr 20 2018 Miro Hrončok <mhroncok@redhat.com> - 3.5.5-1

  - Rebased to version 3.5.5

  - Do not ship the Tools directory

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (Python-3.5.5.tar.xz) = c9056baee6a2d1fe7f14b1f310db95b78e8972766d086f8ae10954f38f8182956171580bde01ddadebe897f2545a6fbe47669ca3e4887026ac1fae5ee9197f22

+ SHA512 (Python-3.5.6.tar.xz) = 1ccf287dbe8594eb577c1197c19d882fbe235c72f4c01cda23258f2add8a93e639b41ebaf556508b867cbe1b4c1fc4e1cf457d70b98cf7a1502013660a7e0ac1