New version 1.37.1

- General:
  * New version 1.37.1
  * Drop patches that were upstreamed since the last packaged release, were
    backported from upstream in the first place, or have otherwise been
    obsoleted by upstream changes.
  * Rebase/update remaining patches as needed
  * Drop Fedora 32 compatibility
- C (core) and C++ (cpp):
  * Switch to CMake build system and add CMake files to -devel package
  * Build with C++17 for compatibility with the abseil-cpp package in Fedora
  * Run the port server during core tests
This commit is contained in:
Benjamin A. Beasley 2021-03-22 18:34:21 -04:00
parent 3cb5b701a1
commit ce88e01640
28 changed files with 1263 additions and 3516 deletions

3
.gitignore vendored
View File

@ -7,3 +7,6 @@
/grpc-1.26.0.tar.gz
/release-1.10.0.tar.gz
/googletest-release-1.10.0.tar.gz
/grpc-1.36.4.tar.gz
/grpc-1.37.0.tar.gz
/grpc-1.37.1.tar.gz

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
diff -Naur grpc-1.26.0-original/CMakeLists.txt grpc-1.26.0/CMakeLists.txt
--- grpc-1.26.0-original/CMakeLists.txt 2019-12-17 20:29:27.000000000 -0500
+++ grpc-1.26.0/CMakeLists.txt 2021-03-15 09:17:35.873493405 -0400
@@ -2609,6 +2609,7 @@
${_gRPC_ALLTARGETS_LIBRARIES}
gpr
grpc_unsecure
+ grpc
upb
)
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)

View File

@ -1,21 +0,0 @@
diff -Naur grpc-1.26.0-original/src/python/grpcio_tests/setup.py grpc-1.26.0/src/python/grpcio_tests/setup.py
--- grpc-1.26.0-original/src/python/grpcio_tests/setup.py 2019-12-17 20:29:27.000000000 -0500
+++ grpc-1.26.0/src/python/grpcio_tests/setup.py 2021-02-02 09:11:20.236194502 -0500
@@ -37,7 +37,7 @@
}
INSTALL_REQUIRES = (
- 'coverage>=4.0', 'enum34>=1.0.4',
+ 'coverage>=4.0',
'grpcio>={version}'.format(version=grpc_version.VERSION),
'grpcio-channelz>={version}'.format(version=grpc_version.VERSION),
'grpcio-status>={version}'.format(version=grpc_version.VERSION),
@@ -48,6 +48,8 @@
if not PY3:
INSTALL_REQUIRES += ('futures>=2.2.0',)
+if sys.version_info < (3, 4):
+ INSTALL_REQUIRES += ('enum34>=1.0.4',)
COMMAND_CLASS = {
# Run `preprocess` *before* doing any packaging!

View File

@ -1,40 +0,0 @@
diff -Naur grpc-1.26.0-original/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py grpc-1.26.0/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py
--- grpc-1.26.0-original/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py 2019-12-17 20:29:27.000000000 -0500
+++ grpc-1.26.0/src/python/grpcio_tests/tests/interop/_secure_intraop_test.py 2021-03-15 10:09:54.802317262 -0400
@@ -13,6 +13,7 @@
# limitations under the License.
"""Secure client-server interoperability as a unit test."""
+import os
import unittest
import grpc
@@ -29,6 +30,8 @@
class SecureIntraopTest(_intraop_test_case.IntraopTestCase, unittest.TestCase):
def setUp(self):
+ if 'FEDORA_NO_NETWORK_TESTS' in os.environ:
+ self.skipTest('Network tests disabled')
self.server = test_common.test_server()
test_pb2_grpc.add_TestServiceServicer_to_server(service.TestService(),
self.server)
diff -Naur grpc-1.26.0-original/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py grpc-1.26.0/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py
--- grpc-1.26.0-original/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py 2019-12-17 20:29:27.000000000 -0500
+++ grpc-1.26.0/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py 2021-03-15 10:08:08.159649736 -0400
@@ -13,6 +13,7 @@
# limitations under the License.
"""Tests for an actual dns resolution."""
+import os
import unittest
import logging
import six
@@ -45,6 +46,8 @@
def tearDown(self):
self._server.stop(None)
+ @unittest.skipIf('FEDORA_NO_NETWORK_TESTS' in os.environ,
+ 'Network tests disabled')
def test_connect_loopback(self):
# NOTE(https://github.com/grpc/grpc/issues/18422)
# In short, Gevent + C-Ares = Segfault. The C-Ares driver is not

View File

@ -1,14 +0,0 @@
Backport upstream commit 9e0b427893b65b220faf8a31a6afdc67f6f41364 “Use != with literals”
diff -Naur grpc-1.26.0-original/src/python/grpcio/commands.py grpc-1.26.0/src/python/grpcio/commands.py
--- grpc-1.26.0-original/src/python/grpcio/commands.py 2019-12-17 20:29:27.000000000 -0500
+++ grpc-1.26.0/src/python/grpcio/commands.py 2021-01-28 12:51:33.635142522 -0500
@@ -99,7 +99,7 @@
target_dir = os.path.join(GRPC_STEM, 'doc', 'build')
exit_code = sphinx.cmd.build.build_main(
['-b', 'html', '-W', '--keep-going', source_dir, target_dir])
- if exit_code is not 0:
+ if exit_code:
raise CommandError(
"Documentation generation has warnings or errors")

View File

@ -1,23 +0,0 @@
diff -Naur grpc-1.26.0-original/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py grpc-1.26.0/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py
--- grpc-1.26.0-original/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py 2019-12-17 20:29:27.000000000 -0500
+++ grpc-1.26.0/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py 2021-03-15 09:15:08.419558680 -0400
@@ -235,8 +235,7 @@
def setUp(self):
self._thread_pool = thread_pool.RecordingThreadPool(max_workers=None)
- super(HealthServicerTest, self).start_server(
- non_blocking=True, thread_pool=self._thread_pool)
+ super().start_server(non_blocking=True, thread_pool=self._thread_pool)
def test_check_empty_service(self):
request = health_pb2.HealthCheckRequest()
@@ -273,8 +272,7 @@
class HealthServicerBackwardsCompatibleWatchTest(BaseWatchTests.WatchTests):
def setUp(self):
- super(HealthServicerBackwardsCompatibleWatchTest, self).start_server(
- non_blocking=False, thread_pool=None)
+ super().start_server(non_blocking=False, thread_pool=None)
if __name__ == '__main__':

View File

@ -0,0 +1,45 @@
diff -Naur grpc-1.36.4-original/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py grpc-1.36.4/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py
--- grpc-1.36.4-original/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py 2021-03-17 15:59:05.000000000 -0400
+++ grpc-1.36.4/src/python/grpcio_tests/tests/health_check/_health_servicer_test.py 2021-03-22 16:39:05.558398948 -0400
@@ -234,9 +234,7 @@
def setUp(self):
self._thread_pool = thread_pool.RecordingThreadPool(max_workers=None)
- super(HealthServicerTest,
- self).start_server(non_blocking=True,
- thread_pool=self._thread_pool)
+ super().start_server(non_blocking=True, thread_pool=self._thread_pool)
def test_check_empty_service(self):
request = health_pb2.HealthCheckRequest()
@@ -273,8 +271,7 @@
class HealthServicerBackwardsCompatibleWatchTest(BaseWatchTests.WatchTests):
def setUp(self):
- super(HealthServicerBackwardsCompatibleWatchTest,
- self).start_server(non_blocking=False, thread_pool=None)
+ super().start_server(non_blocking=False, thread_pool=None)
if __name__ == '__main__':
diff -Naur grpc-1.36.4-original/src/python/grpcio_tests/tests/protoc_plugin/_python_plugin_test.py grpc-1.36.4/src/python/grpcio_tests/tests/protoc_plugin/_python_plugin_test.py
--- grpc-1.36.4-original/src/python/grpcio_tests/tests/protoc_plugin/_python_plugin_test.py 2021-03-17 15:59:05.000000000 -0400
+++ grpc-1.36.4/src/python/grpcio_tests/tests/protoc_plugin/_python_plugin_test.py 2021-03-22 16:39:05.559398954 -0400
@@ -532,7 +532,7 @@
request_iterator, context)
def setUp(self):
- super(SimpleStubsPluginTest, self).setUp()
+ super().setUp()
self._server = test_common.test_server()
service_pb2_grpc.add_TestServiceServicer_to_server(
self.Servicer(), self._server)
@@ -542,7 +542,7 @@
def tearDown(self):
self._server.stop(None)
- super(SimpleStubsPluginTest, self).tearDown()
+ super().tearDown()
def testUnaryCall(self):
request = request_pb2.SimpleRequest(response_size=13)

View File

@ -0,0 +1,20 @@
diff -Naur grpc-1.36.4-original/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py grpc-1.36.4/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py
--- grpc-1.36.4-original/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py 2021-03-17 15:59:05.000000000 -0400
+++ grpc-1.36.4/src/python/grpcio_tests/tests/unit/_dns_resolver_test.py 2021-03-22 16:43:35.697100185 -0400
@@ -13,6 +13,7 @@
# limitations under the License.
"""Tests for an actual dns resolution."""
+import os
import unittest
import logging
import six
@@ -45,6 +46,8 @@
def tearDown(self):
self._server.stop(None)
+ @unittest.skipIf('FEDORA_NO_NETWORK_TESTS' in os.environ,
+ 'Network tests disabled')
def test_connect_loopback(self):
# NOTE(https://github.com/grpc/grpc/issues/18422)
# In short, Gevent + C-Ares = Segfault. The C-Ares driver is not

View File

@ -1,6 +1,6 @@
diff -Naur grpc-1.36.0-original/src/python/grpcio_tests/tests/unit/_compression_test.py grpc-1.36.0/src/python/grpcio_tests/tests/unit/_compression_test.py
--- grpc-1.36.0-original/src/python/grpcio_tests/tests/unit/_compression_test.py 2021-02-23 16:34:43.000000000 -0500
+++ grpc-1.36.0/src/python/grpcio_tests/tests/unit/_compression_test.py 2021-03-03 09:41:03.076816980 -0500
diff -Naur grpc-1.36.4-original/src/python/grpcio_tests/tests/unit/_compression_test.py grpc-1.36.4/src/python/grpcio_tests/tests/unit/_compression_test.py
--- grpc-1.36.4-original/src/python/grpcio_tests/tests/unit/_compression_test.py 2021-03-17 15:59:05.000000000 -0400
+++ grpc-1.36.4/src/python/grpcio_tests/tests/unit/_compression_test.py 2021-03-22 16:46:55.555358822 -0400
@@ -318,6 +318,7 @@
else:
self.assertNotCompressed(received_ratio)

View File

@ -0,0 +1,50 @@
diff -Naur grpc-1.37.1-original/CMakeLists.txt grpc-1.37.1/CMakeLists.txt
--- grpc-1.37.1-original/CMakeLists.txt 2021-04-27 18:01:25.000000000 -0400
+++ grpc-1.37.1/CMakeLists.txt 2021-05-04 11:00:04.934427672 -0400
@@ -3294,10 +3294,6 @@
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
- third_party/googletest/googletest/include
- third_party/googletest/googletest
- third_party/googletest/googlemock/include
- third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(grpc++_test_config
@@ -10669,7 +10665,6 @@
endif()
-if(gRPC_BUILD_TESTS)
add_executable(grpc_cli
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.cc
@@ -10683,8 +10678,6 @@
test/cpp/util/proto_file_parser.cc
test/cpp/util/proto_reflection_descriptor_database.cc
test/cpp/util/service_describer.cc
- third_party/googletest/googletest/src/gtest-all.cc
- third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(grpc_cli
@@ -10699,10 +10692,6 @@
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
- third_party/googletest/googletest/include
- third_party/googletest/googletest
- third_party/googletest/googlemock/include
- third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
@@ -10715,7 +10704,6 @@
)
-endif()
if(gRPC_BUILD_CODEGEN AND gRPC_BUILD_GRPC_CPP_PLUGIN)
add_executable(grpc_cpp_plugin

View File

@ -0,0 +1,11 @@
diff -Naur grpc-1.37.0-original/tools/distrib/python/grpcio_tools/grpc_tools/protoc.py grpc-1.37.0/tools/distrib/python/grpcio_tools/grpc_tools/protoc.py
--- grpc-1.37.0-original/tools/distrib/python/grpcio_tools/grpc_tools/protoc.py 2021-04-06 18:48:56.000000000 -0400
+++ grpc-1.37.0/tools/distrib/python/grpcio_tools/grpc_tools/protoc.py 2021-04-22 15:45:59.234743676 -0400
@@ -42,6 +42,7 @@
if sys.version_info >= (3, 5, 0):
import contextlib
import importlib
+ import importlib.abc
import importlib.machinery
import threading

View File

@ -0,0 +1,45 @@
diff -Naur grpc-1.37.0-original/setup.py grpc-1.37.0/setup.py
--- grpc-1.37.0-original/setup.py 2021-04-06 18:48:56.000000000 -0400
+++ grpc-1.37.0/setup.py 2021-04-08 15:34:35.182802019 -0400
@@ -28,6 +28,7 @@
from distutils import util
import os
import os.path
+import pathlib
import pkg_resources
import platform
import re
@@ -154,6 +155,11 @@
# runtime, the shared library must be installed
BUILD_WITH_SYSTEM_RE2 = _env_bool_value('GRPC_PYTHON_BUILD_SYSTEM_RE2', 'False')
+# Export this variable to use the system installation of abseil. You need to
+# have the header files installed (in /usr/include/absl) and during
+# runtime, the shared library must be installed
+BUILD_WITH_SYSTEM_ABSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ABSL', False)
+
# Export this variable to force building the python extension with a statically linked libstdc++.
# At least on linux, this is normally not needed as we can build manylinux-compatible wheels on linux just fine
# without statically linking libstdc++ (which leads to a slight increase in the wheel size).
@@ -296,6 +302,10 @@
CORE_C_FILES = filter(lambda x: 'third_party/re2' not in x, CORE_C_FILES)
RE2_INCLUDE = (os.path.join('/usr', 'include', 're2'),)
+if BUILD_WITH_SYSTEM_ABSL:
+ CORE_C_FILES = filter(lambda x: 'third_party/abseil-cpp' not in x, CORE_C_FILES)
+ ABSL_INCLUDE = (os.path.join('/usr', 'include'),)
+
EXTENSION_INCLUDE_DIRECTORIES = ((PYTHON_STEM,) + CORE_INCLUDE + ABSL_INCLUDE +
ADDRESS_SORTING_INCLUDE + CARES_INCLUDE +
RE2_INCLUDE + SSL_INCLUDE + UPB_INCLUDE +
@@ -325,6 +335,10 @@
EXTENSION_LIBRARIES += ('cares',)
if BUILD_WITH_SYSTEM_RE2:
EXTENSION_LIBRARIES += ('re2',)
+if BUILD_WITH_SYSTEM_ABSL:
+ EXTENSION_LIBRARIES += tuple(
+ lib.stem[3:] for lib in pathlib.Path('/usr').glob('lib*/libabsl_*.so')
+ )
DEFINE_MACROS = (('_WIN32_WINNT', 0x600),)
asm_files = []

View File

@ -0,0 +1,24 @@
diff -Naur grpc-1.37.0-original/cmake/xxhash.cmake grpc-1.37.0/cmake/xxhash.cmake
--- grpc-1.37.0-original/cmake/xxhash.cmake 2021-04-06 18:48:56.000000000 -0400
+++ grpc-1.37.0/cmake/xxhash.cmake 2021-04-08 15:57:39.157042527 -0400
@@ -12,4 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-set(_gRPC_XXHASH_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/xxhash")
+pkg_search_module(XXHASH REQUIRED libxxhash)
+set(_gRPC_XXHASH_INCLUDE_DIR "${XXHASH_INCLUDEDIR}")
+set(_gRPC_XXHASH_LIBRARIES "${XXHASH_LIBRARIES}")
diff -Naur grpc-1.37.0-original/CMakeLists.txt grpc-1.37.0/CMakeLists.txt
--- grpc-1.37.0-original/CMakeLists.txt 2021-04-06 18:48:56.000000000 -0400
+++ grpc-1.37.0/CMakeLists.txt 2021-04-08 15:53:39.462854440 -0400
@@ -262,7 +262,8 @@
elseif(_gRPC_PLATFORM_ANDROID)
set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m)
elseif(UNIX)
- set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} rt m pthread)
+ set(_gRPC_ALLTARGETS_LIBRARIES
+ ${CMAKE_DL_LIBS} rt m pthread ${_gRPC_XXHASH_LIBRARIES})
endif()
if(WIN32)

View File

@ -14,3 +14,13 @@ addFilter(r' no-documentation')
addFilter(r' crypto-policy-non-compliance-openssl .* SSL_CTX_set_cipher_list')
# These will not dangle after the ca-certificates dependency is installed:
addFilter(r' dangling-relative-symlink .*\.pem$')
# We do not really have a way to work around this. It should be okay in
# practice. Hopefully the grpc_cli executable will become disentangled from the
# test libraries upstream and this will go away.
addFilter(r' shared-lib-without-dependency-information '
r'/.*libgrpc.._error_details\.so')
# There is nothing to document for these; they do not have --help output and
# are intended for program use.
addFilter(r' no-manual-page-for-binary grpc_.*_plugin$')
# There is really no version information available.
addFilter(r' unversioned-explicit-provides bundled\(upb\)')

853
grpc.spec

File diff suppressed because it is too large Load Diff

104
grpc_cli-call.1 Normal file
View File

@ -0,0 +1,104 @@
.TH GRPC_CLI\-CALL "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ call
\(en call method
.SH SYNOPSIS
.B grpc_cli call
.I address
.RI [ service [\fB. method ]]
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I address
.IB host : port
.TP
.I service
Exported service name
.TP
.I method
Method name
.TP
.I request
Text protobuffer (overrides
.BR \-\-infile )
.TP
.B \-\-protofiles
Comma separated proto files used as a fallback when parsing request/response
.TP
.B \-\-proto_path
The search paths of proto files
.RB ( :
separated), valid only when
.B \-\-protofiles
is given
.TP
.B \-\-noremotedb
Don\(cqt attempt to use reflection service at all
.TP
.B \-\-metadata
The metadata to be sent to the server
.TP
.B \-\-infile
Input filename (defaults to
.IR stdin )
.TP
.B \-\-outfile
Output filename (defaults to
.IR stdout )
.TP
.B \-\-binary_input
Input in binary format
.TP
.B \-\-binary_output
Output in binary format
.TP
.B \-\-json_input
Input in json format
.TP
.B \-\-json_output
Output in json format
.TP
.B \-\-timeout
Specify timeout (in seconds), used to set the deadline for RPCs.
The default value of
.B \-1
means no deadline has been set.
.TP
.B \-\-ssl_target
Set server host for ssl validation
.TP
.B \-\-ssl_client_cert
Client cert for ssl
.TP
.B \-\-ssl_client_key
Client private key for ssl
.TP
.B \-\-local_connect_type
Set to
.B local_tcp
or
.B uds
.TP
.B \-\-channel_creds_type
Set to
.BR insecure ,
.BR ssl ,
.BR gdc ,
.BR alts ,
or
.B local
.TP
.B \-\-call_creds
Set to
.BR none ,
or
.BI access_token= token
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

16
grpc_cli-help.1 Normal file
View File

@ -0,0 +1,16 @@
.TH GRPC_CLI\-HELP "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ help
\(en print help
.SH SYNOPSIS
.B grpc_cli help
.I subcommand
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1)

65
grpc_cli-ls.1 Normal file
View File

@ -0,0 +1,65 @@
.TH GRPC_CLI\-LS "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ ls
\(en list services
.SH SYNOPSIS
.B grpc_cli ls
.I address
.RI [ service [\fB/ method ]]
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I address
.IB host : port
.TP
.I service
Exported service name
.TP
.I method
Method name
.TP
.B \-\-l
Use a long listing format
.TP
.B \-\-outfile
Output filename (defaults to
.IR stdout )
.TP
.B \-\-ssl_target
Set server host for ssl validation
.TP
.B \-\-ssl_client_cert
Client cert for ssl
.TP
.B \-\-ssl_client_key
Client private key for ssl
.TP
.B \-\-local_connect_type
Set to
.B local_tcp
or
.B uds
.TP
.B \-\-channel_creds_type
Set to
.BR insecure ,
.BR ssl ,
.BR gdc ,
.BR alts ,
or
.B local
.TP
.B \-\-call_creds
Set to
.BR none ,
or
.BI access_token= token
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

93
grpc_cli-parse.1 Normal file
View File

@ -0,0 +1,93 @@
.TH GRPC_CLI\-PARSE "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ parse
\(en parse message
.SH SYNOPSIS
.B grpc_cli parse
.I address
.I type
.RI [ message ]
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I address
.IB host : port
.TP
.I type
Protocol buffer type name
.TP
.I message
Text protobuffer (overrides
.BR \-\-infile )
.TP
.B \-\-protofiles
Comma separated proto files used as a fallback when parsing request/response
.TP
.B \-\-proto_path
The search paths of proto files
.RB ( :
separated), valid only when
.B \-\-protofiles
is given
.TP
.B \-\-noremotedb
Don\(cqt attempt to use reflection service at all
.TP
.B \-\-infile
Input filename (defaults to
.IR stdin )
.TP
.B \-\-outfile
Output filename (defaults to
.IR stdout )
.TP
.B \-\-binary_input
Input in binary format
.TP
.B \-\-binary_output
Output in binary format
.TP
.B \-\-json_input
Input in json format
.TP
.B \-\-json_output
Output in json format
.TP
.B \-\-ssl_target
Set server host for ssl validation
.TP
.B \-\-ssl_client_cert
Client cert for ssl
.TP
.B \-\-ssl_client_key
Client private key for ssl
.TP
.B \-\-local_connect_type
Set to
.B local_tcp
or
.B uds
.TP
.B \-\-channel_creds_type
Set to
.BR insecure ,
.BR ssl ,
.BR gdc ,
.BR alts ,
or
.B local
.TP
.B \-\-call_creds
Set to
.BR none ,
or
.BI access_token= token
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

39
grpc_cli-tobinary.1 Normal file
View File

@ -0,0 +1,39 @@
.TH GRPC_CLI\-TOBINARY "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ tobinary
\(en convert text message to binary
.SH SYNOPSIS
.B grpc_cli tobinary
.I protofiles
.I type
.RI [ message ]
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I protofiles
Comma separated list of proto files
.TP
.I type
Protocol buffer type name
.TP
.B \-\-proto_path
The search paths of proto files
.RB ( :
separated)
.TP
.B \-\-infile
Input filename (defaults to
.IR stdin )
.TP
.B \-\-outfile
Output filename (defaults to
.IR stdout )
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-help (1)

38
grpc_cli-tojson.1 Normal file
View File

@ -0,0 +1,38 @@
.TH GRPC_CLI\-TOJSON "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ tojson
\(en convert binary message to json
.SH SYNOPSIS
.B grpc_cli tojson
.I protofiles
.I type
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I protofiles
Comma separated list of proto files
.TP
.I type
Protocol buffer type name
.TP
.B \-\-proto_path
The search paths of proto files
.RB ( :
separated)
.TP
.B \-\-infile
Input filename (defaults to
.IR stdin )
.TP
.B \-\-outfile
Output filename (defaults to
.IR stdout )
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

38
grpc_cli-totext.1 Normal file
View File

@ -0,0 +1,38 @@
.TH GRPC_CLI\-TOTEXT "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ totext
\(en convert binary message to text
.SH SYNOPSIS
.B grpc_cli totext
.I protofiles
.I type
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I protofiles
Comma separated list of proto files
.TP
.I type
Protocol buffer type name
.TP
.B \-\-proto_path
The search paths of proto files
.RB ( :
separated)
.TP
.B \-\-infile
Input filename (defaults to
.IR stdin )
.TP
.B \-\-outfile
Output filename (defaults to
.IR stdout )
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

55
grpc_cli-type.1 Normal file
View File

@ -0,0 +1,55 @@
.TH GRPC_CLI\-TYPE "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli\ type
\(en print type
.SH SYNOPSIS
.B grpc_cli type
.I address
.I type
.RI [ OPTION ]...\:
.SH OPTIONS
.TP
.I address
.IB host : port
.TP
.I type
Protocol buffer type name
.TP
.B \-\-ssl_target
Set server host for ssl validation
.TP
.B \-\-ssl_client_cert
Client cert for ssl
.TP
.B \-\-ssl_client_key
Client private key for ssl
.TP
.B \-\-local_connect_type
Set to
.B local_tcp
or
.B uds
.TP
.B \-\-channel_creds_type
Set to
.BR insecure ,
.BR ssl ,
.BR gdc ,
.BR alts ,
or
.B local
.TP
.B \-\-call_creds
Set to
.BR none ,
or
.BI access_token= token
.SH "SEE\ ALSO"
.BR grpc_cli (1),
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

48
grpc_cli.1 Normal file
View File

@ -0,0 +1,48 @@
.TH GRPC_CLI "1" "May 2021" "" "User Commands"
.SH NAME
.B grpc_cli
\(en a command-line tool to talk to a grpc server
.SH SYNOPSIS
.B grpc_cli
.I COMMAND
.RI [ OPTION ]...\:
.SH OPTIONS
.SS COMMANDS
.P
Each of the following has a corresponding man page: for example,
.BR grpc_cli\-ls (1)
for
.RB \(lq grpc_cli\ ls \(rq.
.TP
.B grpc_cli\ ls
List services
.TP
.B grpc_cli\ call
Call method
.TP
.B grpc_cli\ type
Print type
.TP
.B grpc_cli\ parse
Parse message
.TP
.B grpc_cli\ totext
Convert binary message to text
.TP
.B grpc_cli\ tojson
Convert binary message to json
.TP
.B grpc_cli\ tobinary
Convert text message to binary
.TP
.B grpc_cli\ help
Print this message, or per-command usage
.SH "SEE\ ALSO"
.BR grpc_cli\-ls (1),
.BR grpc_cli\-call (1),
.BR grpc_cli\-type (1),
.BR grpc_cli\-parse (1),
.BR grpc_cli\-totext (1),
.BR grpc_cli\-tojson (1),
.BR grpc_cli\-tobinary (1),
.BR grpc_cli\-help (1)

View File

@ -1,2 +1,2 @@
SHA512 (grpc-1.26.0.tar.gz) = 4f7d067c582d0a9be7b7d4dd1e08acdbe6ff0686dfe92b5db5b7927f779410a4237acfd1c61d9f79eb2d00f86cf93cc7492fa372c1877e57c1aa23e9bb2648bb
SHA512 (grpc-1.37.1.tar.gz) = fe02447f558116e9ed2de48142b9bd3b8908d496aea7816406eee2c6ad136714ee14c2104a82a32f56ab486c5050b4665c55bacb24c91ceabcf1b998a5fc86b7
SHA512 (googletest-release-1.10.0.tar.gz) = bd52abe938c3722adc2347afad52ea3a17ecc76730d8d16b065e165bc7477d762bce0997a427131866a89f1001e3f3315198204ffa5d643a9355f1f4d0d7b1a9