15
0

Accepting request 730490 from devel:languages:python

- update to 6.5.8:
  - Fix socket.SO_PEERCRED constant fallback value under PowerPC.
  - Fix race condition when toggling stats counting in the middle
    of request processing.
  - Improve post Python 3.9 compatibility checks.
  - Fix support of abstract namespace sockets
  - Fix HTTP parser to return 400 on invalid major-only HTTP version
    in Request-Line.
- Drop cheroot_fix_so_peercred_ppc.patch . Applied upstream.

OBS-URL: https://build.opensuse.org/request/show/730490
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-cheroot?expand=0&rev=7
This commit is contained in:
2019-09-17 11:35:41 +00:00
committed by Git OBS Bridge
5 changed files with 17 additions and 59 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f6a85e005adb5bc5f3a92b998ff0e48795d4d98a0fbb7edde47a7513d4100601
size 83794

3
cheroot-6.5.8.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:427e7e3ce51ad5a6e5cf953252b5782d5dfbeb544c09910634971bc06df6621b
size 86158

View File

@@ -1,54 +0,0 @@
commit 621f4ee2c6cda819263be7b26f352abe879b3cd3
Author: Sviatoslav Sydorenko <wk@sydorenko.org.ua>
Date: Wed Sep 4 23:41:18 2019 +0200
Fix socket.SO_PEERCRED constant fallback @ PowerPC
Resolves #222
Refs:
https://bugzilla.redhat.com/show_bug.cgi?id=1733967
https://www.mail-archive.com/devel@lists.fedoraproject.org/msg136822.html
http://ftp.linuxfoundation.org/pub/lsb/lsb-openjdk/openjdk7-lsb-overrides/lsb_flags.h
https://git.wukl.net/wukl/uefi-musl/blob/29ec7677a73a5227badbb1064205be09e707e466/arch/powerpc/bits/socket.h
---
cheroot/_compat.py | 3 +++
cheroot/server.py | 3 ++-
2 files changed, 5 insertions(+), 1 deletion(-)
Index: cheroot-6.5.5/cheroot/_compat.py
===================================================================
--- cheroot-6.5.5.orig/cheroot/_compat.py
+++ cheroot-6.5.5/cheroot/_compat.py
@@ -24,6 +24,9 @@ IS_WINDOWS = SYS_PLATFORM == 'Windows'
IS_LINUX = SYS_PLATFORM == 'Linux'
IS_MACOS = SYS_PLATFORM == 'Darwin'
+PLATFORM_ARCH = platform.machine()
+IS_PPC = PLATFORM_ARCH.startswith('ppc')
+
if six.PY3:
def ntob(n, encoding='ISO-8859-1'):
Index: cheroot-6.5.5/cheroot/server.py
===================================================================
--- cheroot-6.5.5.orig/cheroot/server.py
+++ cheroot-6.5.5/cheroot/server.py
@@ -86,6 +86,7 @@ from six.moves import urllib
from . import errors, __version__
from ._compat import bton, ntou
+from ._compat import IS_PPC
from .workers import threadpool
from .makefile import MakeFile, StreamWriter
@@ -142,7 +143,7 @@ if not hasattr(socket, 'SO_PEERCRED'):
which case the getsockopt() will hopefully fail. The arch
specific value could be derived from platform.processor()
"""
- socket.SO_PEERCRED = 17
+ socket.SO_PEERCRED = 21 if IS_PPC else 17
LF = b'\n'

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Fri Sep 13 04:50:22 UTC 2019 - Thomas Bechtold <tbechtold@suse.com>
- update to 6.5.8:
- Fix socket.SO_PEERCRED constant fallback value under PowerPC.
- Fix race condition when toggling stats counting in the middle
of request processing.
- Improve post Python 3.9 compatibility checks.
- Fix support of abstract namespace sockets
- Fix HTTP parser to return 400 on invalid major-only HTTP version
in Request-Line.
- Drop cheroot_fix_so_peercred_ppc.patch . Applied upstream.
-------------------------------------------------------------------
Thu Sep 5 09:09:44 UTC 2019 - Michel Normand <normand@linux.vnet.ibm.com>

View File

@@ -19,14 +19,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define pypi_name cheroot
Name: python-%{pypi_name}
Version: 6.5.5
Version: 6.5.8
Release: 0
Summary: Pure-python HTTP server
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/cherrypy/%{pypi_name}
Source: https://files.pythonhosted.org/packages/source/c/%{pypi_name}/%{pypi_name}-%{version}.tar.gz
Patch1: cheroot_fix_so_peercred_ppc.patch
BuildRequires: %{python_module more-itertools >= 2.6}
BuildRequires: %{python_module pyOpenSSL}
BuildRequires: %{python_module pytest >= 2.8}