SHA256
1
0
forked from jengelh/grpc

Accepting request 648253 from devel:tools

- Update to new upstream release 1.16

OBS-URL: https://build.opensuse.org/request/show/648253
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/grpc?expand=0&rev=11
This commit is contained in:
Dominique Leuenberger 2018-11-12 08:45:14 +00:00 committed by Git OBS Bridge
commit 19ea5b4b15
7 changed files with 87 additions and 200 deletions

View File

@ -1,68 +0,0 @@
From 30ce693621d61efb8596503a0da212077a8c4daa Mon Sep 17 00:00:00 2001
From: Thomas Bechtold <tbechtold@suse.com>
Date: Thu, 24 May 2018 17:12:13 +0200
Subject: [PATCH 1/3] Allow building the python module with system openssl
When building the python module and using the new
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL env variable, the third party
boringssl code is not compiled. Instead, the openssl shared library
installed on the system is used during runtime.
This is useful for distributions who don't want to include code copies
but use shared libraries instead.
---
setup.py | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
index 99d1a1c504..3a5ed56c64 100644
--- a/setup.py
+++ b/setup.py
@@ -35,7 +35,7 @@ egg_info.manifest_maker.template = 'PYTHON-MANIFEST.in'
PY3 = sys.version_info.major == 3
PYTHON_STEM = os.path.join('src', 'python', 'grpcio')
CORE_INCLUDE = ('include', '.',)
-BORINGSSL_INCLUDE = (os.path.join('third_party', 'boringssl', 'include'),)
+SSL_INCLUDE = (os.path.join('third_party', 'boringssl', 'include'),)
ZLIB_INCLUDE = (os.path.join('third_party', 'zlib'),)
CARES_INCLUDE = (
os.path.join('third_party', 'cares'),
@@ -84,6 +84,12 @@ CLASSIFIERS = [
# present, then it will still attempt to use Cython.
BUILD_WITH_CYTHON = os.environ.get('GRPC_PYTHON_BUILD_WITH_CYTHON', False)
+# Export this variable to use the system installation of openssl. You need to
+# have the header files installed (in /usr/include/openssl) and during
+# runtime, the shared libary must be installed
+BUILD_WITH_SYSTEM_OPENSSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL',
+ False)
+
# Environment variable to determine whether or not to enable coverage analysis
# in Cython modules.
ENABLE_CYTHON_TRACING = os.environ.get(
@@ -148,8 +154,13 @@ CORE_C_FILES = tuple(grpc_core_dependencies.CORE_SOURCE_FILES)
if "win32" in sys.platform:
CORE_C_FILES = filter(lambda x: 'third_party/cares' not in x, CORE_C_FILES)
+if BUILD_WITH_SYSTEM_OPENSSL:
+ CORE_C_FILES = filter(lambda x: 'third_party/boringssl' not in x, CORE_C_FILES)
+ CORE_C_FILES = filter(lambda x: 'src/boringssl' not in x, CORE_C_FILES)
+ SSL_INCLUDE = (os.path.join('/usr', 'include', 'openssl'),)
+
EXTENSION_INCLUDE_DIRECTORIES = (
- (PYTHON_STEM,) + CORE_INCLUDE + BORINGSSL_INCLUDE + ZLIB_INCLUDE +
+ (PYTHON_STEM,) + CORE_INCLUDE + SSL_INCLUDE + ZLIB_INCLUDE +
CARES_INCLUDE + ADDRESS_SORTING_INCLUDE)
EXTENSION_LIBRARIES = ()
@@ -159,6 +170,8 @@ if not "win32" in sys.platform:
EXTENSION_LIBRARIES += ('m',)
if "win32" in sys.platform:
EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',)
+if BUILD_WITH_SYSTEM_OPENSSL:
+ EXTENSION_LIBRARIES += ('ssl', 'crypto',)
DEFINE_MACROS = (
('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600),
--
2.17.0

View File

@ -1,55 +0,0 @@
From 3823d9048102bce79e165584c62a1a5b91810aeb Mon Sep 17 00:00:00 2001
From: Thomas Bechtold <tbechtold@suse.com>
Date: Fri, 25 May 2018 06:52:23 +0200
Subject: [PATCH 2/3] Allow building the python module with system zlib
When building the python module and using the new
GRPC_PYTHON_BUILD_SYSTEM_ZLIB env variable, the third party zlib code
is not compiled. Instead, the zlib shared library installed on the
system is used during runtime.
This is useful for distributions who don't want to include code copies
but use shared libraries instead.
---
setup.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/setup.py b/setup.py
index 3a5ed56c64..483d3ac168 100644
--- a/setup.py
+++ b/setup.py
@@ -90,6 +90,12 @@ BUILD_WITH_CYTHON = os.environ.get('GRPC_PYTHON_BUILD_WITH_CYTHON', False)
BUILD_WITH_SYSTEM_OPENSSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL',
False)
+# Export this variable to use the system installation of zlib. You need to
+# have the header files installed (in /usr/include/) and during
+# runtime, the shared libary must be installed
+BUILD_WITH_SYSTEM_ZLIB = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ZLIB',
+ False)
+
# Environment variable to determine whether or not to enable coverage analysis
# in Cython modules.
ENABLE_CYTHON_TRACING = os.environ.get(
@@ -159,6 +165,10 @@ if BUILD_WITH_SYSTEM_OPENSSL:
CORE_C_FILES = filter(lambda x: 'src/boringssl' not in x, CORE_C_FILES)
SSL_INCLUDE = (os.path.join('/usr', 'include', 'openssl'),)
+if BUILD_WITH_SYSTEM_ZLIB:
+ CORE_C_FILES = filter(lambda x: 'third_party/zlib' not in x, CORE_C_FILES)
+ ZLIB_INCLUDE = (os.path.join('/usr', 'include'),)
+
EXTENSION_INCLUDE_DIRECTORIES = (
(PYTHON_STEM,) + CORE_INCLUDE + SSL_INCLUDE + ZLIB_INCLUDE +
CARES_INCLUDE + ADDRESS_SORTING_INCLUDE)
@@ -172,6 +182,8 @@ if "win32" in sys.platform:
EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',)
if BUILD_WITH_SYSTEM_OPENSSL:
EXTENSION_LIBRARIES += ('ssl', 'crypto',)
+if BUILD_WITH_SYSTEM_ZLIB:
+ EXTENSION_LIBRARIES += ('z',)
DEFINE_MACROS = (
('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600),
--
2.17.0

View File

@ -1,55 +0,0 @@
From 78a6e04ec1efc2dc839f0329dcff732940e27fd9 Mon Sep 17 00:00:00 2001
From: Thomas Bechtold <tbechtold@suse.com>
Date: Fri, 25 May 2018 07:08:05 +0200
Subject: [PATCH 3/3] Allow building the python module with system cares
When building the python module and using the new
GRPC_PYTHON_BUILD_SYSTEM_CARES env variable, the third party cares code
is not compiled. Instead, the cares shared library installed on the
system is used during runtime.
This is useful for distributions who don't want to include code copies
but use shared libraries instead.
---
setup.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/setup.py b/setup.py
index 483d3ac168..43c25aafeb 100644
--- a/setup.py
+++ b/setup.py
@@ -96,6 +96,12 @@ BUILD_WITH_SYSTEM_OPENSSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_OPENSSL',
BUILD_WITH_SYSTEM_ZLIB = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ZLIB',
False)
+# Export this variable to use the system installation of cares. You need to
+# have the header files installed (in /usr/include/) and during
+# runtime, the shared libary must be installed
+BUILD_WITH_SYSTEM_CARES = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_CARES',
+ False)
+
# Environment variable to determine whether or not to enable coverage analysis
# in Cython modules.
ENABLE_CYTHON_TRACING = os.environ.get(
@@ -169,6 +175,10 @@ if BUILD_WITH_SYSTEM_ZLIB:
CORE_C_FILES = filter(lambda x: 'third_party/zlib' not in x, CORE_C_FILES)
ZLIB_INCLUDE = (os.path.join('/usr', 'include'),)
+if BUILD_WITH_SYSTEM_CARES:
+ CORE_C_FILES = filter(lambda x: 'third_party/cares' not in x, CORE_C_FILES)
+ CARES_INCLUDE = (os.path.join('/usr', 'include'),)
+
EXTENSION_INCLUDE_DIRECTORIES = (
(PYTHON_STEM,) + CORE_INCLUDE + SSL_INCLUDE + ZLIB_INCLUDE +
CARES_INCLUDE + ADDRESS_SORTING_INCLUDE)
@@ -184,6 +194,8 @@ if BUILD_WITH_SYSTEM_OPENSSL:
EXTENSION_LIBRARIES += ('ssl', 'crypto',)
if BUILD_WITH_SYSTEM_ZLIB:
EXTENSION_LIBRARIES += ('z',)
+if BUILD_WITH_SYSTEM_CARES:
+ EXTENSION_LIBRARIES += ('cares',)
DEFINE_MACROS = (
('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600),
--
2.17.0

View File

@ -1,3 +1,73 @@
-------------------------------------------------------------------
Sun Nov 11 17:57:35 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Update to new upstream release 1.16
* Keepalive watchdog firing should return status UNAVAILABLE.
* Set TCP_USER_TIMEOUT socket option for Linux.
* Turn loading system root certificate as default.
* Change pick_first to not unref unselected subchannels.
* cmake: prevent C core from depending on libstdc++.
* Implement Watch method in health check service.
-------------------------------------------------------------------
Sun Nov 11 10:57:12 UTC 2018 - Thomas Bechtold <tbechtold@suse.com>
- update to 1.15.1:
* Document SSL portability and performance considerations. See
https://github.com/grpc/grpc/blob/master/doc/ssl-performance.md .
* Simplify call arena size growth.
* PF: Check connectivity state before watching.
* Added system roots feature to load roots from OS trust store.
* Fix re-resolution in pick first.
* Allow error strings in final_info to propagate to filters on
call destruction.
* Add resolver executor.
* Data race fix for lockfree_event.
* Channelz: Expose new Core API.
* cmake: disable assembly optimizations only when necessary.
* C++ sync server: Return status RESOURCE_EXHAUSTED if no
thread quota available.
* Use correct target name for gflags-config.cmake.
* Make should generate pkg-config file for gpr as well.
* Restrict the number of threads in C++ sync server.
* Allow reset of connection backoff.
- update to 1.14.2:
* Add TROUBLESHOOTING.md guide
* Fixed gRPC channels blocking indefinitely and not respecting
deadlines on network disconnect.
* Add user guide for keepalive.
* Fix GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS doc
to restrict usage to server.
* Fixed ordering in adding pending picks to Round Robin LB.
* Implement local channel/server credentials for UDS connections.
* Allow extra copy in zero-copy protector integrity-only mode.
* Update to use the canonical version of LB proto.
* Prefer using https_proxy over http_proxy.
* Refactor to put c-ares queries under a combiner.
* Remove already_closed parameter from fd_orphan.
* Add channel arg to enable/disable http proxy.
* Fix shutdown of closed fd when c-ares opens a second fd.
* Fixed segmentation fault when product name from BIOS is empty.
* Introduce server-side load reporting service.
* Reorder steps in ServerBuilder::BuildAndStart().
* Support Per-Method Codegen Generic on Server Side.
* Protobuf-related headers are available in a subspec of
gRPC-C++ podspec.
- update to 1.13.1:
* gRPC stats will only be collected for debug builds or if
GRPC_COLLECT_STATS is defined. It will be disabled for opt
builds.
* Fix for Issue #13553. Unlimited can now be set as the max
receive message length.
* cmake install now also installs should also installs the
roots.pem file.
- Drop 0001-Allow-building-the-python-module-with-system-openssl.patch
Applied upstream
- Drop 0002-Allow-building-the-python-module-with-system-zlib.patch
Applied upstream
- 0003-Allow-building-the-python-module-with-system-cares.patch
Applied upstream
-------------------------------------------------------------------
Sat Jun 23 09:33:15 UTC 2018 - jengelh@inai.de

View File

@ -12,23 +12,21 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lname libgrpc6
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: grpc
Version: 1.12.0
Version: 1.16
Release: 0
%define rver 1.16.0
Summary: HTTP/2-based Remote Procedure Call implementation
License: Apache-2.0
Group: Development/Tools/Building
Url: http://grpc.io/
Source: https://github.com/grpc/grpc/archive/v%version.tar.gz
Patch0: 0001-Allow-building-the-python-module-with-system-openssl.patch
Patch1: 0002-Allow-building-the-python-module-with-system-zlib.patch
Patch2: 0003-Allow-building-the-python-module-with-system-cares.patch
Source: https://github.com/grpc/grpc/archive/v%rver.tar.gz
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
@ -68,8 +66,8 @@ applications that want to make use of the gRPC reference implementation.
%package -n python2-grpcio
Summary: Python language bindings for grpc, a HTTP/2 Remote Procedure Call implementation
Group: Development/Libraries/Python
Requires: %{lname} = %{version}-%{release}
Requires: python = %{python2_version}
Requires: %lname = %version-%release
Requires: python = %python2_version
%description -n python2-grpcio
This subpackage contains the python2 bindings.
@ -77,17 +75,14 @@ This subpackage contains the python2 bindings.
%package -n python3-grpcio
Summary: Python language bindings for grpc, a HTTP/2 Remote Procedure Call implementation
Group: Development/Libraries/Python
Requires: %{lname} = %{version}-%{release}
Requires: python = %{python3_version}
Requires: %lname = %version-%release
Requires: python = %python3_version
%description -n python3-grpcio
This subpackage contains the python3 bindings.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%setup -qn grpc-%rver
%build
make %{?_smp_mflags} STRIP=/bin/true V=1 VERBOSE=1 \
@ -98,7 +93,7 @@ export GRPC_PYTHON_BUILD_WITH_CYTHON=True
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True
export GRPC_PYTHON_BUILD_SYSTEM_CARES=True
export CFLAGS="%{optflags}"
export CFLAGS="%optflags"
%python_build
%install
@ -133,11 +128,11 @@ popd
%_libdir/*.so
%files -n python2-grpcio
%{python2_sitearch}/grpcio-%{version}-py*.egg-info
%{python2_sitearch}/grpc
%python2_sitearch/grpcio-%rver-py*.egg-info
%python2_sitearch/grpc
%files -n python3-grpcio
%{python3_sitearch}/grpcio-%{version}-py*.egg-info
%{python3_sitearch}/grpc
%python3_sitearch/grpcio-%rver-py*.egg-info
%python3_sitearch/grpc
%changelog

View File

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

3
v1.16.0.tar.gz Normal file
View File

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