From f83950311149d048d04d5c8c059fa1ddf061f2f5 Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Sat, 21 Feb 2015 15:11:02 -0800
Subject: [PATCH] Dockerfile to test that debian packages can be used with ruby
 instead of make install

---
 tools/dockerfile/grpc_ruby_deb/Dockerfile | 31 +++++++++++++++++++++++
 tools/dockerfile/grpc_ruby_deb/README.md  |  5 ++++
 2 files changed, 36 insertions(+)
 create mode 100644 tools/dockerfile/grpc_ruby_deb/Dockerfile
 create mode 100644 tools/dockerfile/grpc_ruby_deb/README.md

diff --git a/tools/dockerfile/grpc_ruby_deb/Dockerfile b/tools/dockerfile/grpc_ruby_deb/Dockerfile
new file mode 100644
index 0000000000..25ea2c54bd
--- /dev/null
+++ b/tools/dockerfile/grpc_ruby_deb/Dockerfile
@@ -0,0 +1,31 @@
+# Dockerfile for gRPC Ruby, but using Debian packages for gRPC C core.
+FROM grpc/ruby_base
+
+# Pull the latest sources
+RUN cd /var/local/git/grpc \
+  && git pull --recurse-submodules \
+  && git submodule update --init --recursive
+
+# Make sure we don't rely on things that shouldn't be there.
+RUN make clean -C /var/local/git/grpc
+
+# Debian packages need to be supplied externally
+ADD libgrpc_amd64.deb libgrpc_amd64.deb
+ADD libgrpc-dev_amd64.deb libgrpc-dev_amd64.deb
+
+# Install the C core .deb packages
+RUN /bin/bash -l -c 'dpkg -i libgrpc_amd64.deb libgrpc-dev_amd64.deb'
+
+# Build ruby gRPC and run its tests
+RUN /bin/bash -l -c 'cd /var/local/git/grpc/src/ruby && bundle && rake'
+
+# Add a cacerts directory containing the Google root pem file, allowing the
+# ruby client to access the production test instance
+ADD cacerts cacerts
+
+# Add a service_account directory containing the auth creds file
+ADD service_account service_account
+
+# Specify the default command such that the interop server runs on its known
+# testing port
+CMD ["/bin/bash", "-l", "-c", "ruby /var/local/git/grpc/src/ruby/bin/interop/interop_server.rb --use_tls --port 8060"]
diff --git a/tools/dockerfile/grpc_ruby_deb/README.md b/tools/dockerfile/grpc_ruby_deb/README.md
new file mode 100644
index 0000000000..0a3716b938
--- /dev/null
+++ b/tools/dockerfile/grpc_ruby_deb/README.md
@@ -0,0 +1,5 @@
+GRPC RUBY Base Dockerfile (Debian package version)
+========================
+
+Dockerfile for creating the Ruby gRPC development Docker instance.
+Uses gRPC C core Debian packages instead of installing it using make.
-- 
GitLab