From 013079cc2f9289cc3f2c775fe321cf1e59d570340eb8101198a608d5ac1b0984 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 18 May 2018 13:34:36 +0000 Subject: [PATCH 1/5] Accepting request 610355 from home:tbechtold:branches:devel:tools - update to 1.12.0: Core: * Update protobuf submodule to 3.5.2 (#15114) * Make GrpcBuffer{Reader|Writer} Public (#14541) * Compile Out Tracers Option (#15108) * Fix bug in an address sorting comparison (#15208) * Fix: Check retry timer before starting resolving (#15156) * Fix c-ares resolution with default authority (#15073) * Fix c-ares resolver crash when DNS server unreachable (#15134) * Performance: Avoid low severity log message construction (#14945) * Peformance: Enable SIO_LOOPBACK_FAST_PATH on Windows (#14905) C#: * Add RpcException.StatusCode property (#15140) * Improvements to C# build instructions (#15178) Python: * Eliminate grpcio package dependency on protobuf package (#15034). Please pay extra attention if you are using gRPC with Protocol Buffers and your deployment scripts do not explicitly list the correct dependencies and used to rely on the transitive Python package dependency from grpcio to protobuf. * A new grpc.Channel.close method is introduced and correct use of gRPC Python now requires that channels be closed after use. No existing code should observably break when upgrading to 1.12 but code that creates channels but does not close them will not be supported in 1.13 and later. Core: * Fix: Check retry timer before starting resolving (#15156) * Fix c-ares resolution with default authority (#15073) * Fix c-ares resolver crash when DNS server unreachable (#15134) * Add core underpinnings for TLS session ticket support (#14483) * Experimental support for configurable retries (use at your own risk) (#10684) * Fail calls with wait_for_ready=false on transient resolver failure (#14733) OBS-URL: https://build.opensuse.org/request/show/610355 OBS-URL: https://build.opensuse.org/package/show/devel:tools/grpc?expand=0&rev=20 --- grpc.changes | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++ grpc.spec | 6 ++-- v1.10.0.tar.gz | 3 -- v1.12.0.tar.gz | 3 ++ 4 files changed, 97 insertions(+), 5 deletions(-) delete mode 100644 v1.10.0.tar.gz create mode 100644 v1.12.0.tar.gz diff --git a/grpc.changes b/grpc.changes index 547bca2..f2d5cb9 100644 --- a/grpc.changes +++ b/grpc.changes @@ -1,3 +1,93 @@ +------------------------------------------------------------------- +Fri May 18 13:26:45 UTC 2018 - tbechtold@suse.com + +- update to 1.12.0: + Core: + * Update protobuf submodule to 3.5.2 (#15114) + * Make GrpcBuffer{Reader|Writer} Public (#14541) + * Compile Out Tracers Option (#15108) + * Fix bug in an address sorting comparison (#15208) + * Fix: Check retry timer before starting resolving (#15156) + * Fix c-ares resolution with default authority (#15073) + * Fix c-ares resolver crash when DNS server unreachable (#15134) + * Performance: Avoid low severity log message construction (#14945) + * Peformance: Enable SIO_LOOPBACK_FAST_PATH on Windows (#14905) + C#: + * Add RpcException.StatusCode property (#15140) + * Improvements to C# build instructions (#15178) + Python: + * Eliminate grpcio package dependency on protobuf package (#15034). + Please pay extra attention if you are using gRPC with Protocol Buffers and + your deployment scripts do not explicitly list the correct dependencies + and used to rely on the transitive Python package dependency from grpcio to protobuf. + * A new grpc.Channel.close method is introduced and correct use of gRPC + Python now requires that channels be closed after use. No existing code + should observably break when upgrading to 1.12 but code that creates + channels but does not close them will not be supported in 1.13 and later. + Core: + * Fix: Check retry timer before starting resolving (#15156) + * Fix c-ares resolution with default authority (#15073) + * Fix c-ares resolver crash when DNS server unreachable (#15134) + * Add core underpinnings for TLS session ticket support (#14483) + * Experimental support for configurable retries (use at your own risk) (#10684) + * Fail calls with wait_for_ready=false on transient resolver failure (#14733) + * Fix a call stack ref flake (#14681) + * c-ares DNS resolver sorts resolved addresses per RFC 6724 (#13290) + * Use socklen_t instead of size_t for address length (fixes use case for some + big endian systems) (#14464) + * Initial part of channel tracing implementation (#13883, #14746, #14751) + * Avoid crashes on environments with hot-plugged CPUs (#14712) + * When building from source, Makefile now checks for minimum protobuf + version 3.5.0 instead 3.0.0 (#14821) + * gRPC Core public header no longer includes inttypes.h (#14676) + * CMake improvements: + * Add well-commented examples and continuous test for various ways of + building gRPC as a dependency (via ExternalProject_Add in #14822, + via add_subdirectory in #14864) + * Remove internal tools from binaries installed by cmake install (#14850) + * Simplify Android build example (#14885) + * Enable SO_REUSEPORT in IPv6-only environments as well (#14748) + C#: + * Improvements in experimental support for Unity - added useful resources + and improved support for loading grpc_csharp_ext on Unity (#14576, #14605) + * Further prevent name collisions by using only fully qualified type + names in C# code generator (#14524) + * Fix C# connectivity watcher shutdown race (#14776) + Objective-C: + * Support for Keep-Alive (#14781) + * Experimental C++ podspec now supports Apple framework (#14480) + * Allow discarding generated implementation (leaving only protocol) + with macro (#14490) + * Better handling of network error (#14554) + PHP: + * Add missing -O2 compilation flag for pecl (#14768) + * Update the reserved variable list to check in PHP code generator to + match protobuf 3.5.0 (#13580) + Python: + * Progress towards full Beta API elimination (Beta API is and has been + unsupported and will go away completely): + Remove _face_interface_test tests for the Beta API (#14702) + * Remove Python background poller thread (#14448) + Note there is a small change in behavior. Before, clients would + detect disconnected channels immediately. + * Initial gevent compatibility (EXPERIMENTAL) (#14561) + * Release the GIL when calling grpc_call_start_batch to improve + performance under multithreaded scenarios. (#14801) + Ruby: + * Correct handling of underscores in package names by Protocol Buffers code + generator for Ruby (#13634) + * Source code and locally compiled (not cross-compiled) shared libraries + (grpc_c.so files) are removed from the linux binary packages. This includes + the packages targeting the x86_64-linux and x86-linux platforms (#14634) + * Bug fix for a use-after-free related to access to a garbage collected + object (#14809) + * Get rid of the -Wno-format argument to compilation of the ruby extension + * Documentation improvements (#14535) + * Don’t raise GRPC::Core::CallErrors for failed reads or writes of bidi + streaming calls (#14922) + * Fix a race condition in an interrupt handler that could cause an + assertion failure (#14953) + ------------------------------------------------------------------- Wed Mar 28 14:30:53 UTC 2018 - jengelh@inai.de diff --git a/grpc.spec b/grpc.spec index d95c181..85b11c3 100644 --- a/grpc.spec +++ b/grpc.spec @@ -18,7 +18,7 @@ %define lname libgrpc6 Name: grpc -Version: 1.10.0 +Version: 1.12.0 Release: 0 Summary: HTTP/2-based Remote Procedure Call implementation License: Apache-2.0 @@ -27,6 +27,7 @@ Url: http://grpc.io/ Source: https://github.com/grpc/grpc/archive/v%version.tar.gz Patch1: grpc-build.diff Patch2: grpc-versioning.diff + BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkg-config @@ -63,7 +64,7 @@ applications that want to make use of the gRPC reference implementation. %setup -q %patch -P 1 -P 2 -p1 -%build +%build make LIBDIR=x CONFIG=opt \ x/opt/pkgconfig/grpc.pc x/opt/pkgconfig/grpc_unsecure.pc \ x/opt/pkgconfig/grpc++.pc x/opt/pkgconfig/grpc++_unsecure.pc @@ -105,6 +106,7 @@ cp x/opt/pkgconfig/*.pc "$b/%_libdir/pkgconfig/" %_bindir/* %_includedir/* %_libdir/pkgconfig/*.pc +%_libdir/libaddress_sorting.so %_libdir/libgpr.so %_libdir/libgrpc++.so %_libdir/libgrpc++_cronet.so diff --git a/v1.10.0.tar.gz b/v1.10.0.tar.gz deleted file mode 100644 index 89c1a59..0000000 --- a/v1.10.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39a73de6fa2a03bdb9c43c89a4283e09880833b3c1976ef3ce3edf45c8cacf72 -size 13160605 diff --git a/v1.12.0.tar.gz b/v1.12.0.tar.gz new file mode 100644 index 0000000..84b310e --- /dev/null +++ b/v1.12.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb9698f23aeec2c3832601fa3f804e4d9dc28eca3cc560ef466c9ade1ec951db +size 13692310 From 45c7394d0c893be3c462b9c28863514e4c735c1bc122ac058b50e5bcee105676 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 18 May 2018 14:07:31 +0000 Subject: [PATCH 2/5] adjust library versioning to match Makefile OBS-URL: https://build.opensuse.org/package/show/devel:tools/grpc?expand=0&rev=21 --- grpc-versioning.diff | 29 ++++++++++++++++++++++------- grpc.spec | 32 ++++++++++++++++++++++++-------- 2 files changed, 46 insertions(+), 15 deletions(-) diff --git a/grpc-versioning.diff b/grpc-versioning.diff index e0108da..f98c83c 100644 --- a/grpc-versioning.diff +++ b/grpc-versioning.diff @@ -1,7 +1,21 @@ From: Jan Engelhardt Date: 2017-04-19 10:07:43.563879307 +0200 -Unversioned libraries are an ABI nightmare, so work around that in short order. + +The plain Makefile produces these libs: + +/libaddress_sorting.so.6 -> libaddress_sorting.so.6.0.0 +/libgpr.so.6 -> libgpr.so.6.0.0 +/libgrpc++.so.1 -> libgrpc++.so.1.12.0 +/libgrpc++_cronet.so.1 -> libgrpc++_cronet.so.1.12.0 +/libgrpc++_error_details.so.1 -> libgrpc++_error_details.so.1.12.0 +/libgrpc++_reflection.so.1 -> libgrpc++_reflection.so.1.12.0 +/libgrpc++_unsecure.so.1 -> libgrpc++_unsecure.so.1.12.0 +/libgrpc.so.6 -> libgrpc.so.6.0.0 +/libgrpc_cronet.so.6 -> libgrpc_cronet.so.6.0.0 +/libgrpc_unsecure.so.6 -> libgrpc_unsecure.so.6.0.0 + +The cmake files leave them unversioned. --- CMakeLists.txt | 13 +++++++++++++ @@ -11,12 +25,13 @@ Index: grpc-1.10.0/CMakeLists.txt =================================================================== --- grpc-1.10.0.orig/CMakeLists.txt +++ grpc-1.10.0/CMakeLists.txt -@@ -29,6 +29,8 @@ set(PACKAGE_STRING "${PACKAGE_NAME} $ +@@ -29,6 +29,9 @@ set(PACKAGE_STRING "${PACKAGE_NAME} $ set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}") set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") project(${PACKAGE_NAME} C CXX) +# from Makefile: +set(LIBVER 6) ++set(XLIBVER 1) set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") @@ -56,7 +71,7 @@ Index: grpc-1.10.0/CMakeLists.txt src/cpp/util/time_cc.cc src/cpp/codegen/codegen_init.cc ) -+set_target_properties(grpc++ PROPERTIES VERSION ${LIBVER}) ++set_target_properties(grpc++ PROPERTIES VERSION ${XLIBVER}) if(WIN32 AND MSVC) set_target_properties(grpc++ PROPERTIES COMPILE_PDB_NAME "grpc++" @@ -64,7 +79,7 @@ Index: grpc-1.10.0/CMakeLists.txt third_party/nanopb/pb_decode.c third_party/nanopb/pb_encode.c ) -+set_target_properties(grpc++_cronet PROPERTIES VERSION ${LIBVER}) ++set_target_properties(grpc++_cronet PROPERTIES VERSION ${XLIBVER}) if(WIN32 AND MSVC) set_target_properties(grpc++_cronet PROPERTIES COMPILE_PDB_NAME "grpc++_cronet" @@ -72,7 +87,7 @@ Index: grpc-1.10.0/CMakeLists.txt ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.h src/cpp/util/error_details.cc ) -+set_target_properties(grpc++_error_details PROPERTIES VERSION ${LIBVER}) ++set_target_properties(grpc++_error_details PROPERTIES VERSION ${XLIBVER}) if(WIN32 AND MSVC) set_target_properties(grpc++_error_details PROPERTIES COMPILE_PDB_NAME "grpc++_error_details" @@ -80,7 +95,7 @@ Index: grpc-1.10.0/CMakeLists.txt ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h ) -+set_target_properties(grpc++_reflection PROPERTIES VERSION ${LIBVER}) ++set_target_properties(grpc++_reflection PROPERTIES VERSION ${XLIBVER}) if(WIN32 AND MSVC) set_target_properties(grpc++_reflection PROPERTIES COMPILE_PDB_NAME "grpc++_reflection" @@ -88,7 +103,7 @@ Index: grpc-1.10.0/CMakeLists.txt test/cpp/util/test_credentials_provider.cc src/cpp/codegen/codegen_init.cc ) -+set_target_properties(grpc++_unsecure PROPERTIES VERSION ${LIBVER}) ++set_target_properties(grpc++_unsecure PROPERTIES VERSION ${XLIBVER}) if(WIN32 AND MSVC) set_target_properties(grpc++_test_util PROPERTIES COMPILE_PDB_NAME "grpc++_test_util" diff --git a/grpc.spec b/grpc.spec index 85b11c3..0716657 100644 --- a/grpc.spec +++ b/grpc.spec @@ -16,7 +16,6 @@ # -%define lname libgrpc6 Name: grpc Version: 1.12.0 Release: 0 @@ -42,11 +41,20 @@ The reference implementation of the gRPC protocol, done on top of HTTP/2 with support for synchronous and asynchronous calls. gRPC uses Protocol Buffers as the Interface Definition Language by default. -%package -n %lname +%package -n libgrpc6 Summary: HTTP/2-based Remote Procedure Call implementation Group: System/Libraries -%description -n %lname +%description -n libgrpc6 +The reference implementation of the gRPC protocol, done on top of +HTTP/2 with support for synchronous and asynchronous calls. gRPC uses +Protocol Buffers as the Interface Definition Language by default. + +%package -n libgrpc++1 +Summary: C++ interface to grpc, a HTTP/2-based Remote Procedure Call implementation +Group: System/Libraries + +%description -n libgrpc++1 The reference implementation of the gRPC protocol, done on top of HTTP/2 with support for synchronous and asynchronous calls. gRPC uses Protocol Buffers as the Interface Definition Language by default. @@ -54,7 +62,8 @@ Protocol Buffers as the Interface Definition Language by default. %package devel Summary: Development files for grpc, a HTTP/2 Remote Procedure Call implementation Group: Development/Tools/Building -Requires: %lname = %version +Requires: libgrpc++1 = %version +Requires: libgrpc6 = %version %description devel This subpackage contains libraries and header files for developing @@ -93,12 +102,19 @@ cp x/opt/pkgconfig/*.pc "$b/%_libdir/pkgconfig/" # ln -s "${i##*/}" "${i%%-%version.so}.so" #done -%post -n %lname -p /sbin/ldconfig -%postun -n %lname -p /sbin/ldconfig +%post -n libgrpc6 -p /sbin/ldconfig +%postun -n libgrpc6 -p /sbin/ldconfig +%post -n libgrpc++1 -p /sbin/ldconfig +%postun -n libgrpc++1 -p /sbin/ldconfig -%files -n %lname +%files -n libgrpc6 %defattr(-,root,root) -%_libdir/libg*.so.6 +%_libdir/libgrpc.so.6* +%_libdir/libgrpc_*.so.6* + +%files -n libgrpc++1 +%defattr(-,root,root) +%_libdir/libgrpc++*.so.1 %files devel %defattr(-,root,root) From f234d16caf870fc828c31557e198578a6df5c7567299cd3c7dc5710dfa3d861e Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 18 May 2018 14:55:41 +0000 Subject: [PATCH 3/5] - Switch to plain makefiles since they generate more shared libs. OBS-URL: https://build.opensuse.org/package/show/devel:tools/grpc?expand=0&rev=22 --- grpc.changes | 5 ++++ grpc.spec | 84 ++++++++++++++-------------------------------------- 2 files changed, 28 insertions(+), 61 deletions(-) diff --git a/grpc.changes b/grpc.changes index f2d5cb9..e07b982 100644 --- a/grpc.changes +++ b/grpc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri May 18 14:55:27 UTC 2018 - jengelh@inai.de + +- Switch to plain makefiles since they generate more shared libs. + ------------------------------------------------------------------- Fri May 18 13:26:45 UTC 2018 - tbechtold@suse.com diff --git a/grpc.spec b/grpc.spec index 0716657..fd9691b 100644 --- a/grpc.spec +++ b/grpc.spec @@ -16,6 +16,7 @@ # +%define lname libgrpc6 Name: grpc Version: 1.12.0 Release: 0 @@ -41,20 +42,11 @@ The reference implementation of the gRPC protocol, done on top of HTTP/2 with support for synchronous and asynchronous calls. gRPC uses Protocol Buffers as the Interface Definition Language by default. -%package -n libgrpc6 +%package -n %lname Summary: HTTP/2-based Remote Procedure Call implementation Group: System/Libraries -%description -n libgrpc6 -The reference implementation of the gRPC protocol, done on top of -HTTP/2 with support for synchronous and asynchronous calls. gRPC uses -Protocol Buffers as the Interface Definition Language by default. - -%package -n libgrpc++1 -Summary: C++ interface to grpc, a HTTP/2-based Remote Procedure Call implementation -Group: System/Libraries - -%description -n libgrpc++1 +%description -n %lname The reference implementation of the gRPC protocol, done on top of HTTP/2 with support for synchronous and asynchronous calls. gRPC uses Protocol Buffers as the Interface Definition Language by default. @@ -62,8 +54,7 @@ Protocol Buffers as the Interface Definition Language by default. %package devel Summary: Development files for grpc, a HTTP/2 Remote Procedure Call implementation Group: Development/Tools/Building -Requires: libgrpc++1 = %version -Requires: libgrpc6 = %version +Requires: %lname = %version %description devel This subpackage contains libraries and header files for developing @@ -74,47 +65,29 @@ applications that want to make use of the gRPC reference implementation. %patch -P 1 -P 2 -p1 %build -make LIBDIR=x CONFIG=opt \ - x/opt/pkgconfig/grpc.pc x/opt/pkgconfig/grpc_unsecure.pc \ - x/opt/pkgconfig/grpc++.pc x/opt/pkgconfig/grpc++_unsecure.pc -%cmake \ - -DgRPC_PROTOBUF_PROVIDER=package \ - -DgRPC_SSL_PROVIDER=package \ - -DgRPC_ZLIB_PROVIDER=package \ - -DgRPC_CARES_PROVIDER=package \ - -DgRPC_INSTALL_BINDIR="%_bindir" \ - -DgRPC_INSTALL_INCLUDEDIR="%_includedir" \ - -DgRPC_INSTALL_LIBDIR="%_libdir" - -#[ 36%] Running gRPC C++ protocol buffer compiler on src/proto/grpc/reflection/v1alpha/reflection.proto -#cd /home/abuild/rpmbuild/BUILD/grpc-1.2.3 && /usr/bin/protoc --grpc_out=/home/abuild/rpmbuild/BUILD/grpc-1.2.3/build/gens --cpp_out=/home/abuild/rpmbuild/BUILD/grpc-1.2.3/build/gens --plugin=protoc-gen-grpc=/home/abuild/rpmbuild/BUILD/grpc-1.2.3/build/grpc_cpp_plugin -I . src/proto/grpc/reflection/v1alpha/reflection.proto -#/home/abuild/rpmbuild/BUILD/grpc-1.2.3/build/grpc_cpp_plugin: error while loading shared libraries: libgrpc_plugin_support.so: cannot open shared object file: No such file or directory -#--grpc_out: protoc-gen-grpc: Plugin failed with status code 127. -export LD_LIBRARY_PATH="$PWD" -%make_jobs +%make_jobs STRIP=/bin/true V=1 VERBOSE=1 CFLAGS="%optflags" CXXFLAGS="%optflags" %install b="%buildroot" -mkdir -p "$b/%_libdir/pkgconfig" -cp x/opt/pkgconfig/*.pc "$b/%_libdir/pkgconfig/" -%cmake_install -#for i in "$b/%_libdir"/libg*-%version.so; do -# ln -s "${i##*/}" "${i%%-%version.so}.so" -#done +%make_install prefix="$b/%_prefix" STRIP=/bin/true V=1 VERBOSE=1 +find "$b/%_includedir" -type f -exec chmod a-x {} + +pushd "$b/usr" +rm -f lib/*.a +perl -i -pe 's{^prefix=.*}{prefix=%_prefix}' lib/pkgconfig/*.pc +perl -i -pe 's{^libdir=.*}{libdir=%_libdir}' lib/pkgconfig/*.pc +if test ! -d lib64 && test "%_lib" = lib64; then + mv lib lib64 +fi +popd -%post -n libgrpc6 -p /sbin/ldconfig -%postun -n libgrpc6 -p /sbin/ldconfig -%post -n libgrpc++1 -p /sbin/ldconfig -%postun -n libgrpc++1 -p /sbin/ldconfig +%post -n %lname -p /sbin/ldconfig +%postun -n %lname -p /sbin/ldconfig -%files -n libgrpc6 +%files -n %lname %defattr(-,root,root) -%_libdir/libgrpc.so.6* -%_libdir/libgrpc_*.so.6* - -%files -n libgrpc++1 -%defattr(-,root,root) -%_libdir/libgrpc++*.so.1 +%_libdir/libaddress_sorting.so.* +%_libdir/libgpr*.so.* +%_libdir/libgrpc*.so.* %files devel %defattr(-,root,root) @@ -122,18 +95,7 @@ cp x/opt/pkgconfig/*.pc "$b/%_libdir/pkgconfig/" %_bindir/* %_includedir/* %_libdir/pkgconfig/*.pc -%_libdir/libaddress_sorting.so -%_libdir/libgpr.so -%_libdir/libgrpc++.so -%_libdir/libgrpc++_cronet.so -%_libdir/libgrpc++_error_details.so -%_libdir/libgrpc++_reflection.so -%_libdir/libgrpc++_unsecure.so -%_libdir/libgrpc.so -%_libdir/libgrpc_cronet.so -%_libdir/libgrpc_csharp_ext.so -%_libdir/libgrpc_plugin_support.so -%_libdir/libgrpc_unsecure.so -/usr/lib/cmake +%_libdir/*.so +%_datadir/grpc/ %changelog From b6a645a3b528c2d451e373f4a150b53cbc61ba4f6629e1db1b4cb26b38e2d8c1 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 18 May 2018 14:56:55 +0000 Subject: [PATCH 4/5] - Remove grpc-build.diff, grpc-versioning.diff. OBS-URL: https://build.opensuse.org/package/show/devel:tools/grpc?expand=0&rev=23 --- grpc-build.diff | 25 --------- grpc-versioning.diff | 125 ------------------------------------------- grpc.changes | 1 + grpc.spec | 4 -- 4 files changed, 1 insertion(+), 154 deletions(-) delete mode 100644 grpc-build.diff delete mode 100644 grpc-versioning.diff diff --git a/grpc-build.diff b/grpc-build.diff deleted file mode 100644 index eae9fa3..0000000 --- a/grpc-build.diff +++ /dev/null @@ -1,25 +0,0 @@ -From: Jan Engelhardt -Date: 2017-12-12 00:32:39.501708666 +0100 - -openSUSE's c-ares has no c-aresConfig.cmake or c-ares-config.cmake. -Work around it. ---- - cmake/cares.cmake | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -Index: grpc-1.10.0/cmake/cares.cmake -=================================================================== ---- grpc-1.10.0.orig/cmake/cares.cmake -+++ grpc-1.10.0/cmake/cares.cmake -@@ -31,10 +31,5 @@ if("${gRPC_CARES_PROVIDER}" STREQUAL "mo - endif() - elseif("${gRPC_CARES_PROVIDER}" STREQUAL "package") - # Use "CONFIG" as there is no built-in cmake module for c-ares. -- find_package(c-ares REQUIRED CONFIG) -- if(TARGET c-ares::cares) -- set(_gRPC_CARES_LIBRARIES c-ares::cares) -- set(_gRPC_CARES_INCLUDE_DIR ${c-ares_INCLUDE_DIR}) -- endif() -- set(_gRPC_FIND_CARES "if(NOT c-ares_FOUND)\n find_package(c-ares CONFIG)\nendif()") -+ set(_gRPC_CARES_LIBRARIES -lcares) - endif() diff --git a/grpc-versioning.diff b/grpc-versioning.diff deleted file mode 100644 index f98c83c..0000000 --- a/grpc-versioning.diff +++ /dev/null @@ -1,125 +0,0 @@ -From: Jan Engelhardt -Date: 2017-04-19 10:07:43.563879307 +0200 - - -The plain Makefile produces these libs: - -/libaddress_sorting.so.6 -> libaddress_sorting.so.6.0.0 -/libgpr.so.6 -> libgpr.so.6.0.0 -/libgrpc++.so.1 -> libgrpc++.so.1.12.0 -/libgrpc++_cronet.so.1 -> libgrpc++_cronet.so.1.12.0 -/libgrpc++_error_details.so.1 -> libgrpc++_error_details.so.1.12.0 -/libgrpc++_reflection.so.1 -> libgrpc++_reflection.so.1.12.0 -/libgrpc++_unsecure.so.1 -> libgrpc++_unsecure.so.1.12.0 -/libgrpc.so.6 -> libgrpc.so.6.0.0 -/libgrpc_cronet.so.6 -> libgrpc_cronet.so.6.0.0 -/libgrpc_unsecure.so.6 -> libgrpc_unsecure.so.6.0.0 - -The cmake files leave them unversioned. - ---- - CMakeLists.txt | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: grpc-1.10.0/CMakeLists.txt -=================================================================== ---- grpc-1.10.0.orig/CMakeLists.txt -+++ grpc-1.10.0/CMakeLists.txt -@@ -29,6 +29,9 @@ set(PACKAGE_STRING "${PACKAGE_NAME} $ - set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}") - set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") - project(${PACKAGE_NAME} C CXX) -+# from Makefile: -+set(LIBVER 6) -+set(XLIBVER 1) - - set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") - set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") -@@ -775,6 +777,7 @@ target_link_libraries(gpr_test_util - ${_gRPC_ALLTARGETS_LIBRARIES} - gpr - ) -+set_target_properties(gpr PROPERTIES VERSION ${LIBVER}) - - - endif (gRPC_BUILD_TESTS) -@@ -1032,6 +1035,7 @@ add_library(grpc - src/core/ext/filters/workarounds/workaround_utils.cc - src/core/plugin_registry/grpc_plugin_registry.cc - ) -+set_target_properties(grpc PROPERTIES VERSION ${LIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc PROPERTIES COMPILE_PDB_NAME "grpc" -@@ -1343,6 +1347,7 @@ add_library(grpc_cronet - src/core/ext/filters/load_reporting/server_load_reporting_plugin.cc - src/core/plugin_registry/grpc_cronet_plugin_registry.cc - ) -+set_target_properties(grpc_cronet PROPERTIES VERSION ${LIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc_cronet PROPERTIES COMPILE_PDB_NAME "grpc_cronet" -@@ -2220,6 +2225,7 @@ add_library(grpc_unsecure - src/core/ext/filters/workarounds/workaround_utils.cc - src/core/plugin_registry/grpc_unsecure_plugin_registry.cc - ) -+set_target_properties(grpc_unsecure PROPERTIES VERSION ${LIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc_unsecure PROPERTIES COMPILE_PDB_NAME "grpc_unsecure" -@@ -2429,6 +2435,7 @@ add_library(grpc++ - src/cpp/util/time_cc.cc - src/cpp/codegen/codegen_init.cc - ) -+set_target_properties(grpc++ PROPERTIES VERSION ${XLIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc++ PROPERTIES COMPILE_PDB_NAME "grpc++" -@@ -2969,6 +2976,7 @@ add_library(grpc++_cronet - third_party/nanopb/pb_decode.c - third_party/nanopb/pb_encode.c - ) -+set_target_properties(grpc++_cronet PROPERTIES VERSION ${XLIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc++_cronet PROPERTIES COMPILE_PDB_NAME "grpc++_cronet" -@@ -3231,6 +3239,7 @@ add_library(grpc++_error_details - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/status/status.grpc.pb.h - src/cpp/util/error_details.cc - ) -+set_target_properties(grpc++_error_details PROPERTIES VERSION ${XLIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc++_error_details PROPERTIES COMPILE_PDB_NAME "grpc++_error_details" -@@ -3355,6 +3364,7 @@ add_library(grpc++_reflection - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.pb.h - ${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/reflection/v1alpha/reflection.grpc.pb.h - ) -+set_target_properties(grpc++_reflection PROPERTIES VERSION ${XLIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc++_reflection PROPERTIES COMPILE_PDB_NAME "grpc++_reflection" -@@ -3479,6 +3489,7 @@ add_library(grpc++_test_util - test/cpp/util/test_credentials_provider.cc - src/cpp/codegen/codegen_init.cc - ) -+set_target_properties(grpc++_unsecure PROPERTIES VERSION ${XLIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc++_test_util PROPERTIES COMPILE_PDB_NAME "grpc++_test_util" -@@ -4206,6 +4217,7 @@ add_library(grpc_plugin_support - src/compiler/python_generator.cc - src/compiler/ruby_generator.cc - ) -+set_target_properties(grpc_plugin_support PROPERTIES VERSION ${LIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc_plugin_support PROPERTIES COMPILE_PDB_NAME "grpc_plugin_support" -@@ -4700,6 +4712,7 @@ endif (gRPC_BUILD_TESTS) - add_library(grpc_csharp_ext SHARED - src/csharp/ext/grpc_csharp_ext.c - ) -+set_target_properties(grpc_csharp_ext PROPERTIES VERSION ${LIBVER}) - - if(WIN32 AND MSVC) - set_target_properties(grpc_csharp_ext PROPERTIES COMPILE_PDB_NAME "grpc_csharp_ext" diff --git a/grpc.changes b/grpc.changes index e07b982..d613f50 100644 --- a/grpc.changes +++ b/grpc.changes @@ -2,6 +2,7 @@ Fri May 18 14:55:27 UTC 2018 - jengelh@inai.de - Switch to plain makefiles since they generate more shared libs. +- Remove grpc-build.diff, grpc-versioning.diff. ------------------------------------------------------------------- Fri May 18 13:26:45 UTC 2018 - tbechtold@suse.com diff --git a/grpc.spec b/grpc.spec index fd9691b..cd68740 100644 --- a/grpc.spec +++ b/grpc.spec @@ -25,9 +25,6 @@ License: Apache-2.0 Group: Development/Tools/Building Url: http://grpc.io/ Source: https://github.com/grpc/grpc/archive/v%version.tar.gz -Patch1: grpc-build.diff -Patch2: grpc-versioning.diff - BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: pkg-config @@ -62,7 +59,6 @@ applications that want to make use of the gRPC reference implementation. %prep %setup -q -%patch -P 1 -P 2 -p1 %build %make_jobs STRIP=/bin/true V=1 VERBOSE=1 CFLAGS="%optflags" CXXFLAGS="%optflags" From 30aa4f3ce53dbf00c53fb81fc30afdd66fcda37885beb415091fe1c538095f23 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 18 May 2018 15:11:37 +0000 Subject: [PATCH 5/5] kill certs OBS-URL: https://build.opensuse.org/package/show/devel:tools/grpc?expand=0&rev=24 --- grpc.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/grpc.spec b/grpc.spec index cd68740..a4d2800 100644 --- a/grpc.spec +++ b/grpc.spec @@ -61,14 +61,14 @@ applications that want to make use of the gRPC reference implementation. %setup -q %build -%make_jobs STRIP=/bin/true V=1 VERBOSE=1 CFLAGS="%optflags" CXXFLAGS="%optflags" +make %{?_smp_mflags} STRIP=/bin/true V=1 VERBOSE=1 CFLAGS="%optflags" CXXFLAGS="%optflags" %install b="%buildroot" %make_install prefix="$b/%_prefix" STRIP=/bin/true V=1 VERBOSE=1 find "$b/%_includedir" -type f -exec chmod a-x {} + pushd "$b/usr" -rm -f lib/*.a +rm -fv lib/*.a share/grpc/*.pem perl -i -pe 's{^prefix=.*}{prefix=%_prefix}' lib/pkgconfig/*.pc perl -i -pe 's{^libdir=.*}{libdir=%_libdir}' lib/pkgconfig/*.pc if test ! -d lib64 && test "%_lib" = lib64; then @@ -92,6 +92,5 @@ popd %_includedir/* %_libdir/pkgconfig/*.pc %_libdir/*.so -%_datadir/grpc/ %changelog