Import grpc_1.16.1-1.debian.tar.xz
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 27 Nov 2018 16:58:17 +0000 (16:58 +0000)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 27 Nov 2018 16:58:17 +0000 (16:58 +0000)
[dgit import tarball grpc 1.16.1-1 grpc_1.16.1-1.debian.tar.xz]

33 files changed:
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
compat [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]
libgrpc6.dirs [new file with mode: 0644]
libgrpc6.install [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-libgrpc++-soname.diff [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/libgrpcpp_channelz_symlink.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-werror.diff [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/unvendor-zlib.diff [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]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..d8afc19
--- /dev/null
+++ b/changelog
@@ -0,0 +1,196 @@
+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/compat b/compat
new file mode 100644 (file)
index 0000000..b4de394
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+11
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..400edd2
--- /dev/null
+++ b/control
@@ -0,0 +1,154 @@
+Source: grpc
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Uploaders: Andrew Pollock <apollock@debian.org>
+Build-Depends: debhelper (>= 11~), zlib1g-dev, libssl-dev, libprotobuf-dev, protobuf-compiler (>= 3.6.1~), libgflags-dev, libgtest-dev, libgoogle-perftools-dev, python, libprotoc-dev (>= 3.6.1~), libc-ares-dev,
+ gem2deb, ruby-google-protobuf (>= 3.6.1~), ruby-googleauth (>= 0.5.1~), ruby-googleapis-common-protos-types, ruby-rspec, ruby-simplecov,
+ dh-python,
+ python-all-dev, python3-all-dev,
+ cython, cython3,
+ python-concurrent.futures, python-enum34,
+ python-six, python3-six,
+ python-setuptools, python3-setuptools,
+ python-pkg-resources, python3-pkg-resources,
+ python-sphinx, python3-sphinx,
+ python-sphinx-rtd-theme, python3-sphinx-rtd-theme
+Standards-Version: 4.2.1
+Section: libs
+Homepage: http://www.grpc.io/
+Testsuite: autopkgtest-pkg-ruby
+XS-Ruby-Versions: all
+Vcs-Git: https://salsa.debian.org/debian/grpc.git
+Vcs-Browser: https://salsa.debian.org/debian/grpc
+
+Package: libgrpc-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: libgrpc6 (= ${binary:Version}), ${misc:Depends}
+Conflicts: libgpr1-dev, libgpr2-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 libgrpc6.
+
+Package: libgrpc6
+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: libgrpc++-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Depends: libgrpc++1 (= ${binary:Version}), libgrpc-dev (=${binary:Version}), ${misc:Depends}
+Description: high performance general RPC framework (development)
+ A modern, open source remote procedure call (RPC) framework that can
+ run anywhere. It enables client and server applications to communicate
+ transparently, and makes it easier to build connected systems.
+ .
+ This package contains the headers and the static library for libgrpc++1.
+
+Package: libgrpc++1
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: high performance general RPC framework
+ A modern, open source remote procedure call (RPC) framework that can
+ run anywhere. It enables client and server applications to communicate
+ transparently, and makes it easier to build connected systems.
+ .
+ This package provides the gRPC C++ bindings.
+
+Package: protobuf-compiler-grpc
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, protobuf-compiler
+Description: high performance general RPC framework - protobuf plugin
+ A modern, open source remote procedure call (RPC) framework that can
+ run anywhere. It enables client and server applications to communicate
+ transparently, and makes it easier to build connected systems.
+ .
+ This package provides the plugins needed for compiling gRPC service
+ definitions with the protobuf compiler.
+
+Package: ruby-grpc
+Section: ruby
+Architecture: any
+X-DhRuby-Root: .
+XB-Ruby-Versions: ${ruby:Versions}
+Depends: ruby | ruby-interpreter,
+         ruby-google-protobuf (>= 3.6.1~),
+         ruby-googleauth (>= 0.5.1~),
+         ruby-googleapis-common-protos-types,
+         ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: ruby-grpc (<< 1.13.0~pre2~)
+Replaces: ruby-grpc (<< 1.13.0~pre2~)
+Description: GRPC system in Ruby
+ Send RPCs from Ruby using GRPC. GRPC is a high performance, open-source
+ universal RPC framework.
+ .
+ Some features of gRPC:
+  * Simple service definition
+  * Works across languages and platforms
+  * Start quickly and scale
+  * Bi-directional streaming and integrated auth
+
+Package: ruby-grpc-tools
+Section: ruby
+Architecture: all
+X-DhRuby-Root: src/ruby/tools
+XB-Ruby-Versions: ${ruby:Versions}
+Depends: ruby | ruby-interpreter,
+         ruby-grpc,
+         protobuf-compiler-grpc,
+         ${misc:Depends}
+Conflicts: ruby-grpc-tools (<< 1.13.0~pre2~)
+Replaces: ruby-grpc-tools (<< 1.13.0~pre2~)
+Description: Development tools for Ruby gRPC
+ Ruby gRPC library allows sending RPCs from Ruby using GRPC.
+ GRPC is a high performance, open-source universal RPC framework.
+
+Package: python-grpcio
+Section: python
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${python:Depends},
+ ${shlibs:Depends},
+Provides:
+ ${python:Provides},
+XB-Python-Version:
+ ${python:Versions}
+Description: GRPC system (Python 2)
+ 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 2 bindings.
+
+Package: python3-grpcio
+Section: python
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends},
+Provides:
+ ${python3:Provides},
+XB-Python-Version:
+ ${python3:Versions}
+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..548c9cb
--- /dev/null
+++ b/copyright
@@ -0,0 +1,159 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: grpc
+Source: https://github.com/grpc/grpc/archive/v1.3.2.tar.gz
+
+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 <http://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/nanopb/*
+Copyright: Copyright (c) 2011 Petteri Aimonen <jpa at nanopb.mail.kapsi.fi>
+License: Zlib
+ This software is provided 'as-is', without any express or
+ implied warranty. In no event will the authors be held liable
+ for any damages arising from the use of this software.
+ .
+ Permission is granted to anyone to use this software for any
+ purpose, including commercial applications, and to alter it and
+ redistribute it freely, subject to the following restrictions:
+ .
+ 1. The origin of this software must not be misrepresented; you
+    must not claim that you wrote the original software. If you use
+    this software in a product, an acknowledgment in the product
+    documentation would be appreciated but is not required.
+ .
+ 2. Altered source versions must be plainly marked as such, and
+    must not be misrepresented as being the original software.
+ .
+ 3. This notice may not be removed or altered from any source
+    distribution.
+
+Files: third_party/rake-compiler-dock/*
+Copyright: 1998, 1999, 2000 Thai Open Source Software Center Ltd
+  2015 Lars Kanis
+License: Expat
+ MIT License
+ . 
+ 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.
+
+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
+ 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
+ .
+     http://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'.
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..86a523d
--- /dev/null
@@ -0,0 +1,6 @@
+usr/include/grpc++/
+usr/include/grpcpp/
+usr/lib/*/libgrpc++*.a
+usr/lib/*/libgrpc++*.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..9ecd2c1
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libgrpc++*.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..68ca1bb
--- /dev/null
@@ -0,0 +1,10 @@
+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/*/pkgconfig/gpr.pc
+usr/lib/*/pkgconfig/grpc.pc
+usr/lib/*/pkgconfig/grpc_unsecure.pc
diff --git a/libgrpc6.dirs b/libgrpc6.dirs
new file mode 100644 (file)
index 0000000..6845771
--- /dev/null
@@ -0,0 +1 @@
+usr/lib
diff --git a/libgrpc6.install b/libgrpc6.install
new file mode 100644 (file)
index 0000000..f81b44b
--- /dev/null
@@ -0,0 +1,3 @@
+usr/lib/*/libgpr.so.*
+usr/lib/*/libgrpc.so.*
+usr/lib/*/libgrpc_*.so.*
diff --git a/patches/add-wrap-memcpy-flags.diff b/patches/add-wrap-memcpy-flags.diff
new file mode 100644 (file)
index 0000000..47d194e
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -3824,7 +3824,7 @@
+ ifeq ($(SYSTEM),Darwin)
+       $(Q) $(LD) $(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 $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS)
+ else
+-      $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.6 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS)
++      $(Q) $(LD) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.6  -Wl,-wrap,memcpy -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(LDLIBS)
+       $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.6
+       $(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..745736a
--- /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: 2018-06-21
+
+---
+
+--- grpc-1.13.0~pre2.orig/src/ruby/ext/grpc/extconf.rb
++++ grpc-1.13.0~pre2/src/ruby/ext/grpc/extconf.rb
+@@ -41,6 +41,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')
+ $LDFLAGS << ' ' + '-Wl,-wrap,memcpy -lgrpc' unless windows
diff --git a/patches/fix-libgrpc++-soname.diff b/patches/fix-libgrpc++-soname.diff
new file mode 100644 (file)
index 0000000..c99ab87
--- /dev/null
@@ -0,0 +1,47 @@
+--- a/Makefile
++++ b/Makefile
+@@ -3050,7 +3050,7 @@
+ ifeq ($(SYSTEM),MINGW32)
+       $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++.a
+ else ifneq ($(SYSTEM),Darwin)
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++.so.6
++      $(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
+ endif
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -3059,7 +3059,7 @@
+ ifeq ($(SYSTEM),MINGW32)
+       $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_cronet.a
+ else ifneq ($(SYSTEM),Darwin)
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.6
++      $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.1
+       $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so
+ endif
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -3068,7 +3068,7 @@
+ ifeq ($(SYSTEM),MINGW32)
+       $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/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.6
++      $(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
+ endif
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -3077,7 +3077,7 @@
+ ifeq ($(SYSTEM),MINGW32)
+       $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/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.6
++      $(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
+ endif
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+@@ -3086,7 +3086,7 @@ endif
+ ifeq ($(SYSTEM),MINGW32)
+       $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/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.6
++      $(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
+ endif
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpcpp_channelz$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
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..37aa884
--- /dev/null
@@ -0,0 +1,270 @@
+--- a/Makefile 2018-05-04 17:12:19.000000000 +0000
++++ b/Makefile 2018-05-04 19:59:00.702313203 +0000
+@@ -2953,88 +2953,88 @@ 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_cronet.a"
+-      $(Q) $(INSTALL) -d $(prefix)/lib
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(prefix)/lib/libgrpc_cronet.a
++      $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_cronet.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_cronet.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
+ 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++_cronet.a"
+-      $(Q) $(INSTALL) -d $(prefix)/lib
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a $(prefix)/lib/libgrpc++_cronet.a
++      $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.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.6
+-      $(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.6
++      $(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.6
+-      $(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.6
++      $(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.6
+-      $(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.6
++      $(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc.so
+ endif
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)"
+-      $(Q) $(INSTALL) -d $(prefix)/lib
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)
++      $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)
+ ifeq ($(SYSTEM),MINGW32)
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE)-dll.a $(prefix)/lib/libgrpc_cronet.a
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_cronet$(SHARED_VERSION_CORE)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_cronet.a
+ else ifneq ($(SYSTEM),Darwin)
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc_cronet.so.6
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/lib/libgrpc_cronet.so
++      $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_cronet.so.6
++      $(Q) ln -sf $(SHARED_PREFIX)grpc_cronet$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_cronet.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.6
+-      $(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.6
++      $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.so
+ endif
+ ifneq ($(SYSTEM),MINGW32)
+ ifneq ($(SYSTEM),Darwin)
+@@ -3045,58 +3045,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++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
+-      $(Q) $(INSTALL) -d $(prefix)/lib
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/$(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)
++      $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)
+ ifeq ($(SYSTEM),MINGW32)
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a $(prefix)/lib/libgrpc++_cronet.a
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.a
+ else ifneq ($(SYSTEM),Darwin)
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so.1
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/lib/libgrpc++_cronet.so
++      $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.so.1
++      $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.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.6
+-      $(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.6
++      $(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)
+@@ -3107,13 +3107,13 @@ endif
+ install-shared_csharp: shared_csharp strip-shared_csharp
+       $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP)"
+-      $(Q) $(INSTALL) -d $(prefix)/lib
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP)
++      $(Q) $(INSTALL) -d $(prefix)/$(INSTALL_LIBDIR)
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/$(INSTALL_LIBDIR)/$(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP)
+ ifeq ($(SYSTEM),MINGW32)
+-      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP)-dll.a $(prefix)/lib/libgrpc_csharp_ext.a
++      $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CSHARP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.a
+ else ifneq ($(SYSTEM),Darwin)
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so.6
+-      $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/lib/libgrpc_csharp_ext.so
++      $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.so.6
++      $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.so
+ endif
+ ifneq ($(SYSTEM),MINGW32)
+ ifneq ($(SYSTEM),Darwin)
+@@ -3146,16 +3146,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/libgrpcpp_channelz_symlink.patch b/patches/libgrpcpp_channelz_symlink.patch
new file mode 100644 (file)
index 0000000..7d5cb87
--- /dev/null
@@ -0,0 +1,18 @@
+Description: Fix libgrpcpp_channelz soname symlink
+ Currently it should be postfixed with 1 (being version 1.15.1) instead of 6 .
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2018-09-28
+
+---
+
+--- grpc-1.15.1.orig/Makefile
++++ grpc-1.15.1/Makefile
+@@ -3095,7 +3095,7 @@ endif
+ ifeq ($(SYSTEM),MINGW32)
+       $(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)/$(INSTALL_LIBDIR)/libgrpcpp_channelz.so.6
++      $(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)
diff --git a/patches/no-embed-libs.patch b/patches/no-embed-libs.patch
new file mode 100644 (file)
index 0000000..d6917e4
--- /dev/null
@@ -0,0 +1,15 @@
+--- a/src/ruby/ext/grpc/extconf.rb
++++ b/src/ruby/ext/grpc/extconf.rb
+@@ -31,9 +31,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..313330d
--- /dev/null
@@ -0,0 +1,21 @@
+--- a/src/ruby/ext/grpc/extconf.rb
++++ b/src/ruby/ext/grpc/extconf.rb
+@@ -42,17 +42,8 @@
+ 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')
+-$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-werror.diff b/patches/no-werror.diff
new file mode 100644 (file)
index 0000000..bd930a3
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -353,7 +353,7 @@ ifeq ($(SYSTEM),Darwin)
+ CXXFLAGS += -stdlib=libc++
+ endif
+ CXXFLAGS += -Wnon-virtual-dtor
+-CPPFLAGS += -g -Wall -Wextra -Werror -Wno-long-long -Wno-unused-parameter -DOSATOMIC_USE_INLINED=1 -Wno-deprecated-declarations -Ithird_party/nanopb -DPB_FIELD_32BIT
++CPPFLAGS += -g -Wall -Wextra -Wno-long-long -Wno-unused-parameter -DOSATOMIC_USE_INLINED=1 -Wno-deprecated-declarations -Ithird_party/nanopb -DPB_FIELD_32BIT
+ COREFLAGS += -fno-rtti -fno-exceptions
+ LDFLAGS += -g
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..ca92350
--- /dev/null
@@ -0,0 +1,571 @@
+--- a/grpc.gemspec
++++ b/grpc.gemspec
+@@ -46,11 +46,6 @@ Gem::Specification.new do |s|
+   s.extensions = %w(src/ruby/ext/grpc/extconf.rb)
+-  s.files += %w( third_party/address_sorting/address_sorting_internal.h )
+-  s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h )
+-  s.files += %w( third_party/address_sorting/address_sorting.c )
+-  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( include/grpc/support/alloc.h )
+   s.files += %w( include/grpc/support/atm.h )
+   s.files += %w( include/grpc/support/atm_gcc_atomic.h )
+@@ -258,10 +253,6 @@ Gem::Specification.new do |s|
+   s.files += %w( src/core/tsi/alts/handshaker/altscontext.pb.h )
+   s.files += %w( src/core/tsi/alts/handshaker/handshaker.pb.h )
+   s.files += %w( src/core/tsi/alts/handshaker/transport_security_common.pb.h )
+-  s.files += %w( third_party/nanopb/pb.h )
+-  s.files += %w( third_party/nanopb/pb_common.h )
+-  s.files += %w( third_party/nanopb/pb_decode.h )
+-  s.files += %w( third_party/nanopb/pb_encode.h )
+   s.files += %w( src/core/tsi/transport_security.h )
+   s.files += %w( src/core/tsi/transport_security_interface.h )
+   s.files += %w( src/core/ext/transport/chttp2/client/authority.h )
+@@ -689,9 +670,6 @@ Gem::Specification.new do |s|
+   s.files += %w( src/core/tsi/alts/handshaker/altscontext.pb.c )
+   s.files += %w( src/core/tsi/alts/handshaker/handshaker.pb.c )
+   s.files += %w( src/core/tsi/alts/handshaker/transport_security_common.pb.c )
+-  s.files += %w( third_party/nanopb/pb_common.c )
+-  s.files += %w( third_party/nanopb/pb_decode.c )
+-  s.files += %w( third_party/nanopb/pb_encode.c )
+   s.files += %w( src/core/tsi/transport_security.cc )
+   s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create.cc )
+   s.files += %w( src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc )
+@@ -762,535 +750,5 @@ Gem::Specification.new do |s|
+   s.files += %w( src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc )
+   s.files += %w( src/core/ext/filters/workarounds/workaround_utils.cc )
+   s.files += %w( src/core/plugin_registry/grpc_plugin_registry.cc )
+-  s.files += %w( third_party/boringssl/crypto/asn1/asn1_locl.h )
+-  s.files += %w( third_party/boringssl/crypto/bio/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/bytestring/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/conf/conf_def.h )
+-  s.files += %w( third_party/boringssl/crypto/conf/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/err/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/evp/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/aes/aes.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/aes/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/aes/key_wrap.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/add.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/bn.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/bytes.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/cmp.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/ctx.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/div.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/exponentiation.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/gcd.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/generic.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/jacobi.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/montgomery.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/mul.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/prime.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/random.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/shift.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bn/sqrt.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/cipher/aead.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/cipher/cipher.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/cipher/e_aes.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/cipher/e_des.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/cipher/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/delocate.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/des/des.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/des/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/digest/digest.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/digest/digests.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/digest/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/digest/md32_common.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/ec.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/ec_key.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/oct.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/p224-64.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64-table.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/p256-x86_64.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/simple.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/util.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ec/wnaf.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/hmac/hmac.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/md4/md4.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/md5/md5.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/cbc.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/ccm.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/cfb.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/ctr.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/gcm.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/ofb.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/modes/polyval.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rand/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rand/rand.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rand/urandom.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rsa/blinding.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rsa/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rsa/padding.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rsa/rsa.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/self_check/self_check.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/sha/sha1-altivec.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/sha/sha1.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/sha/sha256.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/sha/sha512.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/tls/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/tls/kdf.c )
+-  s.files += %w( third_party/boringssl/crypto/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/obj/obj_dat.h )
+-  s.files += %w( third_party/boringssl/crypto/pkcs7/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/pkcs8/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/poly1305/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/pool/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/x509/charmap.h )
+-  s.files += %w( third_party/boringssl/crypto/x509/internal.h )
+-  s.files += %w( third_party/boringssl/crypto/x509/vpm_int.h )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/ext_dat.h )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_int.h )
+-  s.files += %w( third_party/boringssl/include/openssl/aead.h )
+-  s.files += %w( third_party/boringssl/include/openssl/aes.h )
+-  s.files += %w( third_party/boringssl/include/openssl/arm_arch.h )
+-  s.files += %w( third_party/boringssl/include/openssl/asn1.h )
+-  s.files += %w( third_party/boringssl/include/openssl/asn1_mac.h )
+-  s.files += %w( third_party/boringssl/include/openssl/asn1t.h )
+-  s.files += %w( third_party/boringssl/include/openssl/base.h )
+-  s.files += %w( third_party/boringssl/include/openssl/base64.h )
+-  s.files += %w( third_party/boringssl/include/openssl/bio.h )
+-  s.files += %w( third_party/boringssl/include/openssl/blowfish.h )
+-  s.files += %w( third_party/boringssl/include/openssl/bn.h )
+-  s.files += %w( third_party/boringssl/include/openssl/buf.h )
+-  s.files += %w( third_party/boringssl/include/openssl/buffer.h )
+-  s.files += %w( third_party/boringssl/include/openssl/bytestring.h )
+-  s.files += %w( third_party/boringssl/include/openssl/cast.h )
+-  s.files += %w( third_party/boringssl/include/openssl/chacha.h )
+-  s.files += %w( third_party/boringssl/include/openssl/cipher.h )
+-  s.files += %w( third_party/boringssl/include/openssl/cmac.h )
+-  s.files += %w( third_party/boringssl/include/openssl/conf.h )
+-  s.files += %w( third_party/boringssl/include/openssl/cpu.h )
+-  s.files += %w( third_party/boringssl/include/openssl/crypto.h )
+-  s.files += %w( third_party/boringssl/include/openssl/curve25519.h )
+-  s.files += %w( third_party/boringssl/include/openssl/des.h )
+-  s.files += %w( third_party/boringssl/include/openssl/dh.h )
+-  s.files += %w( third_party/boringssl/include/openssl/digest.h )
+-  s.files += %w( third_party/boringssl/include/openssl/dsa.h )
+-  s.files += %w( third_party/boringssl/include/openssl/dtls1.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ec.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ec_key.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ecdh.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ecdsa.h )
+-  s.files += %w( third_party/boringssl/include/openssl/engine.h )
+-  s.files += %w( third_party/boringssl/include/openssl/err.h )
+-  s.files += %w( third_party/boringssl/include/openssl/evp.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ex_data.h )
+-  s.files += %w( third_party/boringssl/include/openssl/hkdf.h )
+-  s.files += %w( third_party/boringssl/include/openssl/hmac.h )
+-  s.files += %w( third_party/boringssl/include/openssl/is_boringssl.h )
+-  s.files += %w( third_party/boringssl/include/openssl/lhash.h )
+-  s.files += %w( third_party/boringssl/include/openssl/lhash_macros.h )
+-  s.files += %w( third_party/boringssl/include/openssl/md4.h )
+-  s.files += %w( third_party/boringssl/include/openssl/md5.h )
+-  s.files += %w( third_party/boringssl/include/openssl/mem.h )
+-  s.files += %w( third_party/boringssl/include/openssl/nid.h )
+-  s.files += %w( third_party/boringssl/include/openssl/obj.h )
+-  s.files += %w( third_party/boringssl/include/openssl/obj_mac.h )
+-  s.files += %w( third_party/boringssl/include/openssl/objects.h )
+-  s.files += %w( third_party/boringssl/include/openssl/opensslconf.h )
+-  s.files += %w( third_party/boringssl/include/openssl/opensslv.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ossl_typ.h )
+-  s.files += %w( third_party/boringssl/include/openssl/pem.h )
+-  s.files += %w( third_party/boringssl/include/openssl/pkcs12.h )
+-  s.files += %w( third_party/boringssl/include/openssl/pkcs7.h )
+-  s.files += %w( third_party/boringssl/include/openssl/pkcs8.h )
+-  s.files += %w( third_party/boringssl/include/openssl/poly1305.h )
+-  s.files += %w( third_party/boringssl/include/openssl/pool.h )
+-  s.files += %w( third_party/boringssl/include/openssl/rand.h )
+-  s.files += %w( third_party/boringssl/include/openssl/rc4.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ripemd.h )
+-  s.files += %w( third_party/boringssl/include/openssl/rsa.h )
+-  s.files += %w( third_party/boringssl/include/openssl/safestack.h )
+-  s.files += %w( third_party/boringssl/include/openssl/sha.h )
+-  s.files += %w( third_party/boringssl/include/openssl/span.h )
+-  s.files += %w( third_party/boringssl/include/openssl/srtp.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ssl.h )
+-  s.files += %w( third_party/boringssl/include/openssl/ssl3.h )
+-  s.files += %w( third_party/boringssl/include/openssl/stack.h )
+-  s.files += %w( third_party/boringssl/include/openssl/thread.h )
+-  s.files += %w( third_party/boringssl/include/openssl/tls1.h )
+-  s.files += %w( third_party/boringssl/include/openssl/type_check.h )
+-  s.files += %w( third_party/boringssl/include/openssl/x509.h )
+-  s.files += %w( third_party/boringssl/include/openssl/x509_vfy.h )
+-  s.files += %w( third_party/boringssl/include/openssl/x509v3.h )
+-  s.files += %w( third_party/boringssl/ssl/internal.h )
+-  s.files += %w( third_party/boringssl/third_party/fiat/curve25519_tables.h )
+-  s.files += %w( third_party/boringssl/third_party/fiat/internal.h )
+-  s.files += %w( third_party/boringssl/third_party/fiat/p256.c )
+   s.files += %w( src/boringssl/err_data.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_bitstr.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_bool.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_d2i_fp.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_dup.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_enum.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_gentm.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_i2d_fp.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_int.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_mbstr.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_object.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_octet.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_print.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_strnid.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_time.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_type.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_utctm.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/a_utf8.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/asn1_lib.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/asn1_par.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/asn_pack.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/f_enum.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/f_int.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/f_string.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/tasn_dec.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/tasn_enc.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/tasn_fre.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/tasn_new.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/tasn_typ.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/tasn_utl.c )
+-  s.files += %w( third_party/boringssl/crypto/asn1/time_support.c )
+-  s.files += %w( third_party/boringssl/crypto/base64/base64.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/bio.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/bio_mem.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/connect.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/fd.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/file.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/hexdump.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/pair.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/printf.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/socket.c )
+-  s.files += %w( third_party/boringssl/crypto/bio/socket_helper.c )
+-  s.files += %w( third_party/boringssl/crypto/bn_extra/bn_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/bn_extra/convert.c )
+-  s.files += %w( third_party/boringssl/crypto/buf/buf.c )
+-  s.files += %w( third_party/boringssl/crypto/bytestring/asn1_compat.c )
+-  s.files += %w( third_party/boringssl/crypto/bytestring/ber.c )
+-  s.files += %w( third_party/boringssl/crypto/bytestring/cbb.c )
+-  s.files += %w( third_party/boringssl/crypto/bytestring/cbs.c )
+-  s.files += %w( third_party/boringssl/crypto/chacha/chacha.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/cipher_extra.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/derive_key.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_aesccm.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_null.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_rc2.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_rc4.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_ssl3.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/e_tls.c )
+-  s.files += %w( third_party/boringssl/crypto/cipher_extra/tls_cbc.c )
+-  s.files += %w( third_party/boringssl/crypto/cmac/cmac.c )
+-  s.files += %w( third_party/boringssl/crypto/conf/conf.c )
+-  s.files += %w( third_party/boringssl/crypto/cpu-aarch64-fuchsia.c )
+-  s.files += %w( third_party/boringssl/crypto/cpu-aarch64-linux.c )
+-  s.files += %w( third_party/boringssl/crypto/cpu-arm-linux.c )
+-  s.files += %w( third_party/boringssl/crypto/cpu-arm.c )
+-  s.files += %w( third_party/boringssl/crypto/cpu-intel.c )
+-  s.files += %w( third_party/boringssl/crypto/cpu-ppc64le.c )
+-  s.files += %w( third_party/boringssl/crypto/crypto.c )
+-  s.files += %w( third_party/boringssl/crypto/curve25519/spake25519.c )
+-  s.files += %w( third_party/boringssl/crypto/dh/check.c )
+-  s.files += %w( third_party/boringssl/crypto/dh/dh.c )
+-  s.files += %w( third_party/boringssl/crypto/dh/dh_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/dh/params.c )
+-  s.files += %w( third_party/boringssl/crypto/digest_extra/digest_extra.c )
+-  s.files += %w( third_party/boringssl/crypto/dsa/dsa.c )
+-  s.files += %w( third_party/boringssl/crypto/dsa/dsa_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/ec_extra/ec_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/ecdh/ecdh.c )
+-  s.files += %w( third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/engine/engine.c )
+-  s.files += %w( third_party/boringssl/crypto/err/err.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/digestsign.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/evp.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/evp_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/evp_ctx.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_dsa_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_ec.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_ec_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_ed25519.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_ed25519_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_rsa.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/p_rsa_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/pbkdf.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/print.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/scrypt.c )
+-  s.files += %w( third_party/boringssl/crypto/evp/sign.c )
+-  s.files += %w( third_party/boringssl/crypto/ex_data.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/bcm.c )
+-  s.files += %w( third_party/boringssl/crypto/fipsmodule/is_fips.c )
+-  s.files += %w( third_party/boringssl/crypto/hkdf/hkdf.c )
+-  s.files += %w( third_party/boringssl/crypto/lhash/lhash.c )
+-  s.files += %w( third_party/boringssl/crypto/mem.c )
+-  s.files += %w( third_party/boringssl/crypto/obj/obj.c )
+-  s.files += %w( third_party/boringssl/crypto/obj/obj_xref.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_all.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_info.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_lib.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_oth.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_pk8.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_pkey.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_x509.c )
+-  s.files += %w( third_party/boringssl/crypto/pem/pem_xaux.c )
+-  s.files += %w( third_party/boringssl/crypto/pkcs7/pkcs7.c )
+-  s.files += %w( third_party/boringssl/crypto/pkcs7/pkcs7_x509.c )
+-  s.files += %w( third_party/boringssl/crypto/pkcs8/p5_pbev2.c )
+-  s.files += %w( third_party/boringssl/crypto/pkcs8/pkcs8.c )
+-  s.files += %w( third_party/boringssl/crypto/pkcs8/pkcs8_x509.c )
+-  s.files += %w( third_party/boringssl/crypto/poly1305/poly1305.c )
+-  s.files += %w( third_party/boringssl/crypto/poly1305/poly1305_arm.c )
+-  s.files += %w( third_party/boringssl/crypto/poly1305/poly1305_vec.c )
+-  s.files += %w( third_party/boringssl/crypto/pool/pool.c )
+-  s.files += %w( third_party/boringssl/crypto/rand_extra/deterministic.c )
+-  s.files += %w( third_party/boringssl/crypto/rand_extra/forkunsafe.c )
+-  s.files += %w( third_party/boringssl/crypto/rand_extra/fuchsia.c )
+-  s.files += %w( third_party/boringssl/crypto/rand_extra/rand_extra.c )
+-  s.files += %w( third_party/boringssl/crypto/rand_extra/windows.c )
+-  s.files += %w( third_party/boringssl/crypto/rc4/rc4.c )
+-  s.files += %w( third_party/boringssl/crypto/refcount_c11.c )
+-  s.files += %w( third_party/boringssl/crypto/refcount_lock.c )
+-  s.files += %w( third_party/boringssl/crypto/rsa_extra/rsa_asn1.c )
+-  s.files += %w( third_party/boringssl/crypto/stack/stack.c )
+-  s.files += %w( third_party/boringssl/crypto/thread.c )
+-  s.files += %w( third_party/boringssl/crypto/thread_none.c )
+-  s.files += %w( third_party/boringssl/crypto/thread_pthread.c )
+-  s.files += %w( third_party/boringssl/crypto/thread_win.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/a_digest.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/a_sign.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/a_strex.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/a_verify.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/algorithm.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/asn1_gen.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/by_dir.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/by_file.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/i2d_pr.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/rsa_pss.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/t_crl.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/t_req.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/t_x509.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/t_x509a.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_att.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_cmp.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_d2.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_def.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_ext.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_lu.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_obj.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_r2x.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_req.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_set.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_trs.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_txt.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_v3.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_vfy.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509_vpm.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509cset.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509name.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509rset.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x509spki.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_algor.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_all.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_attrib.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_crl.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_exten.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_info.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_name.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_pkey.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_pubkey.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_req.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_sig.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_spki.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_val.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_x509.c )
+-  s.files += %w( third_party/boringssl/crypto/x509/x_x509a.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_cache.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_data.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_lib.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_map.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_node.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/pcy_tree.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_akey.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_akeya.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_alt.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_bcons.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_bitst.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_conf.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_cpols.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_crld.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_enum.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_extku.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_genn.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_ia5.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_info.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_int.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_lib.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_ncons.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_pci.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_pcia.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_pcons.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_pku.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_pmaps.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_prn.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_purp.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_skey.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_sxnet.c )
+-  s.files += %w( third_party/boringssl/crypto/x509v3/v3_utl.c )
+-  s.files += %w( third_party/boringssl/ssl/bio_ssl.cc )
+-  s.files += %w( third_party/boringssl/ssl/custom_extensions.cc )
+-  s.files += %w( third_party/boringssl/ssl/d1_both.cc )
+-  s.files += %w( third_party/boringssl/ssl/d1_lib.cc )
+-  s.files += %w( third_party/boringssl/ssl/d1_pkt.cc )
+-  s.files += %w( third_party/boringssl/ssl/d1_srtp.cc )
+-  s.files += %w( third_party/boringssl/ssl/dtls_method.cc )
+-  s.files += %w( third_party/boringssl/ssl/dtls_record.cc )
+-  s.files += %w( third_party/boringssl/ssl/handoff.cc )
+-  s.files += %w( third_party/boringssl/ssl/handshake.cc )
+-  s.files += %w( third_party/boringssl/ssl/handshake_client.cc )
+-  s.files += %w( third_party/boringssl/ssl/handshake_server.cc )
+-  s.files += %w( third_party/boringssl/ssl/s3_both.cc )
+-  s.files += %w( third_party/boringssl/ssl/s3_lib.cc )
+-  s.files += %w( third_party/boringssl/ssl/s3_pkt.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_aead_ctx.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_asn1.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_buffer.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_cert.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_cipher.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_file.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_key_share.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_lib.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_privkey.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_session.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_stat.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_transcript.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_versions.cc )
+-  s.files += %w( third_party/boringssl/ssl/ssl_x509.cc )
+-  s.files += %w( third_party/boringssl/ssl/t1_enc.cc )
+-  s.files += %w( third_party/boringssl/ssl/t1_lib.cc )
+-  s.files += %w( third_party/boringssl/ssl/tls13_both.cc )
+-  s.files += %w( third_party/boringssl/ssl/tls13_client.cc )
+-  s.files += %w( third_party/boringssl/ssl/tls13_enc.cc )
+-  s.files += %w( third_party/boringssl/ssl/tls13_server.cc )
+-  s.files += %w( third_party/boringssl/ssl/tls_method.cc )
+-  s.files += %w( third_party/boringssl/ssl/tls_record.cc )
+-  s.files += %w( third_party/boringssl/third_party/fiat/curve25519.c )
+-  s.files += %w( third_party/zlib/crc32.h )
+-  s.files += %w( third_party/zlib/deflate.h )
+-  s.files += %w( third_party/zlib/gzguts.h )
+-  s.files += %w( third_party/zlib/inffast.h )
+-  s.files += %w( third_party/zlib/inffixed.h )
+-  s.files += %w( third_party/zlib/inflate.h )
+-  s.files += %w( third_party/zlib/inftrees.h )
+-  s.files += %w( third_party/zlib/trees.h )
+-  s.files += %w( third_party/zlib/zconf.h )
+-  s.files += %w( third_party/zlib/zlib.h )
+-  s.files += %w( third_party/zlib/zutil.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/deflate.c )
+-  s.files += %w( third_party/zlib/gzclose.c )
+-  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/inflate.c )
+-  s.files += %w( third_party/zlib/inftrees.c )
+-  s.files += %w( third_party/zlib/trees.c )
+-  s.files += %w( third_party/zlib/uncompr.c )
+-  s.files += %w( third_party/zlib/zutil.c )
+-  s.files += %w( third_party/cares/cares/ares.h )
+-  s.files += %w( third_party/cares/cares/ares_data.h )
+-  s.files += %w( third_party/cares/cares/ares_dns.h )
+-  s.files += %w( third_party/cares/cares/ares_getenv.h )
+-  s.files += %w( third_party/cares/cares/ares_getopt.h )
+-  s.files += %w( third_party/cares/cares/ares_inet_net_pton.h )
+-  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.h )
+-  s.files += %w( third_party/cares/cares/ares_llist.h )
+-  s.files += %w( third_party/cares/cares/ares_nowarn.h )
+-  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_rules.h )
+-  s.files += %w( third_party/cares/cares/ares_setup.h )
+-  s.files += %w( third_party/cares/cares/ares_strcasecmp.h )
+-  s.files += %w( third_party/cares/cares/ares_strdup.h )
+-  s.files += %w( third_party/cares/cares/ares_version.h )
+-  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/setup_once.h )
+-  s.files += %w( third_party/cares/ares_build.h )
+-  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/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_destroy.c )
+-  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_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_getsock.c )
+-  s.files += %w( third_party/cares/cares/ares_init.c )
+-  s.files += %w( third_party/cares/cares/ares_library_init.c )
+-  s.files += %w( third_party/cares/cares/ares_llist.c )
+-  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_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_process.c )
+-  s.files += %w( third_party/cares/cares/ares_query.c )
+-  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_strcasecmp.c )
+-  s.files += %w( third_party/cares/cares/ares_strdup.c )
+-  s.files += %w( third_party/cares/cares/ares_strerror.c )
+-  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_writev.c )
+-  s.files += %w( third_party/cares/cares/bitncmp.c )
+-  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/windows_port.c )
+ end
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..c45120f
--- /dev/null
@@ -0,0 +1,13 @@
+no-werror.diff
+unvendor-zlib.diff
+fix-libgrpc++-soname.diff
+add-wrap-memcpy-flags.diff
+install_libdir.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
+libgrpcpp_channelz_symlink.patch
diff --git a/patches/unvendor-zlib.diff b/patches/unvendor-zlib.diff
new file mode 100644 (file)
index 0000000..1b9a8b1
--- /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
+@@ -1407,7 +1407,7 @@ plugins: $(PROTOC_PLUGINS)
+ privatelibs: privatelibs_c privatelibs_cxx
+-privatelibs_c:  $(LIBDIR)/$(CONFIG)/libalts_test_util.a $(LIBDIR)/$(CONFIG)/libcxxabi.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libares.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a
++privatelibs_c:  $(LIBDIR)/$(CONFIG)/libalts_test_util.a $(LIBDIR)/$(CONFIG)/libcxxabi.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libares.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.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/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..872c8de
--- /dev/null
+++ b/rules
@@ -0,0 +1,84 @@
+#!/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
+
+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
+
+LD_LIBRARY_PATH += :$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
+
+override_dh_auto_clean:
+       dh_auto_clean
+       dh_auto_clean -O--buildsystem=pybuild
+       find $(CURDIR)/src/python/grpcio/ -name \*.so -delete
+       $(RM) -rf $(CURDIR)/src/python/grpcio/grpcio.egg-info/
+       $(RM) -f \
+               $(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
+
+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
+       TOPDIR=$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) \
+               dh_auto_install -O--buildsystem=ruby
+       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=python2,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/watch b/watch
new file mode 100644 (file)
index 0000000..ee8b4cf
--- /dev/null
+++ b/watch
@@ -0,0 +1,5 @@
+version=3
+opts=\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$//,\
+filenamemangle=s/.*\/v?([\d\.-]+)\.tar\.gz/grpc-$1.tar.gz/ \
+ https://github.com/grpc/grpc/tags .*/archive/v?([\d\.]+).tar.gz