#5 New release 6.0.0 (#1571489)
Merged 6 years ago by churchyard. Opened 6 years ago by churchyard.
rpms/ churchyard/pypy3 600  into  master

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

  /pypy3-v5.9.0-src.tar.bz2

  /pypy3-v5.10.0-src.tar.bz2

  /pypy3-v5.10.1-src.tar.bz2

+ /pypy3-v6.0.0-src.tar.bz2

@@ -0,0 +1,35 @@ 

+ # HG changeset patch

+ # User Miro Hrončok <miro@hroncok.cz>

+ # Date 1524655710 -7200

+ #      Wed Apr 25 13:28:30 2018 +0200

+ # Branch issue33329

+ # Node ID 6501fdc3a80fa2bc3b8c70bfaf94a31c3b3432c0

+ # Parent  a07f07034d281bec8c776f9e1ee7c5b9aea74007

+ 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.

+ 

+ Co-authored-by: Antoine Pitrou <antoine@python.org>

+ 

+ diff -r a07f07034d28 -r 6501fdc3a80f pypy/module/signal/interp_signal.py

+ --- a/pypy/module/signal/interp_signal.py	Tue Apr 24 10:00:00 2018 +0200

+ +++ b/pypy/module/signal/interp_signal.py	Wed Apr 25 13:28:30 2018 +0200

+ @@ -379,10 +379,10 @@

+          for w_signum in space.unpackiterable(self.w_signals):

+              signum = space.int_w(w_signum)

+              check_signum_in_range(space, signum)

+ -            err = c_sigaddset(self.mask, signum)

+ -            if err:

+ -                raise oefmt(space.w_ValueError,

+ -                            "signal number %d out of range", signum)

+ +            # bpo-33329: ignore c_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.

+ +            c_sigaddset(self.mask, signum)

+          return self.mask

+  

+      def __exit__(self, *args):

file modified
+24 -10
@@ -1,8 +1,8 @@ 

- %global basever 5.10

+ %global basever 6.0

  Name:           pypy3

- Version:        %{basever}.1

+ Version:        %{basever}.0

  %global pyversion 3.5

- Release:        7%{?dist}

+ Release:        1%{?dist}

  Summary:        Python 3 implementation with a Just-In-Time compiler

  

  # LGPL and another free license we'd need to ask spot about are present in some
@@ -164,6 +164,12 @@ 

  # It seems ppc64 has no faulthandler

  Patch11: 011-no-faulthandler.patch

  

+ # Fix multiprocessing regression on newer glibcs

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

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

+ # and: https://bitbucket.org/pypy/pypy/pull-requests/607

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

+ 

  # Build-time requirements:

  

  # pypy's can be rebuilt using itself, rather than with CPython; doing so
@@ -185,14 +191,14 @@ 

  # pypy3 can only be build with pypy2

  BuildRequires: pypy2

  # no pypy-pycparser available ATM

- %global bootstrap_python_interp pypy

+ %global bootstrap_python_interp pypy2

  %else

  

  

  # pypy3 can only be build with python2

  BuildRequires: python2-devel

  BuildRequires: python2-pycparser

- %global bootstrap_python_interp python

+ %global bootstrap_python_interp python2

  

  %endif

  
@@ -289,10 +295,10 @@ 

  %prep

  %autosetup -n pypy3-v%{version}-src -p1 -S git

  

- # Replace /usr/local/bin/python shebangs with /usr/bin/python:

+ # Replace /usr/local/bin/python or /usr/bin/env python shebangs with /usr/bin/python2 or pypy2:

  find -name "*.py" -exec \

    sed \

-     -i -e "s|/usr/local/bin/python|/usr/bin/python|" \

+     -i -r -e "s@/usr/(local/)?bin/(env )?python(2|3)?@/usr/bin/%{bootstrap_python_interp}@" \

      "{}" \

      \;

  
@@ -303,12 +309,15 @@ 

     chmod a-x $f

  done

  

- # Replace all lib-python python shebangs with pypy

- find lib-python/%{pylibver} -name "*.py" -exec \

-   sed -r -i '1s|^#!\s*/usr/bin.*python.*|#!/usr/bin/%{name}|' \

+ # Replace all lib-python and lib_pypy python shebangs with pypy3 (those will be shipped with pypy3-libs)

+ find lib-python/%{pylibver} lib_pypy -name "*.py" -exec \

+   sed -r -i '1s@^#!\s*/usr/bin.*(python|pypy).*@#!/usr/bin/%{name}@' \

      "{}" \

      \;

  

+ # Not needed on Linux

+ rm lib-python/3/idlelib/idle.bat

+ 

  %ifarch %{ix86} x86_64 %{arm}

    sed -i -r 's/\$\(LDFLAGSEXTRA\)/& -fuse-ld=gold/' ./rpython/translator/platform/posix.py

  %endif
@@ -823,6 +832,11 @@ 

  

  

  %changelog

+ * Wed Apr 25 2018 Miro Hrončok <mhroncok@redhat.com> - 6.0.0-1

+ - Fix failing taskotron check

+ - New release 6.0.0 (#1571489)

+ - Fix multiprocessing regression on newer glibcs (#1569933)

+ 

  * Wed Apr 11 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-7

  - Provide pypy3(abi) = 5.10

  

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

- SHA512 (pypy3-v5.10.1-src.tar.bz2) = 91b0ed25130bdbb46d5e577136b5fe63d5162917dcc2d0b69f5cac2a283ece9d0bfd3c7c8dc61ff391e0550fa1603326f6edeb2df3159d71617fefe6c07439f5

+ SHA512 (pypy3-v6.0.0-src.tar.bz2) = ea406c4dd1837a6ab13026de01330790f3c18f6e2bfb83e8553e52acf78b43dfb559ce75c2d91395055c771db359356c8183ed950da6f01a21bf09128935af5e

Fix multiprocessing regression on newer glibcs (#1569933)

rebased onto 1b41795

6 years ago

3 new commits added

  • New release 6.0.0 (#1571489)
  • Remove Windows bat file
  • Fix shebangs (reported mangled by taskotron)
6 years ago

Pull-Request has been merged by churchyard

6 years ago