From 3e21f629c75d9b2a772ed38b351dfc02519d2aac Mon Sep 17 00:00:00 2001 From: Peter Michael Green Date: Tue, 22 Sep 2020 18:29:12 +0100 Subject: [PATCH] Import grpc_1.30.2-2+rpi1.debian.tar.xz [dgit import tarball grpc 1.30.2-2+rpi1 grpc_1.30.2-2+rpi1.debian.tar.xz] --- changelog | 332 ++++++++ clean | 3 + control | 136 ++++ copyright | 147 ++++ docs | 1 + libgrpc++-dev.dirs | 2 + libgrpc++-dev.install | 8 + libgrpc++1.dirs | 1 + libgrpc++1.install | 2 + libgrpc-dev.dirs | 2 + libgrpc-dev.install | 12 + libgrpc10.install | 5 + patches/add-wrap-memcpy-flags.diff | 11 + patches/add_grpc_libdir.patch | 19 + patches/fix-protoc-path.patch | 27 + patches/install_libdir.patch | 307 ++++++++ patches/link_external_abseil.patch | 75 ++ patches/no-embed-libs.patch | 15 + patches/no-make-in-extconf.patch | 26 + patches/no_embedded_abseil.patch | 48 ++ patches/remove-missing-files-in-gemspec.patch | 745 ++++++++++++++++++ patches/series | 14 + patches/unbreak_foreach.patch | 32 + patches/unvendor-zlib.diff | 14 + patches/unversion_sphinx.patch | 20 + patches/use-system-grpc.patch | 10 + protobuf-compiler-grpc.docs | 1 + protobuf-compiler-grpc.install | 1 + ruby-tests.rake | 5 + rules | 96 +++ source/format | 1 + watch | 5 + 32 files changed, 2123 insertions(+) create mode 100644 changelog create mode 100644 clean create mode 100644 control create mode 100644 copyright create mode 100644 docs create mode 100644 libgrpc++-dev.dirs create mode 100644 libgrpc++-dev.install create mode 100644 libgrpc++1.dirs create mode 100644 libgrpc++1.install create mode 100644 libgrpc-dev.dirs create mode 100644 libgrpc-dev.install create mode 100644 libgrpc10.install create mode 100644 patches/add-wrap-memcpy-flags.diff create mode 100644 patches/add_grpc_libdir.patch create mode 100644 patches/fix-protoc-path.patch create mode 100644 patches/install_libdir.patch create mode 100644 patches/link_external_abseil.patch create mode 100644 patches/no-embed-libs.patch create mode 100644 patches/no-make-in-extconf.patch create mode 100644 patches/no_embedded_abseil.patch create mode 100644 patches/remove-missing-files-in-gemspec.patch create mode 100644 patches/series create mode 100644 patches/unbreak_foreach.patch create mode 100644 patches/unvendor-zlib.diff create mode 100644 patches/unversion_sphinx.patch create mode 100644 patches/use-system-grpc.patch create mode 100644 protobuf-compiler-grpc.docs create mode 100644 protobuf-compiler-grpc.install create mode 100644 ruby-tests.rake create mode 100755 rules create mode 100644 source/format create mode 100644 watch diff --git a/changelog b/changelog new file mode 100644 index 00000000..7c11f925 --- /dev/null +++ b/changelog @@ -0,0 +1,332 @@ +grpc (1.30.2-2+rpi1) bullseye-staging; urgency=medium + + * Link with libatomic on armhf too. + + -- Peter Michael Green Tue, 22 Sep 2020 17:29:12 +0000 + +grpc (1.30.2-2) unstable; urgency=medium + + * Add Break and Replaces on libgrpc9 to libgrpc10 (closes: #966116). + * Upload to Sid (closes: #963583). + + -- Laszlo Boszormenyi (GCS) Fri, 24 Jul 2020 17:28:01 +0200 + +grpc (1.30.2-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + + [ Praveen Arimbrathodiyil ] + * Bump minimum version of gem2deb to 1.0~ . + + -- Laszlo Boszormenyi (GCS) Sat, 18 Jul 2020 08:53:56 +0200 + +grpc (1.30.1-1) experimental; urgency=medium + + * New upstream release. + + -- Laszlo Boszormenyi (GCS) Mon, 13 Jul 2020 20:59:22 +0200 + +grpc (1.30.0-1) experimental; urgency=medium + + * New upstream release. + + -- Laszlo Boszormenyi (GCS) Fri, 26 Jun 2020 12:24:41 +0200 + +grpc (1.30.0~pre1-1) experimental; urgency=medium + + * New major upstream pre-release version. + * Update patches. + + -- Laszlo Boszormenyi (GCS) Fri, 12 Jun 2020 13:11:11 +0200 + +grpc (1.29.1-1) experimental; urgency=medium + + * New upstream release: + - fixes endless looping with default settings (closes: #959675). + * Update patches. + * Library transition from libgrpc9 to libgrpc10 . + + [ Adrian Bunk ] + * Link with libatomic on armel, mips, mipsel and powerpc (closes: #961193). + + -- Laszlo Boszormenyi (GCS) Sun, 24 May 2020 18:35:05 +0000 + +grpc (1.26.0-3) unstable; urgency=medium + + * Don't check for Sphinx version (closes: #955064). + * Update Standards-Version to 4.5.0 . + + -- Laszlo Boszormenyi (GCS) Thu, 30 Apr 2020 21:13:54 +0000 + +grpc (1.26.0-2) unstable; urgency=medium + + * Build with protobuf version 3.11.4 or later (closes: #946194). + * Make python3-grpcio depend on python3-protobuf (closes: #953890). + * Remove Andrew from Uploaders, thanks for all the fish. + * Upload to Sid (closes: #934665, #936667). + + -- Laszlo Boszormenyi (GCS) Sat, 21 Mar 2020 17:23:30 +0000 + +grpc (1.26.0-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + * Library transition from libgrpc8 to libgrpc9 . + * Update Standards-Version to 4.4.1 . + + -- Laszlo Boszormenyi (GCS) Fri, 20 Dec 2019 14:34:21 +0000 + +grpc (1.25.0-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + + -- Laszlo Boszormenyi (GCS) Thu, 07 Nov 2019 18:54:40 +0000 + +grpc (1.24.3-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + * Remove Python 2 bindings (closes: #936667). + * Update Python packaging bits. + * Update copyright file. + * Library transition from libgrpc7 to libgrpc8 . + + -- Laszlo Boszormenyi (GCS) Wed, 23 Oct 2019 05:45:37 +0000 + +grpc (1.23.0-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + + -- Laszlo Boszormenyi (GCS) Mon, 19 Aug 2019 09:15:47 +0000 + +grpc (1.22.0-2) experimental; urgency=medium + + * Unbreak upstream install foreach. + * Conflict libgrpc-dev with libgpr3-dev as well (closes: #933708). + + -- Laszlo Boszormenyi (GCS) Sat, 10 Aug 2019 13:40:28 +0000 + +grpc (1.22.0-1) experimental; urgency=medium + + * New upstream release. + * Build with 3.9+ release of ProtoBuf. + * Install roots.pem for certificates. + + -- Laszlo Boszormenyi (GCS) Fri, 09 Aug 2019 18:09:17 +0000 + +grpc (1.17.2-1) experimental; urgency=medium + + * New upstream release. + + -- Laszlo Boszormenyi (GCS) Sun, 16 Dec 2018 16:28:23 +0000 + +grpc (1.17.0-1) experimental; urgency=medium + + * New upstream release. + * Remove fix-libgrpc++-soname.diff as applied upstream. + * Remove libgrpcpp_channelz_symlink.patch as applied upstream. + * Update install_libdir patch. + * Install all libraries. + * Library transition from libgrpc6 to libgrpc7 . + + -- Laszlo Boszormenyi (GCS) Wed, 05 Dec 2018 13:45:31 +0000 + +grpc (1.16.1-1) unstable; urgency=medium + + * New upstream release (closes: #908873). + + [ Hilko Bengen ] + * Add python{,3}-grpcio packages (closes: #871442). + + -- Laszlo Boszormenyi (GCS) Tue, 27 Nov 2018 16:58:17 +0000 + +grpc (1.16.0-1) unstable; urgency=medium + + * New upstream release. + * Update no-werror.diff patch. + + -- Laszlo Boszormenyi (GCS) Tue, 23 Oct 2018 18:04:22 +0000 + +grpc (1.15.1-2) unstable; urgency=medium + + [ Ondřej Nový ] + * d/copyright: Use https protocol in Format field + * d/changelog: Remove trailing whitespaces + * d/control: Set Vcs-* to salsa.debian.org + + [ Laszlo Boszormenyi (GCS) ] + * Upload to Sid. + + -- Laszlo Boszormenyi (GCS) Thu, 11 Oct 2018 15:48:33 +0000 + +grpc (1.15.1-1) experimental; urgency=medium + + * New upstream release. + * Install gRPC platform support library pkg-config file. + * Fix libgrpcpp_channelz soname symlink. + + -- Laszlo Boszormenyi (GCS) Fri, 28 Sep 2018 15:40:03 +0000 + +grpc (1.15.0-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + * Update Standards-Version to 4.2.1 . + + -- Laszlo Boszormenyi (GCS) Sat, 15 Sep 2018 15:33:29 +0000 + +grpc (1.14.1-1) experimental; urgency=medium + + * New upstream release. + * Update patches. + * Build with recent protobuf release. + * Update Standards-Version to 4.1.5 . + + -- Laszlo Boszormenyi (GCS) Wed, 15 Aug 2018 15:30:08 +0000 + +grpc (1.13.0-1) experimental; urgency=medium + + * New major upstream release. + * Put ruby-grpc{,-tools} packages into section ruby. + + -- Laszlo Boszormenyi (GCS) Sun, 01 Jul 2018 22:44:30 +0000 + +grpc (1.13.0~pre3-1) experimental; urgency=medium + + * New major upstream pre-release version. + * Append installed library directory to LD_LIBRARY_PATH for linking Ruby + bindings. + * Conflict libgrpc-dev with libgpr2-dev as well (closes: #901218). + * Ignore all Ruby test failures. + + -- Laszlo Boszormenyi (GCS) Wed, 27 Jun 2018 17:48:53 +0000 + +grpc (1.13.0~pre2-1) experimental; urgency=medium + + * New major upstream pre-release version. + * Conflict libgrpc-dev with libgpr1-dev due to library name collision + (closes: #901218). + * Add ruby-grpc{,-tools} packages. + * Add Ruby testing. + * Enable verbose build. + + -- Laszlo Boszormenyi (GCS) Sun, 17 Jun 2018 11:36:43 +0000 + +grpc (1.12.0-1) experimental; urgency=medium + + * New upstream release. + + -- Laszlo Boszormenyi (GCS) Sun, 27 May 2018 14:06:16 +0000 + +grpc (1.11.0-1) experimental; urgency=medium + + [ Pirate Praveen ] + * New upstream release (Closes: #875747) + * Refresh patches + * Tighten dependencies + * Bump standards version to 4.1.4 + * Bump debhelper compat to 11 + * Library transition from libgrpc3 to libgrpc6 . + + [ Laszlo Boszormenyi (GCS) ] + * Don't specify parallel to debhelper. + * Install new C++ headers. + * Install upstream NOTICE.txt to protobuf-compiler-grpc package. + * Update packaging bits. + * Add patch for multiarch library installation. + * Make the package multiarch. + * Update d/copyright to match source. + * Be the maintainer, Andrew seems to be MIA. + + -- Laszlo Boszormenyi (GCS) Fri, 04 May 2018 17:04:13 +0000 + +grpc (1.3.2-1) unstable; urgency=medium + + [ Pirate Praveen ] + * Patch to provide a wrapped memcpy for linking (closes: #867541). + + -- Laszlo Boszormenyi (GCS) Mon, 14 Aug 2017 10:44:38 +0000 + +grpc (1.3.2-0.2) unstable; urgency=medium + + * Non-maintainer upload. + * fix-libgrpc++-soname.diff: Update to also fix the soname of + libgrpc++_error_details.so. (Closes: #863717) + + -- Steinar H. Gunderson Thu, 01 Jun 2017 18:11:56 +0200 + +grpc (1.3.2-0.1) unstable; urgency=medium + + * Non-maintainer upload. + * New upstream release. + * Refreshed all patches. + * Add Build-Dependency on libc-ares-dev. + + -- Steinar H. Gunderson Thu, 18 May 2017 18:09:28 +0200 + +grpc (1.2.5-1+nmu1) unstable; urgency=medium + + * Non-maintainer upload. + * Update debian/copyright with missing license information. (Closes: #861383) + * make-pkg-config-files-nonexecutable.diff: New patch, installs .pc files + as nonexecutable. Fixes Lintian warning. + + -- Steinar H. Gunderson Fri, 28 Apr 2017 18:48:22 +0200 + +grpc (1.2.5-1+nmu0) unstable; urgency=medium + + * Non-maintainer upload. + * New upstream release. + * Fixes CVE-2017-7860 and CVE-2017-7861. (Closes: #860316) + * Build the C++ library in addition to the C library. + * New packages libgrpc++-dev and libgrpc++1. + * Make a new package protobuf-compiler-grpc. (Closes: #818327) + * Add build-dependency on libprotoc-dev. + * Disable running tests, as they depend on Google's benchmark library, + which does not exist in Debian yet (and we do not wish to vendor it). + (By extension, Closes: #812845) + * Soname bump from libgrpc0 to libgrpc3. + * openssl-1.1.0.diff: New patch, fixes FTBFS with OpenSSL 1.1.0. + (Closes: #828332) + * fix-libgrpc++-soname.diff: New patch, fixes the symlink of libgrpc++ + to match the soname (fix for upstream bug #10299). + * Install libgrpc_unsecure.a. + * Install the pkg-config files. + * Upgrade to Standards-Version 3.9.8 (no changes needed). + + -- Steinar H. Gunderson Wed, 26 Apr 2017 19:11:42 +0200 + +grpc (0.12.0-1) unstable; urgency=medium + + * New upstream release + + -- Andrew Pollock Mon, 18 Jan 2016 10:16:06 +1000 + +grpc (0.11.1-1) unstable; urgency=low + + * New upstream release + * debian/control: update maintainer with upstream address, add myself as + uploader + + -- Andrew Pollock Thu, 24 Sep 2015 11:33:03 +1000 + +grpc (0.11.0.0-1) unstable; urgency=low + + * New upstream release + + -- Andrew Pollock Wed, 09 Sep 2015 13:05:55 +1000 + +grpc (0.10.2-1) unstable; urgency=medium + + * New upstream release (closes: #795766) + + -- Andrew Pollock Fri, 28 Aug 2015 09:26:25 +1000 + +grpc (0.10.0-1) unstable; urgency=low + + * Initial release (Closes: #786375) + + -- Andrew Pollock Thu, 07 May 2015 13:28:11 +1000 diff --git a/clean b/clean new file mode 100644 index 00000000..7c0f7c29 --- /dev/null +++ b/clean @@ -0,0 +1,3 @@ +client.prof +server.prof +third_party/protobuf/src diff --git a/control b/control new file mode 100644 index 00000000..01047472 --- /dev/null +++ b/control @@ -0,0 +1,136 @@ +Source: grpc +Priority: optional +Maintainer: Laszlo Boszormenyi (GCS) +Build-Depends: debhelper-compat (= 11), zlib1g-dev, libssl-dev, libabsl-dev, + libprotobuf-dev, protobuf-compiler (>= 3.12.1~), libgflags-dev, libgtest-dev, + libgoogle-perftools-dev, libprotoc-dev (>= 3.11.4~), libc-ares-dev, + gem2deb (>= 1.0~), ruby-google-protobuf (>= 3.9.1~), ruby-googleauth (>= 0.5.1~), + ruby-googleapis-common-protos-types, ruby-rspec, ruby-simplecov, + dh-python, + python3-all-dev, + cython3, + python3-six, + python3-setuptools, + python3-pkg-resources, + python3-sphinx, + python3-sphinx-rtd-theme +Standards-Version: 4.5.0 +Section: libs +Homepage: https://www.grpc.io/ +Testsuite: autopkgtest-pkg-ruby +XS-Ruby-Versions: all +Vcs-Git: https://salsa.debian.org/debian/grpc.git +Vcs-Browser: https://salsa.debian.org/debian/grpc + +Package: libgrpc-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libgrpc10 (= ${binary:Version}), ${misc:Depends} +Conflicts: libgpr1-dev, libgpr2-dev, libgpr3-dev +Description: high performance general RPC framework (development) + A modern, open source remote procedure call (RPC) framework that can + run anywhere. It enables client and server applications to communicate + transparently, and makes it easier to build connected systems. + . + This package contains the headers and the static library for libgrpc10. + +Package: libgrpc10 +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libgrpc9 +Replaces: libgrpc9 +Description: high performance general RPC framework + A modern, open source remote procedure call (RPC) framework that can + run anywhere. It enables client and server applications to communicate + transparently, and makes it easier to build connected systems. + . + This package provides the gRPC C bindings. + +Package: libgrpc++-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libgrpc++1 (= ${binary:Version}), libgrpc-dev (=${binary:Version}), ${misc:Depends} +Description: high performance general RPC framework (development) + A modern, open source remote procedure call (RPC) framework that can + run anywhere. It enables client and server applications to communicate + transparently, and makes it easier to build connected systems. + . + This package contains the headers and the static library for libgrpc++1. + +Package: libgrpc++1 +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: high performance general RPC framework + A modern, open source remote procedure call (RPC) framework that can + run anywhere. It enables client and server applications to communicate + transparently, and makes it easier to build connected systems. + . + This package provides the gRPC C++ bindings. + +Package: protobuf-compiler-grpc +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, protobuf-compiler +Description: high performance general RPC framework - protobuf plugin + A modern, open source remote procedure call (RPC) framework that can + run anywhere. It enables client and server applications to communicate + transparently, and makes it easier to build connected systems. + . + This package provides the plugins needed for compiling gRPC service + definitions with the protobuf compiler. + +Package: ruby-grpc +Section: ruby +Architecture: any +X-DhRuby-Root: . +XB-Ruby-Versions: ${ruby:Versions} +Depends: ruby | ruby-interpreter, + ruby-google-protobuf (>= 3.9.1~), + ruby-googleauth (>= 0.5.1~), + ruby-googleapis-common-protos-types, + ${misc:Depends}, + ${shlibs:Depends} +Conflicts: ruby-grpc (<< 1.13.0~pre2~) +Replaces: ruby-grpc (<< 1.13.0~pre2~) +Description: GRPC system in Ruby + Send RPCs from Ruby using GRPC. GRPC is a high performance, open-source + universal RPC framework. + . + Some features of gRPC: + * Simple service definition + * Works across languages and platforms + * Start quickly and scale + * Bi-directional streaming and integrated auth + +Package: ruby-grpc-tools +Section: ruby +Architecture: all +X-DhRuby-Root: src/ruby/tools +XB-Ruby-Versions: ${ruby:Versions} +Depends: ruby | ruby-interpreter, + ruby-grpc, + protobuf-compiler-grpc, + ${misc:Depends} +Conflicts: ruby-grpc-tools (<< 1.13.0~pre2~) +Replaces: ruby-grpc-tools (<< 1.13.0~pre2~) +Description: Development tools for Ruby gRPC + Ruby gRPC library allows sending RPCs from Ruby using GRPC. + GRPC is a high performance, open-source universal RPC framework. + +Package: python3-grpcio +Section: python +Architecture: any +Depends: + ${misc:Depends}, + ${python3:Depends}, + python3-protobuf (>= 3.11.4~), + ${shlibs:Depends}, +Description: GRPC system (Python 3) + A modern, open source remote procedure call (RPC) framework that can + run anywhere. It enables client and server applications to communicate + transparently, and makes it easier to build connected systems. + . + This package contains the Python 3 bindings. diff --git a/copyright b/copyright new file mode 100644 index 00000000..b85a1b8e --- /dev/null +++ b/copyright @@ -0,0 +1,147 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: grpc +Source: https://github.com/grpc/grpc/ + +Files: * +Copyright: 2008, Google Inc. + 2015, Google Inc. + 2015-2016, Google Inc. + 2016, Google Inc. + 2017, Google Inc. + Esben Mose Hansen, Ange Optimization ApS + 2009, Kitware, Inc. + 2009-2011, Philip Lowman + 2016 The Chromium Authors. All rights reserved. +License: Apache-2.0 + +Files: debian/* +Copyright: 2015-2016 Andrew Pollock + 2018 Hilko Bengen + 2018 Chris Lamb + 2017- Laszlo Boszormenyi (GCS) +License: GPL-2+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +Files: third_party/rake-compiler-dock/* +Copyright: 1998, 1999, 2000 Thai Open Source Software Center Ltd + 2015 Lars Kanis +License: MIT + +Files: src/php/tests/bootstrap.php +Copyright: 2014, Google Inc. +License: Apache-2.0 + +Files: third_party/address_sorting/* +Copyright: 1980, 1982, 1983, 1986, 1987, 1988, 1989, 1993 The Regents of the University of California + 1992, 1993, 1994 Henry Spencer + 1993 John Brezak + 1993 Martin Birgmeier + 1993, 2004 Sun Microsystems, Inc. + 1993 Digital Equipment Corporation + 1994 SigmaSoft, Th. Lockert + 1995, 1996, 1997, 1998 WIDE Project + 1995-2001, 2003 Internet Software Consortium + 1996, David Mazieres + 1996-1998, 2008, 2014, Theo de Raadt + 1997 Mark Brinicombe + 1997 Niklas Hallqvist + 1997, 2008-2009 Todd C. Miller + 1998-2001 Lucent Technologies + 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC") + 2006, 2007, 2008, 2009, 2010, 2012, 2013, 2016, 2017 The Android Open Source Project + 2008, 2009-2011 Steven G. Kargl, David Schultz, Bruce D. Evans + 2008, Damien Miller + 2009-2013 The Linux Foundation + 2013-2014, NVIDIA Corporation + 2013 Pietro Cerutti + 2013, Markus Friedl + 2008, 2014, ARM Limited + 2014, Linaro Ltd. +License: BSD-3-clause + +Files: third_party/upb/* +Copyright: 2009-2011, Google Inc. +License: BSD-3-clause + +Files: third_party/upb/third_party/lunit/* +Copyright: 2004-2010 Michael Roth +License: MIT + +License: BSD-3-clause + All rights reserved. + . + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of the company nor the names of its contributors + may be used to endorse or promote products derived from this + software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + https://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache License can be found in + the file `/usr/share/common-licenses/Apache-2.0'. + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs b/docs new file mode 100644 index 00000000..b43bf86b --- /dev/null +++ b/docs @@ -0,0 +1 @@ +README.md diff --git a/libgrpc++-dev.dirs b/libgrpc++-dev.dirs new file mode 100644 index 00000000..44188162 --- /dev/null +++ b/libgrpc++-dev.dirs @@ -0,0 +1,2 @@ +usr/lib +usr/include diff --git a/libgrpc++-dev.install b/libgrpc++-dev.install new file mode 100644 index 00000000..ada86e22 --- /dev/null +++ b/libgrpc++-dev.install @@ -0,0 +1,8 @@ +usr/include/grpc++/ +usr/include/grpcpp/ +usr/lib/*/libgrpc++*.a +usr/lib/*/libgrpc++*.so +usr/lib/*/libgrpcpp_channelz.a +usr/lib/*/libgrpcpp_channelz.so +usr/lib/*/pkgconfig/grpc++.pc +usr/lib/*/pkgconfig/grpc++_unsecure.pc diff --git a/libgrpc++1.dirs b/libgrpc++1.dirs new file mode 100644 index 00000000..68457717 --- /dev/null +++ b/libgrpc++1.dirs @@ -0,0 +1 @@ +usr/lib diff --git a/libgrpc++1.install b/libgrpc++1.install new file mode 100644 index 00000000..71ec3c64 --- /dev/null +++ b/libgrpc++1.install @@ -0,0 +1,2 @@ +usr/lib/*/libgrpc++*.so.* +usr/lib/*/libgrpcpp_channelz.so.* diff --git a/libgrpc-dev.dirs b/libgrpc-dev.dirs new file mode 100644 index 00000000..44188162 --- /dev/null +++ b/libgrpc-dev.dirs @@ -0,0 +1,2 @@ +usr/lib +usr/include diff --git a/libgrpc-dev.install b/libgrpc-dev.install new file mode 100644 index 00000000..4207d8b7 --- /dev/null +++ b/libgrpc-dev.install @@ -0,0 +1,12 @@ +usr/include/grpc/ +usr/lib/*/libgpr.a +usr/lib/*/libgpr.so +usr/lib/*/libgrpc.a +usr/lib/*/libgrpc.so +usr/lib/*/libgrpc_*.a +usr/lib/*/libgrpc_*.so +usr/lib/*/libaddress_sorting.a +usr/lib/*/libaddress_sorting.so +usr/lib/*/pkgconfig/gpr.pc +usr/lib/*/pkgconfig/grpc.pc +usr/lib/*/pkgconfig/grpc_unsecure.pc diff --git a/libgrpc10.install b/libgrpc10.install new file mode 100644 index 00000000..103dce23 --- /dev/null +++ b/libgrpc10.install @@ -0,0 +1,5 @@ +usr/share/grpc/roots.pem +usr/lib/*/libgpr.so.* +usr/lib/*/libgrpc.so.* +usr/lib/*/libgrpc_*.so.* +usr/lib/*/libaddress_sorting.so.* diff --git a/patches/add-wrap-memcpy-flags.diff b/patches/add-wrap-memcpy-flags.diff new file mode 100644 index 00000000..dd5fabd3 --- /dev/null +++ b/patches/add-wrap-memcpy-flags.diff @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -4087,7 +4087,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERS + ifeq ($(SYSTEM),Darwin) + $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS) + else +- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.10 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS) ++ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.10 -Wl,-wrap,memcpy -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS) + $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.10 + $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so + endif diff --git a/patches/add_grpc_libdir.patch b/patches/add_grpc_libdir.patch new file mode 100644 index 00000000..652487a5 --- /dev/null +++ b/patches/add_grpc_libdir.patch @@ -0,0 +1,19 @@ +Description: add local libdir to link with grpc + d/rules set TOPDIR to installed library directory. +Forwarded: not-needed +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2019-09-30 + +--- + +--- grpc-1.24.0.orig/src/ruby/ext/grpc/extconf.rb ++++ grpc-1.24.0/src/ruby/ext/grpc/extconf.rb +@@ -49,6 +49,8 @@ ENV['CPPFLAGS'] = '-DGPR_BACKWARDS_COMPA + output_dir = File.expand_path(RbConfig::CONFIG['topdir']) + grpc_lib_dir = File.join(output_dir, 'libs', grpc_config) + ENV['BUILDDIR'] = output_dir ++topdir = ENV['TOPDIR'] || '.' ++$LDFLAGS << ' -L' + topdir + + $CFLAGS << ' -I' + File.join(grpc_root, 'include') + diff --git a/patches/fix-protoc-path.patch b/patches/fix-protoc-path.patch new file mode 100644 index 00000000..c43b5508 --- /dev/null +++ b/patches/fix-protoc-path.patch @@ -0,0 +1,27 @@ +--- a/src/ruby/tools/bin/grpc_tools_ruby_protoc ++++ b/src/ruby/tools/bin/grpc_tools_ruby_protoc +@@ -23,8 +23,7 @@ + + plugin_name = 'grpc_ruby_plugin' + ext + +-protoc_dir = File.join(File.dirname(__FILE__), +- PLATFORM.architecture + '-' + PLATFORM.os_name) ++protoc_dir = '/usr/bin' + + protoc_path = File.join(protoc_dir, protoc_name) + +--- a/src/ruby/end2end/package_with_underscore_checker.rb ++++ b/src/ruby/end2end/package_with_underscore_checker.rb +@@ -21,10 +21,10 @@ def main + + fail 'CONFIG env variable unexpectedly unset' unless ENV['CONFIG'] + bins_sub_dir = ENV['CONFIG'] +- bins_dir = File.join(root_dir, 'bins', bins_sub_dir) ++ bins_dir = '/usr/bin' + + plugin = File.join(bins_dir, 'grpc_ruby_plugin') +- protoc = File.join(bins_dir, 'protobuf', 'protoc') ++ protoc = File.join(bins_dir, 'protoc') + + got = nil + diff --git a/patches/install_libdir.patch b/patches/install_libdir.patch new file mode 100644 index 00000000..6c624b79 --- /dev/null +++ b/patches/install_libdir.patch @@ -0,0 +1,307 @@ +--- a/Makefile ++++ b/Makefile +@@ -394,13 +394,13 @@ INCLUDES += /usr/local/include + endif + LIBS = m z + ifneq ($(wildcard /usr/local/ssl/lib),) +-LDFLAGS += -L/usr/local/ssl/lib ++LDFLAGS += -L/usr/local/ssl/$(INSTALL_LIBDIR) + endif + ifneq ($(wildcard /opt/local/lib),) +-LDFLAGS += -L/opt/local/lib ++LDFLAGS += -L/opt/local/$(INSTALL_LIBDIR) + endif + ifneq ($(wildcard /usr/local/lib),) +-LDFLAGS += -L/usr/local/lib ++LDFLAGS += -L/usr/local/$(INSTALL_LIBDIR) + endif + endif + +@@ -424,8 +424,8 @@ endif + ifeq ($(SYSTEM),Linux) + ifneq ($(prefix),/usr) + # Linux best practice for rpath on installed files is probably: +-# 1) .pc file provides -Wl,-rpath,$(prefix)/lib +-# 2) binaries we install into $(prefix)/bin use -Wl,-rpath,$ORIGIN/../lib ++# 1) .pc file provides -Wl,-rpath,$(prefix)/$(INSTALL_LIBDIR) ++# 2) binaries we install into $(prefix)/bin use -Wl,-rpath,$ORIGIN/../$(INSTALL_LIBDIR) + # 3) libraries we install into $(prefix)/lib use -Wl,-rpath,$ORIGIN + # cf. https://www.akkadia.org/drepper/dsohowto.pdf + # Doing all of that right is hard, but using -Wl,-rpath,$ORIGIN is always +@@ -454,7 +454,7 @@ endif + # Then you can do a make from the cross-compiling fresh clone! + # + ifeq ($(GRPC_CROSS_COMPILE),true) +-LDFLAGS += $(GRPC_CROSS_LDOPTS) # e.g. -L/usr/local/lib -L/usr/local/cross/lib ++LDFLAGS += $(GRPC_CROSS_LDOPTS) # e.g. -L/usr/local/lib -L/usr/local/cross/$(INSTALL_LIBDIR) + AROPTS = $(GRPC_CROSS_AROPTS) # e.g., rc --target=elf32-little + USE_BUILT_PROTOC = false + endif +@@ -2990,100 +2990,100 @@ install-static: install-static_c install + + install-static_c: static_c strip-static_c install-pkg-config_c + $(E) "[INSTALL] Installing libaddress_sorting.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(prefix)/lib/libaddress_sorting.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(prefix)/$(INSTALL_LIBDIR)/libaddress_sorting.a + $(E) "[INSTALL] Installing libgpr.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgpr.a $(prefix)/lib/libgpr.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgpr.a $(prefix)/$(INSTALL_LIBDIR)/libgpr.a + $(E) "[INSTALL] Installing libgrpc.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc.a $(prefix)/lib/libgrpc.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc.a + $(E) "[INSTALL] Installing libgrpc_csharp_ext.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext.a $(prefix)/lib/libgrpc_csharp_ext.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.a + $(E) "[INSTALL] Installing libgrpc_unsecure.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(prefix)/lib/libgrpc_unsecure.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.a + $(E) "[INSTALL] Installing libupb.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libupb.a $(prefix)/lib/libupb.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libupb.a $(prefix)/$(INSTALL_LIBDIR)/libupb.a + + install-static_cxx: static_cxx strip-static_cxx install-pkg-config_cxx + $(E) "[INSTALL] Installing libgrpc++.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(prefix)/lib/libgrpc++.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.a + $(E) "[INSTALL] Installing libgrpc++_alts.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_alts.a $(prefix)/lib/libgrpc++_alts.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_alts.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_alts.a + $(E) "[INSTALL] Installing libgrpc++_error_details.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a $(prefix)/lib/libgrpc++_error_details.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.a + $(E) "[INSTALL] Installing libgrpc++_reflection.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(prefix)/lib/libgrpc++_reflection.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.a + $(E) "[INSTALL] Installing libgrpc++_unsecure.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(prefix)/lib/libgrpc++_unsecure.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.a + $(E) "[INSTALL] Installing libgrpcpp_channelz.a" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpcpp_channelz.a $(prefix)/lib/libgrpcpp_channelz.a ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpcpp_channelz.a $(prefix)/$(INSTALL_LIBDIR)/libgrpcpp_channelz.a + + + + install-shared_c: shared_c strip-shared_c install-pkg-config_c + $(E) "[INSTALL] Installing $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libaddress_sorting.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libaddress_sorting$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libaddress_sorting.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libaddress_sorting.so.10 +- $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libaddress_sorting.so ++ $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libaddress_sorting.so.10 ++ $(Q) ln -sf $(SHARED_PREFIX)address_sorting$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libaddress_sorting.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libgpr.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgpr$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgpr.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgpr.so.10 +- $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgpr.so ++ $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgpr.so.10 ++ $(Q) ln -sf $(SHARED_PREFIX)gpr$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgpr.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libgrpc.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc.so.10 +- $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc.so.10 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libgrpc_csharp_ext.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc_csharp_ext.so.10 +- $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc_csharp_ext.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.so.10 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libgrpc_unsecure.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_unsecure$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc_unsecure.so.10 +- $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc_unsecure.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.so.10 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libupb.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libupb$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libupb.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libupb.so.10 +- $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libupb.so ++ $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libupb.so.10 ++ $(Q) ln -sf $(SHARED_PREFIX)upb$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libupb.so + endif + ifneq ($(SYSTEM),MINGW32) + ifneq ($(SYSTEM),Darwin) +@@ -3094,58 +3094,58 @@ endif + + install-shared_cxx: shared_cxx strip-shared_cxx install-shared_c install-pkg-config_cxx + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so.1 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.so.1 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_alts$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_alts.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_alts$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_alts.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_alts.so.1 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_alts.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_alts.so.1 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_alts$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_alts.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_error_details.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so.1 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_error_details.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.so.1 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_reflection.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so.1 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_reflection.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.so.1 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_unsecure.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so.1 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_unsecure.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so.1 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so + endif + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)" +- $(Q) $(INSTALL) -d $(prefix)/lib +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR) ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) + ifeq ($(SYSTEM),MINGW32) +- $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpcpp_channelz$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpcpp_channelz.a ++ $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpcpp_channelz$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpcpp_channelz.a + else ifneq ($(SYSTEM),Darwin) +- $(Q) ln -sf $(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpcpp_channelz.so.1 +- $(Q) ln -sf $(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpcpp_channelz.so ++ $(Q) ln -sf $(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpcpp_channelz.so.1 ++ $(Q) ln -sf $(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpcpp_channelz.so + endif + ifneq ($(SYSTEM),MINGW32) + ifneq ($(SYSTEM),Darwin) +@@ -3186,16 +3186,16 @@ install-grpc-cli: grpc_cli + + install-pkg-config_c: pc_c pc_c_unsecure + $(E) "[INSTALL] Installing C pkg-config files" +- $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig +- $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc $(prefix)/lib/pkgconfig/gpr.pc +- $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(prefix)/lib/pkgconfig/grpc.pc +- $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(prefix)/lib/pkgconfig/grpc_unsecure.pc ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)/pkgconfig ++ $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc $(prefix)/$(INSTALL_LIBDIR)/pkgconfig/gpr.pc ++ $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(prefix)/$(INSTALL_LIBDIR)/pkgconfig/grpc.pc ++ $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(prefix)/$(INSTALL_LIBDIR)/pkgconfig/grpc_unsecure.pc + + install-pkg-config_cxx: pc_cxx pc_cxx_unsecure + $(E) "[INSTALL] Installing C++ pkg-config files" +- $(Q) $(INSTALL) -d $(prefix)/lib/pkgconfig +- $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc $(prefix)/lib/pkgconfig/grpc++.pc +- $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++_unsecure.pc $(prefix)/lib/pkgconfig/grpc++_unsecure.pc ++ $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)/pkgconfig ++ $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc $(prefix)/$(INSTALL_LIBDIR)/pkgconfig/grpc++.pc ++ $(Q) $(INSTALL) -m 0644 $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++_unsecure.pc $(prefix)/$(INSTALL_LIBDIR)/pkgconfig/grpc++_unsecure.pc + + install-certs: etc/roots.pem + $(E) "[INSTALL] Installing root certificates" diff --git a/patches/link_external_abseil.patch b/patches/link_external_abseil.patch new file mode 100644 index 00000000..b2a625dc --- /dev/null +++ b/patches/link_external_abseil.patch @@ -0,0 +1,75 @@ +Description: link with external abseil + It's not embedded in source. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2020-06-12 + +--- + +--- grpc-1.30.0~pre1.orig/setup.py ++++ grpc-1.30.0~pre1/setup.py +@@ -195,6 +195,7 @@ if EXTRA_ENV_LINK_ARGS is None: + EXTRA_ENV_LINK_ARGS += ' -lpthread' + if check_linker_need_libatomic(): + EXTRA_ENV_LINK_ARGS += ' -latomic' ++ EXTRA_ENV_LINK_ARGS += ' -labsl_str_format_internal -labsl_time -labsl_bad_optional_access' + elif "win32" in sys.platform and sys.version_info < (3, 5): + msvcr = cygwinccompiler.get_msvcr()[0] + EXTRA_ENV_LINK_ARGS += ( +--- grpc-1.29.0.orig/src/python/grpcio/grpc_core_dependencies.py ++++ grpc-1.29.0/src/python/grpcio/grpc_core_dependencies.py +@@ -472,55 +472,6 @@ CORE_SOURCE_FILES = [ + 'src/core/tsi/ssl_transport_security.cc', + 'src/core/tsi/transport_security.cc', + 'src/core/tsi/transport_security_grpc.cc', +- 'third_party/abseil-cpp/absl/base/dynamic_annotations.cc', +- 'third_party/abseil-cpp/absl/base/internal/cycleclock.cc', +- 'third_party/abseil-cpp/absl/base/internal/raw_logging.cc', +- 'third_party/abseil-cpp/absl/base/internal/spinlock.cc', +- 'third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc', +- 'third_party/abseil-cpp/absl/base/internal/sysinfo.cc', +- 'third_party/abseil-cpp/absl/base/internal/thread_identity.cc', +- 'third_party/abseil-cpp/absl/base/internal/throw_delegate.cc', +- 'third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc', +- 'third_party/abseil-cpp/absl/base/log_severity.cc', +- 'third_party/abseil-cpp/absl/numeric/int128.cc', +- 'third_party/abseil-cpp/absl/strings/ascii.cc', +- 'third_party/abseil-cpp/absl/strings/charconv.cc', +- 'third_party/abseil-cpp/absl/strings/escaping.cc', +- 'third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc', +- 'third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc', +- 'third_party/abseil-cpp/absl/strings/internal/escaping.cc', +- 'third_party/abseil-cpp/absl/strings/internal/memutil.cc', +- 'third_party/abseil-cpp/absl/strings/internal/ostringstream.cc', +- 'third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc', +- 'third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc', +- 'third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc', +- 'third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc', +- 'third_party/abseil-cpp/absl/strings/internal/str_format/output.cc', +- 'third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc', +- 'third_party/abseil-cpp/absl/strings/internal/utf8.cc', +- 'third_party/abseil-cpp/absl/strings/match.cc', +- 'third_party/abseil-cpp/absl/strings/numbers.cc', +- 'third_party/abseil-cpp/absl/strings/str_cat.cc', +- 'third_party/abseil-cpp/absl/strings/str_replace.cc', +- 'third_party/abseil-cpp/absl/strings/str_split.cc', +- 'third_party/abseil-cpp/absl/strings/string_view.cc', +- 'third_party/abseil-cpp/absl/strings/substitute.cc', +- 'third_party/abseil-cpp/absl/time/civil_time.cc', +- 'third_party/abseil-cpp/absl/time/clock.cc', +- 'third_party/abseil-cpp/absl/time/duration.cc', +- 'third_party/abseil-cpp/absl/time/format.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc', +- 'third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc', +- 'third_party/abseil-cpp/absl/time/time.cc', +- 'third_party/abseil-cpp/absl/types/bad_optional_access.cc', + 'third_party/address_sorting/address_sorting.c', + 'third_party/address_sorting/address_sorting_posix.c', + 'third_party/address_sorting/address_sorting_windows.c', diff --git a/patches/no-embed-libs.patch b/patches/no-embed-libs.patch new file mode 100644 index 00000000..d60c2644 --- /dev/null +++ b/patches/no-embed-libs.patch @@ -0,0 +1,15 @@ +--- a/src/ruby/ext/grpc/extconf.rb ++++ b/src/ruby/ext/grpc/extconf.rb +@@ -39,9 +39,9 @@ + + ENV['AR'] = 'libtool -o' if RUBY_PLATFORM =~ /darwin/ + +-ENV['EMBED_OPENSSL'] = 'true' +-ENV['EMBED_ZLIB'] = 'true' +-ENV['EMBED_CARES'] = 'true' ++ENV['EMBED_OPENSSL'] = 'false' ++ENV['EMBED_ZLIB'] = 'false' ++ENV['EMBED_CARES'] = 'false' + ENV['ARCH_FLAGS'] = RbConfig::CONFIG['ARCH_FLAG'] + ENV['ARCH_FLAGS'] = '-arch i386 -arch x86_64' if RUBY_PLATFORM =~ /darwin/ + ENV['CPPFLAGS'] = '-DGPR_BACKWARDS_COMPATIBILITY_MODE' diff --git a/patches/no-make-in-extconf.patch b/patches/no-make-in-extconf.patch new file mode 100644 index 00000000..2e7743ba --- /dev/null +++ b/patches/no-make-in-extconf.patch @@ -0,0 +1,26 @@ +--- a/src/ruby/ext/grpc/extconf.rb ++++ b/src/ruby/ext/grpc/extconf.rb +@@ -50,22 +50,13 @@ output_dir = File.expand_path(RbConfig:: + grpc_lib_dir = File.join(output_dir, 'libs', grpc_config) + ENV['BUILDDIR'] = output_dir + +-unless windows +- puts 'Building internal gRPC into ' + grpc_lib_dir +- nproc = 4 +- nproc = Etc.nprocessors * 2 if Etc.respond_to? :nprocessors +- make = bsd ? 'gmake' : 'make' +- system("#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=") +- exit 1 unless $? == 0 +-end +- + $CFLAGS << ' -I' + File.join(grpc_root, 'include') + + ext_export_file = File.join(grpc_root, 'src', 'ruby', 'ext', 'grpc', 'ext-export') + $LDFLAGS << ' -Wl,--version-script="' + ext_export_file + '.gcc"' if RUBY_PLATFORM =~ /linux/ + $LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if RUBY_PLATFORM =~ /darwin/ + +-$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows ++$LDFLAGS << ' ' + '-Wl,-wrap,memcpy -lgrpc' unless windows + if grpc_config == 'gcov' + $CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage' + $LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic' diff --git a/patches/no_embedded_abseil.patch b/patches/no_embedded_abseil.patch new file mode 100644 index 00000000..752a4424 --- /dev/null +++ b/patches/no_embedded_abseil.patch @@ -0,0 +1,48 @@ +Description: + TODO: Put a short summary on the line above and replace this paragraph + with a longer explanation of this change. Complete the meta-information + with other relevant fields (see below for details). To make it easier, the + information below has been extracted from the changelog. Adjust it or drop + it. + . + grpc (1.29.0-1) experimental; urgency=medium + . + * New upstream release. +Author: Laszlo Boszormenyi (GCS) + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: 2020-05-19 + +--- grpc-1.29.0.orig/Makefile ++++ grpc-1.29.0/Makefile +@@ -720,8 +720,10 @@ ADDRESS_SORTING_MERGE_OBJS = $(LIBADDRES + ADDRESS_SORTING_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libaddress_sorting.a + CPPFLAGS := -Ithird_party/address_sorting/include $(CPPFLAGS) + +-GRPC_ABSEIL_DEP = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a +-GRPC_ABSEIL_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a ++#GRPC_ABSEIL_DEP = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a ++GRPC_ABSEIL_DEP = -labsl_base -labsl_int128 -labsl_strings -labsl_time -labsl_bad_optional_access -labsl_throw_delegate -labsl_str_format_internal ++#GRPC_ABSEIL_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a ++GRPC_ABSEIL_MERGE_LIBS = -labsl_base -labsl_int128 -labsl_strings -labsl_time -labsl_bad_optional_access -labsl_throw_delegate -labsl_str_format_internal + + UPB_DEP = $(LIBDIR)/$(CONFIG)/libupb.a + UPB_MERGE_OBJS = $(LIBUPB_OBJS) +@@ -6449,6 +6451,7 @@ LIBGRPC_ABSEIL_SRC = \ + + + LIBGRPC_ABSEIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_ABSEIL_SRC)))) ++LIBGRPC_ABSEIL_OBJS = + + + $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a: $(LIBGRPC_ABSEIL_OBJS) diff --git a/patches/remove-missing-files-in-gemspec.patch b/patches/remove-missing-files-in-gemspec.patch new file mode 100644 index 00000000..ba59b05c --- /dev/null +++ b/patches/remove-missing-files-in-gemspec.patch @@ -0,0 +1,745 @@ +--- a/grpc.gemspec ++++ b/grpc.gemspec +@@ -954,742 +954,4 @@ Gem::Specification.new do |s| + s.files += %w( src/core/tsi/transport_security_grpc.cc ) + s.files += %w( src/core/tsi/transport_security_grpc.h ) + s.files += %w( src/core/tsi/transport_security_interface.h ) +- s.files += %w( third_party/abseil-cpp/absl/algorithm/algorithm.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/attributes.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/call_once.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/casts.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/config.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/const_init.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/dynamic_annotations.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/dynamic_annotations.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/atomic_hook.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/bits.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/cycleclock.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/cycleclock.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/endian.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/errno_saver.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/hide_ptr.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/identity.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/inline_variable.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/invoke.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/per_thread_tls.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/raw_logging.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/raw_logging.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/scheduling_mode.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock_wait.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/sysinfo.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/sysinfo.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/thread_annotations.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/thread_identity.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/thread_identity.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/throw_delegate.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/throw_delegate.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/unaligned_access.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/log_severity.cc ) +- s.files += %w( third_party/abseil-cpp/absl/base/log_severity.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/macros.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/optimization.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/options.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/policy_checks.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/port.h ) +- s.files += %w( third_party/abseil-cpp/absl/base/thread_annotations.h ) +- s.files += %w( third_party/abseil-cpp/absl/container/inlined_vector.h ) +- s.files += %w( third_party/abseil-cpp/absl/container/internal/compressed_tuple.h ) +- s.files += %w( third_party/abseil-cpp/absl/container/internal/inlined_vector.h ) +- s.files += %w( third_party/abseil-cpp/absl/memory/memory.h ) +- s.files += %w( third_party/abseil-cpp/absl/meta/type_traits.h ) +- s.files += %w( third_party/abseil-cpp/absl/numeric/int128.cc ) +- s.files += %w( third_party/abseil-cpp/absl/numeric/int128.h ) +- s.files += %w( third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc ) +- s.files += %w( third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/ascii.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/ascii.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/charconv.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/charconv.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/escaping.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/escaping.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/char_map.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/charconv_parse.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/escaping.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/escaping.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/memutil.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/memutil.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/ostringstream.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/ostringstream.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/arg.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/bind.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/checker.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/extension.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/output.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/output.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_format/parser.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_join_internal.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/str_split_internal.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/utf8.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/internal/utf8.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/match.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/match.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/numbers.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/numbers.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_cat.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_cat.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_format.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_join.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_replace.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_replace.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_split.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/str_split.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/string_view.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/string_view.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/strip.h ) +- s.files += %w( third_party/abseil-cpp/absl/strings/substitute.cc ) +- s.files += %w( third_party/abseil-cpp/absl/strings/substitute.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/civil_time.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/civil_time.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/clock.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/clock.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/duration.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/format.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc ) +- s.files += %w( third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc ) +- s.files += %w( third_party/abseil-cpp/absl/time/time.cc ) +- s.files += %w( third_party/abseil-cpp/absl/time/time.h ) +- s.files += %w( third_party/abseil-cpp/absl/types/bad_optional_access.cc ) +- s.files += %w( third_party/abseil-cpp/absl/types/bad_optional_access.h ) +- s.files += %w( third_party/abseil-cpp/absl/types/internal/optional.h ) +- s.files += %w( third_party/abseil-cpp/absl/types/internal/span.h ) +- s.files += %w( third_party/abseil-cpp/absl/types/optional.h ) +- s.files += %w( third_party/abseil-cpp/absl/types/span.h ) +- s.files += %w( third_party/abseil-cpp/absl/utility/utility.h ) +- s.files += %w( third_party/address_sorting/address_sorting.c ) +- s.files += %w( third_party/address_sorting/address_sorting_internal.h ) +- s.files += %w( third_party/address_sorting/address_sorting_posix.c ) +- s.files += %w( third_party/address_sorting/address_sorting_windows.c ) +- s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h ) +- s.files += %w( third_party/boringssl-with-bazel/err_data.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn1_locl.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/base64/base64.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/bio.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/connect.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/fd.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/file.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/pair.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/printf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/socket.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/buf/buf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/chacha/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/conf/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-arm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-intel.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/crypto.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/check.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/dh.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/dh_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/dh/params.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/engine/engine.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/err/err.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/err/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/print.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/sign.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/ex_data.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_des.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/is_fips.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/hrss/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/mem.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/obj/obj.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pool/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/pool/pool.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/refcount_c11.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/refcount_lock.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/stack/stack.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/thread.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/thread_none.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/thread_pthread.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/thread_win.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/a_strex.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/by_file.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/charmap.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/t_req.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/vpm_int.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_r2x.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509name.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_all.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_info.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_name.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_req.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_val.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pku.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_sxnet.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aead.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aes.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/asn1.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/asn1t.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/base.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/base64.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/bio.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/blowfish.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/bn.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/buf.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/buffer.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/bytestring.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/cast.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/chacha.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/cipher.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/cmac.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/conf.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/cpu.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/crypto.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/curve25519.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/des.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/dh.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/digest.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/dsa.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/dtls1.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/e_os2.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ec.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ec_key.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ecdh.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/engine.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/err.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ex_data.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hkdf.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hmac.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hrss.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/lhash.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md4.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md5.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/mem.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/nid.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/obj.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/objects.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/opensslv.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pem.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/poly1305.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pool.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/rand.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/rc4.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ripemd.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/rsa.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/safestack.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/sha.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/siphash.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/span.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/srtp.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ssl.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ssl3.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/stack.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/thread.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/tls1.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/trust_token.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/type_check.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/x509.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/x509v3.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/d1_both.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/d1_lib.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/dtls_method.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/dtls_record.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/handoff.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/handshake.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/handshake_client.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/handshake_server.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/internal.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/s3_both.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/s3_lib.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_file.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_session.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/t1_enc.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/t1_lib.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls13_both.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls13_client.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls13_server.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls_method.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/ssl/tls_record.cc ) +- s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h ) +- s.files += %w( third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h ) +- s.files += %w( third_party/cares/ares_build.h ) +- s.files += %w( third_party/cares/cares/ares.h ) +- s.files += %w( third_party/cares/cares/ares__close_sockets.c ) +- s.files += %w( third_party/cares/cares/ares__get_hostent.c ) +- s.files += %w( third_party/cares/cares/ares__read_line.c ) +- s.files += %w( third_party/cares/cares/ares__timeval.c ) +- s.files += %w( third_party/cares/cares/ares_cancel.c ) +- s.files += %w( third_party/cares/cares/ares_create_query.c ) +- s.files += %w( third_party/cares/cares/ares_data.c ) +- s.files += %w( third_party/cares/cares/ares_data.h ) +- s.files += %w( third_party/cares/cares/ares_destroy.c ) +- s.files += %w( third_party/cares/cares/ares_dns.h ) +- s.files += %w( third_party/cares/cares/ares_expand_name.c ) +- s.files += %w( third_party/cares/cares/ares_expand_string.c ) +- s.files += %w( third_party/cares/cares/ares_fds.c ) +- s.files += %w( third_party/cares/cares/ares_free_hostent.c ) +- s.files += %w( third_party/cares/cares/ares_free_string.c ) +- s.files += %w( third_party/cares/cares/ares_getenv.c ) +- s.files += %w( third_party/cares/cares/ares_getenv.h ) +- s.files += %w( third_party/cares/cares/ares_gethostbyaddr.c ) +- s.files += %w( third_party/cares/cares/ares_gethostbyname.c ) +- s.files += %w( third_party/cares/cares/ares_getnameinfo.c ) +- s.files += %w( third_party/cares/cares/ares_getopt.c ) +- s.files += %w( third_party/cares/cares/ares_getopt.h ) +- s.files += %w( third_party/cares/cares/ares_getsock.c ) +- s.files += %w( third_party/cares/cares/ares_inet_net_pton.h ) +- s.files += %w( third_party/cares/cares/ares_init.c ) +- s.files += %w( third_party/cares/cares/ares_iphlpapi.h ) +- s.files += %w( third_party/cares/cares/ares_ipv6.h ) +- s.files += %w( third_party/cares/cares/ares_library_init.c ) +- s.files += %w( third_party/cares/cares/ares_library_init.h ) +- s.files += %w( third_party/cares/cares/ares_llist.c ) +- s.files += %w( third_party/cares/cares/ares_llist.h ) +- s.files += %w( third_party/cares/cares/ares_mkquery.c ) +- s.files += %w( third_party/cares/cares/ares_nowarn.c ) +- s.files += %w( third_party/cares/cares/ares_nowarn.h ) +- s.files += %w( third_party/cares/cares/ares_options.c ) +- s.files += %w( third_party/cares/cares/ares_parse_a_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_aaaa_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_mx_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_naptr_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_ns_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_ptr_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_soa_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_srv_reply.c ) +- s.files += %w( third_party/cares/cares/ares_parse_txt_reply.c ) +- s.files += %w( third_party/cares/cares/ares_platform.c ) +- s.files += %w( third_party/cares/cares/ares_platform.h ) +- s.files += %w( third_party/cares/cares/ares_private.h ) +- s.files += %w( third_party/cares/cares/ares_process.c ) +- s.files += %w( third_party/cares/cares/ares_query.c ) +- s.files += %w( third_party/cares/cares/ares_rules.h ) +- s.files += %w( third_party/cares/cares/ares_search.c ) +- s.files += %w( third_party/cares/cares/ares_send.c ) +- s.files += %w( third_party/cares/cares/ares_setup.h ) +- s.files += %w( third_party/cares/cares/ares_strcasecmp.c ) +- s.files += %w( third_party/cares/cares/ares_strcasecmp.h ) +- s.files += %w( third_party/cares/cares/ares_strdup.c ) +- s.files += %w( third_party/cares/cares/ares_strdup.h ) +- s.files += %w( third_party/cares/cares/ares_strerror.c ) +- s.files += %w( third_party/cares/cares/ares_strsplit.c ) +- s.files += %w( third_party/cares/cares/ares_strsplit.h ) +- s.files += %w( third_party/cares/cares/ares_timeout.c ) +- s.files += %w( third_party/cares/cares/ares_version.c ) +- s.files += %w( third_party/cares/cares/ares_version.h ) +- s.files += %w( third_party/cares/cares/ares_writev.c ) +- s.files += %w( third_party/cares/cares/bitncmp.c ) +- s.files += %w( third_party/cares/cares/bitncmp.h ) +- s.files += %w( third_party/cares/cares/config-win32.h ) +- s.files += %w( third_party/cares/cares/inet_net_pton.c ) +- s.files += %w( third_party/cares/cares/inet_ntop.c ) +- s.files += %w( third_party/cares/cares/setup_once.h ) +- s.files += %w( third_party/cares/cares/windows_port.c ) +- s.files += %w( third_party/cares/config_darwin/ares_config.h ) +- s.files += %w( third_party/cares/config_freebsd/ares_config.h ) +- s.files += %w( third_party/cares/config_linux/ares_config.h ) +- s.files += %w( third_party/cares/config_openbsd/ares_config.h ) +- s.files += %w( third_party/upb/upb/decode.c ) +- s.files += %w( third_party/upb/upb/decode.h ) +- s.files += %w( third_party/upb/upb/encode.c ) +- s.files += %w( third_party/upb/upb/encode.h ) +- s.files += %w( third_party/upb/upb/generated_util.h ) +- s.files += %w( third_party/upb/upb/msg.c ) +- s.files += %w( third_party/upb/upb/msg.h ) +- s.files += %w( third_party/upb/upb/port.c ) +- s.files += %w( third_party/upb/upb/port_def.inc ) +- s.files += %w( third_party/upb/upb/port_undef.inc ) +- s.files += %w( third_party/upb/upb/table.c ) +- s.files += %w( third_party/upb/upb/table.int.h ) +- s.files += %w( third_party/upb/upb/upb.c ) +- s.files += %w( third_party/upb/upb/upb.h ) +- s.files += %w( third_party/zlib/adler32.c ) +- s.files += %w( third_party/zlib/compress.c ) +- s.files += %w( third_party/zlib/crc32.c ) +- s.files += %w( third_party/zlib/crc32.h ) +- s.files += %w( third_party/zlib/deflate.c ) +- s.files += %w( third_party/zlib/deflate.h ) +- s.files += %w( third_party/zlib/gzclose.c ) +- s.files += %w( third_party/zlib/gzguts.h ) +- s.files += %w( third_party/zlib/gzlib.c ) +- s.files += %w( third_party/zlib/gzread.c ) +- s.files += %w( third_party/zlib/gzwrite.c ) +- s.files += %w( third_party/zlib/infback.c ) +- s.files += %w( third_party/zlib/inffast.c ) +- s.files += %w( third_party/zlib/inffast.h ) +- s.files += %w( third_party/zlib/inffixed.h ) +- s.files += %w( third_party/zlib/inflate.c ) +- s.files += %w( third_party/zlib/inflate.h ) +- s.files += %w( third_party/zlib/inftrees.c ) +- s.files += %w( third_party/zlib/inftrees.h ) +- s.files += %w( third_party/zlib/trees.c ) +- s.files += %w( third_party/zlib/trees.h ) +- s.files += %w( third_party/zlib/uncompr.c ) +- s.files += %w( third_party/zlib/zconf.h ) +- s.files += %w( third_party/zlib/zlib.h ) +- s.files += %w( third_party/zlib/zutil.c ) +- s.files += %w( third_party/zlib/zutil.h ) + end diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..fdcfe22a --- /dev/null +++ b/patches/series @@ -0,0 +1,14 @@ +unvendor-zlib.diff +add-wrap-memcpy-flags.diff +install_libdir.patch +unversion_sphinx.patch +no_embedded_abseil.patch +link_external_abseil.patch +# Ruby patches +no-embed-libs.patch +remove-missing-files-in-gemspec.patch +no-make-in-extconf.patch +use-system-grpc.patch +fix-protoc-path.patch +add_grpc_libdir.patch +unbreak_foreach.patch diff --git a/patches/unbreak_foreach.patch b/patches/unbreak_foreach.patch new file mode 100644 index 00000000..6895624c --- /dev/null +++ b/patches/unbreak_foreach.patch @@ -0,0 +1,32 @@ +Description: unbreak install foreach and do individual installation + Long command line would break the execution. +Author: Laszlo Boszormenyi (GCS) +Forwarded: no +Last-Update: 2020-05-24 + +--- + +--- grpc-1.22.0.orig/Makefile ++++ grpc-1.22.0/Makefile +@@ -2980,13 +2980,17 @@ install-headers: install-headers_c insta + + install-headers_c: + $(E) "[INSTALL] Installing public C headers" +- $(Q) $(foreach h, $(PUBLIC_HEADERS_C), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 +- $(Q) $(foreach h, $(PUBLIC_HEADERS_C), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 ++ for h in $(PUBLIC_HEADERS_C); do \ ++ $(INSTALL) -d $(prefix)/$$(dirname $$h); \ ++ $(INSTALL) $$h $(prefix)/$$h; \ ++ done + + install-headers_cxx: + $(E) "[INSTALL] Installing public C++ headers" +- $(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) -d $(prefix)/$(dir $(h)) && ) exit 0 || exit 1 +- $(Q) $(foreach h, $(PUBLIC_HEADERS_CXX), $(INSTALL) $(h) $(prefix)/$(h) && ) exit 0 || exit 1 ++ for h in $(PUBLIC_HEADERS_CXX); do \ ++ $(INSTALL) -d $(prefix)/$$(dirname $$h); \ ++ $(INSTALL) $$h $(prefix)/$$h; \ ++ done + + install-static: install-static_c install-static_cxx + diff --git a/patches/unvendor-zlib.diff b/patches/unvendor-zlib.diff new file mode 100644 index 00000000..de8b0d91 --- /dev/null +++ b/patches/unvendor-zlib.diff @@ -0,0 +1,14 @@ +Description: Fix compilation of tests with non-vendored (ie., Debian's) zlib. +Author: Steinar H. Gunderson + +--- a/Makefile ++++ b/Makefile +@@ -1367,7 +1367,7 @@ plugins: $(PROTOC_PLUGINS) + + privatelibs: privatelibs_c privatelibs_cxx + +-privatelibs_c: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libares.a ++privatelibs_c: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libares.a + pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc + + pc_c_unsecure: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc_unsecure.pc $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc diff --git a/patches/unversion_sphinx.patch b/patches/unversion_sphinx.patch new file mode 100644 index 00000000..65f7c11a --- /dev/null +++ b/patches/unversion_sphinx.patch @@ -0,0 +1,20 @@ +Description: all Sphinx version build docs + . +Author: Laszlo Boszormenyi (GCS) +Bug-Debian: https://bugs.debian.org/955064 +Forwarded: no +Last-Update: 2020-06-12 + +--- + +--- grpc-1.30.0~pre1.orig/setup.py ++++ grpc-1.30.0~pre1/setup.py +@@ -357,7 +357,7 @@ INSTALL_REQUIRES = ( + ) + + SETUP_REQUIRES = INSTALL_REQUIRES + ( +- 'Sphinx~=1.8.1', ++ 'Sphinx', + 'six>=1.10', + ) if ENABLE_DOCUMENTATION_BUILD else () + diff --git a/patches/use-system-grpc.patch b/patches/use-system-grpc.patch new file mode 100644 index 00000000..bdf058ee --- /dev/null +++ b/patches/use-system-grpc.patch @@ -0,0 +1,10 @@ +--- a/src/ruby/spec/spec_helper.rb ++++ b/src/ruby/spec/spec_helper.rb +@@ -17,7 +17,6 @@ + lib_dir = File.expand_path(File.join(root_dir, 'lib')) + + $LOAD_PATH.unshift(spec_dir) +-$LOAD_PATH.unshift(lib_dir) + $LOAD_PATH.uniq! + + # set up coverage diff --git a/protobuf-compiler-grpc.docs b/protobuf-compiler-grpc.docs new file mode 100644 index 00000000..d89f79f6 --- /dev/null +++ b/protobuf-compiler-grpc.docs @@ -0,0 +1 @@ +NOTICE.txt diff --git a/protobuf-compiler-grpc.install b/protobuf-compiler-grpc.install new file mode 100644 index 00000000..fe0cd430 --- /dev/null +++ b/protobuf-compiler-grpc.install @@ -0,0 +1 @@ +usr/bin/grpc_*_plugin diff --git a/ruby-tests.rake b/ruby-tests.rake new file mode 100644 index 00000000..36f3bd3c --- /dev/null +++ b/ruby-tests.rake @@ -0,0 +1,5 @@ +require 'gem2deb/rake/spectask' + +Gem2Deb::Rake::RSpecTask.new do |spec| + spec.pattern = FileList['./src/ruby/spec/**/*_spec.rb'] - FileList['./src/ruby/spec/generic/rpc_server_spec.rb','./src/ruby/spec/client_server_spec.rb','./src/ruby/spec/generic/client_stub_spec.rb','./src/ruby/spec/pb/package_with_underscore/checker_spec.rb'] +end diff --git a/rules b/rules new file mode 100755 index 00000000..62e4d9e9 --- /dev/null +++ b/rules @@ -0,0 +1,96 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# output every command that modifies files on the build system. +#DH_VERBOSE = 1 + +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk + +include /usr/share/dpkg/architecture.mk + +export PYBUILD_NAME = grpcio + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# Flags for Python build +export GRPC_PYTHON_BUILD_WITH_CYTHON = 1 +export GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1 +export GRPC_PYTHON_BUILD_SYSTEM_CARES = 1 +export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1 +export GRPC_PYTHON_ENABLE_DOCUMENTATION_BUILD = 1 + +# package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# package maintainers to append LDFLAGS +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + +ifneq (,$(filter $(DEB_HOST_ARCH), armel armhf mips mipsel powerpc)) + export DEB_LDFLAGS_MAINT_APPEND = -Wl,--no-as-needed -latomic -Wl,--as-needed +endif + +export GEM2DEB_TEST_RUNNER = --check-dependencies +export DH_RUBY = --gem-install +export DH_RUBY_GEM_INSTALL_WHITELIST_APPEND = platform_check.rb version.rb + +export DH_RUBY_IGNORE_TESTS = all + +export V = 1 + +override_dh_auto_clean: + dh_auto_clean + dh_auto_clean -O--buildsystem=pybuild + find $(CURDIR)/src/python/grpcio/ -name \*.so -delete + $(RM) -r $(CURDIR)/src/python/grpcio/grpcio.egg-info/ \ + $(CURDIR)/.eggs/ + $(RM) \ + $(CURDIR)/src/python/grpcio/grpc/_cython/_credentials/roots.pem \ + $(CURDIR)/src/python/grpcio/grpc/_cython/cygrpc.cpp \ + $(CURDIR)/src/python/grpcio/grpc/_grpcio_metadata.py + $(RM) a.out + +override_dh_auto_configure: + dh_auto_configure + dh_auto_configure -O--buildsystem=pybuild + +override_dh_auto_build: + # Fake included protobuf .proto files + mkdir -p $(CURDIR)/Ithird_party/protobuf/ + ln -s /usr/include $(CURDIR)/third_party/protobuf/src + $(MAKE) shared prefix=/usr + dh_auto_build -O--buildsystem=pybuild + dh_auto_build -O--buildsystem=ruby + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) +# make test_c +endif + dh_auto_test -O--buildsystem=pybuild + +override_dh_auto_install: + $(MAKE) INSTALL_LIBDIR=/lib/$(DEB_HOST_MULTIARCH) \ + install prefix=$(CURDIR)/debian/tmp/usr + dh_auto_install -O--buildsystem=pybuild + chmod a-x $(CURDIR)/debian/tmp/usr/share/grpc/roots.pem + TOPDIR=$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) \ + dh_auto_install -O--buildsystem=ruby + echo Run Ruby tests with proper settings + # run tests by hand + LD_LIBRARY_PATH=$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) \ + CONFIG=. \ + gem2deb-test-runner || true + find $(CURDIR)/debian/ruby-grpc/ \ + \( -name ca.pem \ + -o -name server1.key \ + -o -name server1.pem \) \ + -exec chmod a-x {} \; + +override_dh_missing: + dh_missing --list-missing + +%: + dh $@ --with=python3 + +.PHONY: override_dh_auto_clean override_dh_auto_configure \ + override_dh_auto_build override_dh_auto_test \ + override_dh_auto_install override_dh_missing diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 00000000..ee8b4cfe --- /dev/null +++ b/watch @@ -0,0 +1,5 @@ +version=3 +opts=\ +dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\ +filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/grpc-$1.tar.gz/ \ + https://github.com/grpc/grpc/tags .*/archive/v?([\d\.]+).tar.gz -- 2.30.2