1818# Dockerfile for installing the necessary dependencies for building Hadoop.
1919# See BUILDING.txt.
2020
21- FROM ubuntu:bionic
21+ FROM ubuntu:xenial
2222
2323WORKDIR /root
2424
@@ -44,11 +44,9 @@ ENV DEBCONF_TERSE true
4444RUN apt-get -q update \
4545 && apt-get -q install -y --no-install-recommends \
4646 apt-utils \
47- bats \
4847 build-essential \
4948 bzip2 \
5049 clang \
51- cmake \
5250 curl \
5351 doxygen \
5452 fuse \
@@ -64,7 +62,6 @@ RUN apt-get -q update \
6462 libsasl2-dev \
6563 libsnappy-dev \
6664 libssl-dev \
67- libsnappy-dev \
6865 libtool \
6966 libzstd1-dev \
7067 locales \
@@ -78,8 +75,8 @@ RUN apt-get -q update \
7875 python-setuptools \
7976 python-wheel \
8077 rsync \
81- shellcheck \
8278 software-properties-common \
79+ snappy \
8380 sudo \
8481 valgrind \
8582 zlib1g-dev \
@@ -96,8 +93,20 @@ RUN apt-get -q update \
9693 && apt-get clean \
9794 && rm -rf /var/lib/apt/lists/*
9895
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+
99108# #####
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 )
101110# #####
102111# hadolint ignore=DL3003
103112RUN mkdir -p /opt/protobuf-src \
@@ -114,19 +123,17 @@ ENV PROTOBUF_HOME /opt/protobuf
114123ENV PATH "${PATH}:/opt/protobuf/bin"
115124
116125# #####
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 )
118127# #####
119128# hadolint ignore=DL3008
120129RUN apt-get -q update \
121130 && apt-get -q install -y --no-install-recommends maven \
122131 && apt-get clean \
123132 && rm -rf /var/lib/apt/lists/*
124133ENV 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
127134
128135# #####
129- # Install findbugs 3.1.0 (3.1.0 ships with Bionic )
136+ # Install findbugs 3.0.1 (3.0.1 ships with Xenial )
130137# Ant is needed for findbugs
131138# #####
132139# hadolint ignore=DL3008
@@ -136,6 +143,25 @@ RUN apt-get -q update \
136143 && rm -rf /var/lib/apt/lists/*
137144ENV FINDBUGS_HOME /usr
138145
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+
139165# ###
140166# Install pylint at fixed version (2.0.0 removed python2 support)
141167# https://github.com/PyCQA/pylint/issues/2294
0 commit comments