forked from pool/python-cheroot
- Add cheroot_fix_so_peercred_ppc.patch to solve python 2.7 tests failures for PowerPC, boo#1147151 OBS-URL: https://build.opensuse.org/request/show/728456 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cheroot?expand=0&rev=14
55 lines
1.8 KiB
Diff
55 lines
1.8 KiB
Diff
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'
|