Import grpc_1.30.2-4.debian.tar.xz
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sun, 25 Sep 2022 18:03:42 +0000 (19:03 +0100)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sun, 25 Sep 2022 18:03:42 +0000 (19:03 +0100)
[dgit import tarball grpc 1.30.2-4 grpc_1.30.2-4.debian.tar.xz]

37 files changed:
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
docs [new file with mode: 0644]
libgrpc++-dev.dirs [new file with mode: 0644]
libgrpc++-dev.install [new file with mode: 0644]
libgrpc++1.dirs [new file with mode: 0644]
libgrpc++1.install [new file with mode: 0644]
libgrpc-dev.dirs [new file with mode: 0644]
libgrpc-dev.install [new file with mode: 0644]
libgrpc10.install [new file with mode: 0644]
patches/16-member_variable_should_not_be_a_reference.patch [new file with mode: 0644]
patches/17-fixing_a_member_var_to_not_be_a_reference.patch [new file with mode: 0644]
patches/9e0b427893b65b220faf8a31a6afdc67f6f41364.patch [new file with mode: 0644]
patches/add-wrap-memcpy-flags.diff [new file with mode: 0644]
patches/add_grpc_libdir.patch [new file with mode: 0644]
patches/fix-protoc-path.patch [new file with mode: 0644]
patches/install_libdir.patch [new file with mode: 0644]
patches/link_external_abseil.patch [new file with mode: 0644]
patches/no-embed-libs.patch [new file with mode: 0644]
patches/no-make-in-extconf.patch [new file with mode: 0644]
patches/no_embedded_abseil.patch [new file with mode: 0644]
patches/remove-missing-files-in-gemspec.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
patches/setuptools.patch [new file with mode: 0644]
patches/unbreak_foreach.patch [new file with mode: 0644]
patches/unvendor-zlib.diff [new file with mode: 0644]
patches/unversion_sphinx.patch [new file with mode: 0644]
patches/use-system-grpc.patch [new file with mode: 0644]
protobuf-compiler-grpc.docs [new file with mode: 0644]
protobuf-compiler-grpc.install [new file with mode: 0644]
ruby-tests.rake [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
upstream/metadata [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..9e5fffd
--- /dev/null
+++ b/changelog
@@ -0,0 +1,362 @@
+grpc (1.30.2-4) unstable; urgency=medium
+
+  * Import setuptools before distutils in setup.py (closes: #1020116).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 25 Sep 2022 20:03:42 +0200
+
+grpc (1.30.2-3) unstable; urgency=medium
+
+  * Backport upstream fixes for:
+    - member variable should not be a reference; causing crash when used in
+      destructor,
+    - fixing a member var to not be a reference.
+  * Add upstream metadata.
+  * Update packaging bits.
+  * Update watch file.
+  * Update debhelper level to 13 .
+  * Update Standards-Version to 4.5.1 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Thu, 04 Feb 2021 10:44:30 +0100
+
+grpc (1.30.2-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+
+  [ Debian Janitor ]
+  * Apply multi-arch hints.
+    + ruby-grpc: Add Multi-Arch: same.
+
+  [ Andreas Henriksson ]
+  * Mark protobuf-compiler-grpc Multi-Arch: foreign.
+    Thanks to Helmut for valuable insight and review. (Closes: #976651)
+  * Cherry-pick python grpcio 'is not' fix from upstream.
+    This fixes a FTBFS with python3.9 (current default in bullseye).
+
+ -- Andreas Henriksson <andreas@fatal.se>  Wed, 13 Jan 2021 22:53:15 +0100
+
+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) <gcs@debian.org>  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) <gcs@debian.org>  Sat, 18 Jul 2020 08:53:56 +0200
+
+grpc (1.30.1-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Mon, 13 Jul 2020 20:59:22 +0200
+
+grpc (1.30.0-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  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 <bunk@debian.org> ]
+  * Link with libatomic on armel, mips, mipsel and powerpc (closes: #961193).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  Fri, 20 Dec 2019 14:34:21 +0000
+
+grpc (1.25.0-1) experimental; urgency=medium
+
+  * New upstream release.
+  * Update patches.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  Wed, 23 Oct 2019 05:45:37 +0000
+
+grpc (1.23.0-1) experimental; urgency=medium
+
+  * New upstream release.
+  * Update patches.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  Fri, 09 Aug 2019 18:09:17 +0000
+
+grpc (1.17.2-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  Wed, 05 Dec 2018 13:45:31 +0000
+
+grpc (1.16.1-1) unstable; urgency=medium
+
+  * New upstream release (closes: #908873).
+
+  [ Hilko Bengen <bengen@debian.org> ]
+  * Add python{,3}-grpcio packages (closes: #871442).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  Sun, 17 Jun 2018 11:36:43 +0000
+
+grpc (1.12.0-1) experimental; urgency=medium
+
+  * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  Sun, 27 May 2018 14:06:16 +0000
+
+grpc (1.11.0-1) experimental; urgency=medium
+
+  [ Pirate Praveen <praveen@debian.org> ]
+  * 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) <gcs@debian.org>  Fri, 04 May 2018 17:04:13 +0000
+
+grpc (1.3.2-1) unstable; urgency=medium
+
+  [ Pirate Praveen <praveen@onenetbeyond.org> ]
+  * Patch to provide a wrapped memcpy for linking (closes: #867541).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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 <sesse@debian.org>  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 <sesse@debian.org>  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 <sesse@debian.org>  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 <sesse@debian.org>  Wed, 26 Apr 2017 19:11:42 +0200
+
+grpc (0.12.0-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Andrew Pollock <apollock@debian.org>  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 <apollock@debian.org>  Thu, 24 Sep 2015 11:33:03 +1000
+
+grpc (0.11.0.0-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Andrew Pollock <apollock@debian.org>  Wed, 09 Sep 2015 13:05:55 +1000
+
+grpc (0.10.2-1) unstable; urgency=medium
+
+  * New upstream release (closes: #795766)
+
+ -- Andrew Pollock <apollock@debian.org>  Fri, 28 Aug 2015 09:26:25 +1000
+
+grpc (0.10.0-1) unstable; urgency=low
+
+  * Initial release (Closes: #786375)
+
+ -- Andrew Pollock <apollock@debian.org>  Thu, 07 May 2015 13:28:11 +1000
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..7c0f7c2
--- /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 (file)
index 0000000..8246fff
--- /dev/null
+++ b/control
@@ -0,0 +1,139 @@
+Source: grpc
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Build-Depends: debhelper-compat (= 13), 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.1
+Section: libs
+Homepage: https://www.grpc.io/
+Rules-Requires-Root: no
+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
+Multi-Arch: foreign
+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~)
+Multi-Arch: same
+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 (file)
index 0000000..b85a1b8
--- /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 <philip@yhbt.com>
+  2016 The Chromium Authors. All rights reserved.
+License: Apache-2.0
+
+Files: debian/*
+Copyright: 2015-2016 Andrew Pollock <apollock@debian.org>
+           2018 Hilko Bengen <bengen@debian.org>
+           2018 Chris Lamb <lamby@debian.org>
+           2017-     Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 <https://www.gnu.org/licenses/>
+ .
+ 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 <tholo@sigmasoft.com>
+ 1995, 1996, 1997, 1998 WIDE Project
+ 1995-2001, 2003 Internet Software Consortium
+ 1996, David Mazieres <dm@uun.org>
+ 1996-1998, 2008, 2014, Theo de Raadt <deraadt@openbsd.org>
+ 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 <djm@openbsd.org>
+ 2009-2013 The Linux Foundation
+ 2013-2014, NVIDIA Corporation
+ 2013 Pietro Cerutti <gahr@FreeBSD.org>
+ 2013, Markus Friedl <markus@openbsd.org>
+ 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 <mroth@nessie.de>
+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 (file)
index 0000000..b43bf86
--- /dev/null
+++ b/docs
@@ -0,0 +1 @@
+README.md
diff --git a/libgrpc++-dev.dirs b/libgrpc++-dev.dirs
new file mode 100644 (file)
index 0000000..4418816
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff --git a/libgrpc++-dev.install b/libgrpc++-dev.install
new file mode 100644 (file)
index 0000000..ada86e2
--- /dev/null
@@ -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 (file)
index 0000000..6845771
--- /dev/null
@@ -0,0 +1 @@
+usr/lib
diff --git a/libgrpc++1.install b/libgrpc++1.install
new file mode 100644 (file)
index 0000000..71ec3c6
--- /dev/null
@@ -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 (file)
index 0000000..4418816
--- /dev/null
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff --git a/libgrpc-dev.install b/libgrpc-dev.install
new file mode 100644 (file)
index 0000000..4207d8b
--- /dev/null
@@ -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 (file)
index 0000000..103dce2
--- /dev/null
@@ -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/16-member_variable_should_not_be_a_reference.patch b/patches/16-member_variable_should_not_be_a_reference.patch
new file mode 100644 (file)
index 0000000..e663a70
--- /dev/null
@@ -0,0 +1,35 @@
+From b3cd5fc0c70e92ddab5b1921e3884496887b3018 Mon Sep 17 00:00:00 2001
+From: Donna Dionne <donnadionne@google.com>
+Date: Wed, 26 Aug 2020 10:23:02 -0700
+Subject: [PATCH] Member variable should not be a reference; causing crash when
+ used in destructor (backport into 1.30.x)
+
+---
+ .../lb_policy/weighted_target/weighted_target.cc           | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc b/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
+index 96491b68642..f1cfb73eadf 100644
+--- a/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
++++ b/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
+@@ -169,7 +169,7 @@ class WeightedTargetLb : public LoadBalancingPolicy {
+     // The owning LB policy.
+     RefCountedPtr<WeightedTargetLb> weighted_target_policy_;
+-    const std::string& name_;
++    const std::string name_;
+     uint32_t weight_;
+@@ -288,9 +288,8 @@ void WeightedTargetLb::UpdateLocked(UpdateArgs args) {
+     const std::string& name = p.first;
+     auto it = targets_.find(name);
+     if (it == targets_.end()) {
+-      it = targets_.emplace(std::make_pair(name, nullptr)).first;
+-      it->second = MakeOrphanable<WeightedChild>(
+-          Ref(DEBUG_LOCATION, "WeightedChild"), it->first);
++      targets_.emplace(name, MakeOrphanable<WeightedChild>(
++                                 Ref(DEBUG_LOCATION, "WeightedChild"), name));
+     }
+   }
+   // Update all children.
diff --git a/patches/17-fixing_a_member_var_to_not_be_a_reference.patch b/patches/17-fixing_a_member_var_to_not_be_a_reference.patch
new file mode 100644 (file)
index 0000000..2eb83f4
--- /dev/null
@@ -0,0 +1,37 @@
+From 89b3b49e17f967a4882838e27fe0bfe775b897f7 Mon Sep 17 00:00:00 2001
+From: Donna Dionne <donnadionne@google.com>
+Date: Fri, 28 Aug 2020 11:35:40 -0700
+Subject: [PATCH] Fixing a member var to not be a reference. (backport to
+ v1.30.x)
+
+---
+ .../filters/client_channel/lb_policy/xds/xds_routing.cc  | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc b/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc
+index ea1007cb90c..effcf2e2cf0 100644
+--- a/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc
++++ b/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc
+@@ -179,7 +179,7 @@ class XdsRoutingLb : public LoadBalancingPolicy {
+     RefCountedPtr<XdsRoutingLb> xds_routing_policy_;
+     // Points to the corresponding key in XdsRoutingLb::actions_.
+-    const std::string& name_;
++    const std::string name_;
+     OrphanablePtr<LoadBalancingPolicy> child_policy_;
+@@ -294,9 +294,10 @@ void XdsRoutingLb::UpdateLocked(UpdateArgs args) {
+     const RefCountedPtr<LoadBalancingPolicy::Config>& config = p.second;
+     auto it = actions_.find(name);
+     if (it == actions_.end()) {
+-      it = actions_.emplace(std::make_pair(name, nullptr)).first;
+-      it->second = MakeOrphanable<XdsRoutingChild>(
+-          Ref(DEBUG_LOCATION, "XdsRoutingChild"), it->first);
++      it = actions_
++               .emplace(name, MakeOrphanable<XdsRoutingChild>(
++                                  Ref(DEBUG_LOCATION, "XdsRoutingChild"), name))
++               .first;
+     }
+     it->second->UpdateLocked(config, args.addresses, args.args);
+   }
diff --git a/patches/9e0b427893b65b220faf8a31a6afdc67f6f41364.patch b/patches/9e0b427893b65b220faf8a31a6afdc67f6f41364.patch
new file mode 100644 (file)
index 0000000..7bd20f0
--- /dev/null
@@ -0,0 +1,22 @@
+From 9e0b427893b65b220faf8a31a6afdc67f6f41364 Mon Sep 17 00:00:00 2001
+From: Lidi Zheng <lidiz@google.com>
+Date: Tue, 29 Sep 2020 14:44:59 -0700
+Subject: [PATCH] Use != with literals
+
+---
+ src/python/grpcio/commands.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
+index 5b21daaf444..8240beb2958 100644
+--- a/src/python/grpcio/commands.py
++++ b/src/python/grpcio/commands.py
+@@ -101,7 +101,7 @@ def run(self):
+         target_dir = os.path.join(GRPC_STEM, 'doc', 'build')
+         exit_code = sphinx.cmd.build.build_main(
+             ['-b', 'html', '-W', '--keep-going', source_dir, target_dir])
+-        if exit_code is not 0:
++        if exit_code != 0:
+             raise CommandError(
+                 "Documentation generation has warnings or errors")
diff --git a/patches/add-wrap-memcpy-flags.diff b/patches/add-wrap-memcpy-flags.diff
new file mode 100644 (file)
index 0000000..dd5fabd
--- /dev/null
@@ -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 (file)
index 0000000..652487a
--- /dev/null
@@ -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) <gcs@debian.org>
+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 (file)
index 0000000..c43b550
--- /dev/null
@@ -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 (file)
index 0000000..6c624b7
--- /dev/null
@@ -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 (file)
index 0000000..b2a625d
--- /dev/null
@@ -0,0 +1,75 @@
+Description: link with external abseil
+ It's not embedded in source.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 (file)
index 0000000..d60c264
--- /dev/null
@@ -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 (file)
index 0000000..2e7743b
--- /dev/null
@@ -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 (file)
index 0000000..752a442
--- /dev/null
@@ -0,0 +1,48 @@
+Description: <short summary of the patch>
+ 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) <gcs@debian.org>
+
+---
+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: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+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 (file)
index 0000000..ba59b05
--- /dev/null
@@ -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 (file)
index 0000000..cda75cd
--- /dev/null
@@ -0,0 +1,18 @@
+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
+9e0b427893b65b220faf8a31a6afdc67f6f41364.patch
+16-member_variable_should_not_be_a_reference.patch
+17-fixing_a_member_var_to_not_be_a_reference.patch
+setuptools.patch
diff --git a/patches/setuptools.patch b/patches/setuptools.patch
new file mode 100644 (file)
index 0000000..a45fa2f
--- /dev/null
@@ -0,0 +1,26 @@
+Description: import setuptools first
+ Module setuptools needs to be imported before distutils.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Forwarded: not-needed
+Last-Update: 2022-09-25
+
+---
+
+--- a/setup.py
++++ b/setup.py
+@@ -12,6 +12,7 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ """A setup module for the GRPC Python package."""
++import setuptools
+ from distutils import cygwinccompiler
+ from distutils import extension as _extension
+ from distutils import util
+@@ -25,7 +26,6 @@ import shutil
+ import sys
+ import sysconfig
+-import setuptools
+ from setuptools.command import egg_info
+ import subprocess
diff --git a/patches/unbreak_foreach.patch b/patches/unbreak_foreach.patch
new file mode 100644 (file)
index 0000000..6895624
--- /dev/null
@@ -0,0 +1,32 @@
+Description: unbreak install foreach and do individual installation
+ Long command line would break the execution.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 (file)
index 0000000..de8b0d9
--- /dev/null
@@ -0,0 +1,14 @@
+Description: Fix compilation of tests with non-vendored (ie., Debian's) zlib.
+Author: Steinar H. Gunderson <sesse@debian.org>
+
+--- 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 (file)
index 0000000..65f7c11
--- /dev/null
@@ -0,0 +1,20 @@
+Description: all Sphinx version build docs
+ .
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 (file)
index 0000000..bdf058e
--- /dev/null
@@ -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 (file)
index 0000000..d89f79f
--- /dev/null
@@ -0,0 +1 @@
+NOTICE.txt
diff --git a/protobuf-compiler-grpc.install b/protobuf-compiler-grpc.install
new file mode 100644 (file)
index 0000000..fe0cd43
--- /dev/null
@@ -0,0 +1 @@
+usr/bin/grpc_*_plugin
diff --git a/ruby-tests.rake b/ruby-tests.rake
new file mode 100644 (file)
index 0000000..36f3bd3
--- /dev/null
@@ -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 (executable)
index 0000000..bd52ee1
--- /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 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 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/upstream/metadata b/upstream/metadata
new file mode 100644 (file)
index 0000000..fc59e7c
--- /dev/null
@@ -0,0 +1,6 @@
+---
+Archive: GitHub
+Bug-Database: https://github.com/grpc/grpc/issues
+Bug-Submit: https://github.com/grpc/grpc/issues/new
+Repository: https://github.com/grpc/grpc.git
+Repository-Browse: https://github.com/grpc/grpc
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..e1c32e5
--- /dev/null
+++ b/watch
@@ -0,0 +1,6 @@
+version=3
+opts=\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\
+uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/grpc-$1.tar.gz/ \
+ https://github.com/grpc/grpc/tags .*/archive/v?(\d\S+)@ARCHIVE_EXT@