diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index 7f47303002..60873f0465 100644 --- a/dev-support/docker/Dockerfile +++ b/dev-support/docker/Dockerfile @@ -1,4 +1,3 @@ - # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information @@ -18,7 +17,7 @@ # Dockerfile for installing the necessary dependencies for building Hadoop. # See BUILDING.txt. -FROM ubuntu:bionic +FROM ubuntu:focal WORKDIR /root @@ -51,6 +50,7 @@ RUN apt-get -q update \ gcc \ git \ gnupg-agent \ + hugo \ libbcprov-java \ libbz2-dev \ libcurl4-openssl-dev \ @@ -65,16 +65,17 @@ RUN apt-get -q update \ locales \ make \ maven \ + nodejs \ + node-yarn \ + npm \ openjdk-11-jdk \ openjdk-8-jdk \ pinentry-curses \ pkg-config \ python \ python2.7 \ - python-pip \ python-pkg-resources \ python-setuptools \ - python-wheel \ rsync \ shellcheck \ software-properties-common \ @@ -93,7 +94,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 ENV FINDBUGS_HOME /usr ####### -# Install Boost 1.72 (1.65 ships with Bionic) +# Install Boost 1.72 (1.71 ships with Focal) ####### # hadolint ignore=DL3003 RUN mkdir -p /opt/boost-library \ @@ -107,8 +108,20 @@ RUN mkdir -p /opt/boost-library \ && cd /root \ && rm -rf /opt/boost-library +#### +# Install pip (deprecated from Focal toolchain) +#### +# hadolint ignore=DL3003 +RUN mkdir -p /opt/pip \ + && curl -L https://bootstrap.pypa.io/get-pip.py > get-pip.py \ + && mv get-pip.py /opt/pip \ + && cd /opt/pip \ + && python2.7 get-pip.py \ + && cd /root \ + && rm -rf /opt/pip + ###### -# Install Google Protobuf 3.7.1 (3.0.0 ships with Bionic) +# Install Google Protobuf 3.7.1 (3.6.1 ships with Focal) ###### # hadolint ignore=DL3003 RUN mkdir -p /opt/protobuf-src \ @@ -139,25 +152,11 @@ RUN pip2 install \ #### RUN pip2 install python-dateutil==2.7.3 -### -# Install node.js 10.x for web UI framework (4.2.6 ships with Xenial) -### -# hadolint ignore=DL3008 -RUN curl -L -s -S https://deb.nodesource.com/setup_10.x | bash - \ - && apt-get install -y --no-install-recommends nodejs \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && npm install -g bower@1.8.8 - -### -## Install Yarn 1.22.5 for web UI framework #### -RUN curl -s -S https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ - && echo 'deb https://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list \ - && apt-get -q update \ - && apt-get install -y --no-install-recommends yarn=1.22.5-1 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* +# Install bower +#### +# hadolint ignore=DL3008 +RUN npm install -g bower@1.8.8 ### # Install hadolint @@ -203,12 +202,6 @@ ENV HADOOP_SKIP_YETUS_VERIFICATION true # YETUS CUT HERE ### -# Hugo static website generator for new hadoop site -RUN curl -L -o hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.58.3/hugo_0.58.3_Linux-64bit.deb \ - && dpkg --install hugo.deb \ - && rm hugo.deb - - # Add a welcome message and environment checks. COPY hadoop_env_checks.sh /root/hadoop_env_checks.sh RUN chmod 755 /root/hadoop_env_checks.sh diff --git a/dev-support/docker/Dockerfile_aarch64 b/dev-support/docker/Dockerfile_aarch64 index 0c4db95537..25e9526dee 100644 --- a/dev-support/docker/Dockerfile_aarch64 +++ b/dev-support/docker/Dockerfile_aarch64 @@ -17,7 +17,7 @@ # Dockerfile for installing the necessary dependencies for building Hadoop. # See BUILDING.txt. -FROM ubuntu:bionic +FROM ubuntu:focal WORKDIR /root @@ -54,6 +54,7 @@ RUN apt-get -q update \ gcc \ git \ gnupg-agent \ + hugo \ libbcprov-java \ libbz2-dev \ libcurl4-openssl-dev \ @@ -68,16 +69,17 @@ RUN apt-get -q update \ locales \ make \ maven \ + nodejs \ + node-yarn \ + npm \ openjdk-11-jdk \ openjdk-8-jdk \ pinentry-curses \ pkg-config \ python \ python2.7 \ - python-pip \ python-pkg-resources \ python-setuptools \ - python-wheel \ rsync \ shellcheck \ software-properties-common \ @@ -96,7 +98,7 @@ ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-arm64 ENV FINDBUGS_HOME /usr ####### -# Install Boost 1.72 (1.65 ships with Bionic) +# Install Boost 1.72 (1.71 ships with Focal) ####### # hadolint ignore=DL3003 RUN mkdir -p /opt/boost-library \ @@ -110,8 +112,20 @@ RUN mkdir -p /opt/boost-library \ && cd /root \ && rm -rf /opt/boost-library +#### +# Install pip (deprecated from Focal toolchain) +#### +# hadolint ignore=DL3003 +RUN mkdir -p /opt/pip \ + && curl -L https://bootstrap.pypa.io/get-pip.py > get-pip.py \ + && mv get-pip.py /opt/pip \ + && cd /opt/pip \ + && python2.7 get-pip.py \ + && cd /root \ + && rm -rf /opt/pip + ###### -# Install Google Protobuf 3.7.1 (3.0.0 ships with Bionic) +# Install Google Protobuf 3.7.1 (3.6.1 ships with Focal) ###### # hadolint ignore=DL3003 RUN mkdir -p /opt/protobuf-src \ @@ -142,25 +156,11 @@ RUN pip2 install \ #### RUN pip2 install python-dateutil==2.7.3 -### -# Install node.js 10.x for web UI framework (4.2.6 ships with Xenial) -### -# hadolint ignore=DL3008 -RUN curl -L -s -S https://deb.nodesource.com/setup_10.x | bash - \ - && apt-get install -y --no-install-recommends nodejs \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* \ - && npm install -g bower@1.8.8 - -### -## Install Yarn 1.22.5 for web UI framework #### -RUN curl -s -S https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ - && echo 'deb https://dl.yarnpkg.com/debian/ stable main' > /etc/apt/sources.list.d/yarn.list \ - && apt-get -q update \ - && apt-get install -y --no-install-recommends yarn=1.22.5-1 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* +# Install bower +#### +# hadolint ignore=DL3008 +RUN npm install -g bower@1.8.8 ### # Install phantomjs built for aarch64 @@ -187,12 +187,6 @@ ENV HADOOP_SKIP_YETUS_VERIFICATION true # YETUS CUT HERE ### -# Hugo static website generator (for new hadoop site docs) -RUN curl -L -o hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.58.3/hugo_0.58.3_Linux-ARM64.deb \ - && dpkg --install hugo.deb \ - && rm hugo.deb - - # Add a welcome message and environment checks. COPY hadoop_env_checks.sh /root/hadoop_env_checks.sh RUN chmod 755 /root/hadoop_env_checks.sh