f1337608e45ca80deded612f1b653844e06c5d52
[platform/upstream/grpc.git] / tools / dockerfile / test / cxx_buster_openssl102_x64 / Dockerfile
1 # Copyright 2021 the gRPC authors.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 FROM debian:buster
16
17 # Install Git and basic packages.
18 RUN apt-get update && apt-get install -y \
19   autoconf \
20   autotools-dev \
21   build-essential \
22   bzip2 \
23   ccache \
24   curl \
25   dnsutils \
26   gcc \
27   gcc-multilib \
28   git \
29   golang \
30   gyp \
31   lcov \
32   libc6 \
33   libc6-dbg \
34   libc6-dev \
35   libgtest-dev \
36   libtool \
37   make \
38   perl \
39   strace \
40   python-dev \
41   python-setuptools \
42   python-yaml \
43   telnet \
44   unzip \
45   wget \
46   zip && apt-get clean
47
48 #================
49 # Build profiling
50 RUN apt-get update && apt-get install -y time && apt-get clean
51
52 #====================
53 # Python dependencies
54
55 # Install dependencies
56
57 RUN apt-get update && apt-get install -y \
58     python-all-dev \
59     python3-all-dev \
60     python-setuptools
61
62 # Install Python packages from PyPI
63 RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2.7
64 RUN pip install --upgrade pip==19.3.1
65 RUN pip install virtualenv==16.7.9
66 RUN pip install futures==2.2.0 enum34==1.0.4 protobuf==3.5.2.post1 six==1.15.0 twisted==17.5.0
67
68 # Google Cloud platform API libraries
69 RUN pip install --upgrade google-auth==1.24.0 google-api-python-client==1.12.8 oauth2client==4.1.0
70
71 #=================
72 # C++ dependencies
73 RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean
74
75 #=================
76 # Install cmake
77 # Note that this step should be only used for distributions that have new enough cmake to satisfy gRPC's cmake version requirement.
78
79 RUN apt-get update && apt-get install -y cmake && apt-get clean
80
81
82 RUN mkdir /var/local/jenkins
83
84
85 # Install openssl 1.0.2 from source
86 RUN apt-get update && apt-get install -y build-essential zlib1g-dev
87 RUN cd /tmp && \
88     wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz && \
89     tar -xf openssl-1.0.2u.tar.gz && \
90     cd openssl-1.0.2u && \
91     ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib && \
92     make -j 4 && \
93     make install && \
94     rm -rf /tmp/openssl-1.0.2u*
95 ENV OPENSSL_ROOT_DIR=/usr/local/ssl
96
97 # Define the default command.
98 CMD ["bash"]