18
18
# Dockerfile for installing the necessary dependencies for building Hadoop.
19
19
# See BUILDING.txt.
20
20
21
- FROM ubuntu:bionic
21
+ FROM ubuntu:xenial
22
22
23
23
WORKDIR /root
24
24
@@ -44,11 +44,9 @@ ENV DEBCONF_TERSE true
44
44
RUN apt-get -q update \
45
45
&& apt-get -q install -y --no-install-recommends \
46
46
apt-utils \
47
- bats \
48
47
build-essential \
49
48
bzip2 \
50
49
clang \
51
- cmake \
52
50
curl \
53
51
doxygen \
54
52
fuse \
@@ -64,7 +62,6 @@ RUN apt-get -q update \
64
62
libsasl2-dev \
65
63
libsnappy-dev \
66
64
libssl-dev \
67
- libsnappy-dev \
68
65
libtool \
69
66
libzstd1-dev \
70
67
locales \
@@ -78,8 +75,8 @@ RUN apt-get -q update \
78
75
python-setuptools \
79
76
python-wheel \
80
77
rsync \
81
- shellcheck \
82
78
software-properties-common \
79
+ snappy \
83
80
sudo \
84
81
valgrind \
85
82
zlib1g-dev \
@@ -96,8 +93,20 @@ RUN apt-get -q update \
96
93
&& apt-get clean \
97
94
&& rm -rf /var/lib/apt/lists/*
98
95
96
+
97
+ # #####
98
+ # Install cmake 3.1.0 (3.5.1 ships with Xenial)
99
+ # #####
100
+ RUN mkdir -p /opt/cmake \
101
+ && curl -L -s -S \
102
+ https://cmake.org/files/v3.1/cmake-3.1.0-Linux-x86_64.tar.gz \
103
+ -o /opt/cmake.tar.gz \
104
+ && tar xzf /opt/cmake.tar.gz --strip-components 1 -C /opt/cmake
105
+ ENV CMAKE_HOME /opt/cmake
106
+ ENV PATH "${PATH}:/opt/cmake/bin"
107
+
99
108
# #####
100
- # Install Google Protobuf 3.7.1 (3.0 .0 ships with Bionic )
109
+ # Install Google Protobuf 3.7.1 (2.6 .0 ships with Xenial )
101
110
# #####
102
111
# hadolint ignore=DL3003
103
112
RUN mkdir -p /opt/protobuf-src \
@@ -114,19 +123,17 @@ ENV PROTOBUF_HOME /opt/protobuf
114
123
ENV PATH "${PATH}:/opt/protobuf/bin"
115
124
116
125
# #####
117
- # Install Apache Maven 3.6.0 (3.6.0 ships with Bionic )
126
+ # Install Apache Maven 3.3.9 (3.3.9 ships with Xenial )
118
127
# #####
119
128
# hadolint ignore=DL3008
120
129
RUN apt-get -q update \
121
130
&& apt-get -q install -y --no-install-recommends maven \
122
131
&& apt-get clean \
123
132
&& rm -rf /var/lib/apt/lists/*
124
133
ENV MAVEN_HOME /usr
125
- # JAVA_HOME must be set in Maven >= 3.5.0 (MNG-6003)
126
- ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
127
134
128
135
# #####
129
- # Install findbugs 3.1.0 (3.1.0 ships with Bionic )
136
+ # Install findbugs 3.0.1 (3.0.1 ships with Xenial )
130
137
# Ant is needed for findbugs
131
138
# #####
132
139
# hadolint ignore=DL3008
@@ -136,6 +143,25 @@ RUN apt-get -q update \
136
143
&& rm -rf /var/lib/apt/lists/*
137
144
ENV FINDBUGS_HOME /usr
138
145
146
+ # ###
147
+ # Install shellcheck (0.4.6, the latest as of 2017-09-26)
148
+ # ###
149
+ # hadolint ignore=DL3008
150
+ RUN add-apt-repository -y ppa:hvr/ghc \
151
+ && apt-get -q update \
152
+ && apt-get -q install -y --no-install-recommends shellcheck ghc-8.0.2 \
153
+ && apt-get clean \
154
+ && rm -rf /var/lib/apt/lists/*
155
+
156
+ # ###
157
+ # Install bats (0.4.0, the latest as of 2017-09-26, ships with Xenial)
158
+ # ###
159
+ # hadolint ignore=DL3008
160
+ RUN apt-get -q update \
161
+ && apt-get -q install -y --no-install-recommends bats \
162
+ && apt-get clean \
163
+ && rm -rf /var/lib/apt/lists/*
164
+
139
165
# ###
140
166
# Install pylint at fixed version (2.0.0 removed python2 support)
141
167
# https://github.com/PyCQA/pylint/issues/2294
0 commit comments