From af3158350ecaa86ff727af39d16a4a4599e9de3d Mon Sep 17 00:00:00 2001
From: Masood Malekghassemi <atash@google.com>
Date: Fri, 29 Apr 2016 15:40:29 -0700
Subject: [PATCH] Integrate Python protoc Linux artifact builders

---
 tools/dockerfile/grpc_artifact_linux_x64/Dockerfile | 9 +++++++++
 tools/dockerfile/grpc_artifact_linux_x86/Dockerfile | 9 +++++++++
 tools/run_tests/build_artifact_python.sh            | 9 ++++++++-
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/tools/dockerfile/grpc_artifact_linux_x64/Dockerfile b/tools/dockerfile/grpc_artifact_linux_x64/Dockerfile
index d048b725c8..5be2d37061 100644
--- a/tools/dockerfile/grpc_artifact_linux_x64/Dockerfile
+++ b/tools/dockerfile/grpc_artifact_linux_x64/Dockerfile
@@ -37,6 +37,7 @@ RUN apt-get update && apt-get install -y \
   autotools-dev \
   build-essential \
   bzip2 \
+  clang \
   curl \
   gcc \
   gcc-multilib \
@@ -66,6 +67,14 @@ RUN /bin/bash -l -c "nvm install 4 && npm install -g node-pre-gyp"
 ##################
 # Python dependencies
 
+# Install bazel
+RUN echo "deb http://httpredir.debian.org/debian jessie-backports main" >   /etc/apt/sources.list.d/backports.list
+RUN apt-get update
+RUN apt-get -t jessie-backports install -y openjdk-8-jdk
+RUN git clone https://github.com/bazelbuild/bazel.git /bazel
+RUN cd /bazel && ./compile.sh
+RUN ln -s /bazel/output/bazel /bin/
+
 RUN apt-get update && apt-get install -y \
     python-all-dev \
     python3-all-dev \
diff --git a/tools/dockerfile/grpc_artifact_linux_x86/Dockerfile b/tools/dockerfile/grpc_artifact_linux_x86/Dockerfile
index 46bc9f8f52..bacd899ced 100644
--- a/tools/dockerfile/grpc_artifact_linux_x86/Dockerfile
+++ b/tools/dockerfile/grpc_artifact_linux_x86/Dockerfile
@@ -37,6 +37,7 @@ RUN apt-get update && apt-get install -y \
   autotools-dev \
   build-essential \
   bzip2 \
+  clang \
   curl \
   gcc \
   gcc-multilib \
@@ -66,6 +67,14 @@ RUN /bin/bash -l -c "nvm install 4 && npm install -g node-pre-gyp"
 ##################
 # Python dependencies
 
+# Install bazel
+RUN echo "deb http://httpredir.debian.org/debian jessie-backports main" >   /etc/apt/sources.list.d/backports.list
+RUN apt-get update
+RUN apt-get -t jessie-backports install -y openjdk-8-jdk
+RUN git clone https://github.com/bazelbuild/bazel.git /bazel
+RUN cd /bazel && ./compile.sh
+RUN ln -s /bazel/output/bazel /bin/
+
 RUN apt-get update && apt-get install -y \
     python-all-dev \
     python3-all-dev \
diff --git a/tools/run_tests/build_artifact_python.sh b/tools/run_tests/build_artifact_python.sh
index 1f23f9fade..454f472759 100755
--- a/tools/run_tests/build_artifact_python.sh
+++ b/tools/run_tests/build_artifact_python.sh
@@ -62,6 +62,13 @@ ${SETARCH_CMD} python setup.py  \
 ${SETARCH_CMD} python setup.py  \
     bdist_wheel
 
-mkdir -p artifacts
+# Build gRPC tools package
+python tools/distrib/python/make_grpcio_tools.py
+# Build with clang since there's a bug in GCC 4.x where some constant
+# expressions are treated as non-constant in the presence of the fwrapv flag
+# (fixed in at most GCC 5.3).
+CC=clang python tools/distrib/python/grpcio_tools/setup.py bdist_wheel
 
+mkdir -p artifacts
 cp -r dist/* artifacts
+cp -r tools/distrib/python/grpcio_tools/dist/* artifacts
-- 
GitLab