Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BUILDING.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ On Linux / Mac:

$ ./start-build-env.sh [OS platform]

- [OS Platform] One of [rockylinux_8, debian_10, ubuntu_20, ubuntu_24, windows_10].
- [OS Platform] One of [rockylinux_8, debian_11, ubuntu_20, ubuntu_24, windows_10].
Default is 'ubuntu_20'.
Note: Currently only default ('ubuntu_20') is supported on arm machine

Expand Down
14 changes: 7 additions & 7 deletions dev-support/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ pipeline {
'''
}

dir("${WORKSPACE}/debian-10") {
dir("${WORKSPACE}/debian-11") {
sh '''#!/usr/bin/env bash

cp -Rp ${WORKSPACE}/src ${WORKSPACE}/debian-10
cp -Rp ${WORKSPACE}/src ${WORKSPACE}/debian-11
'''
}

Expand Down Expand Up @@ -157,11 +157,11 @@ pipeline {
// C++/C++ build/platform.
// This stage serves as a means of cross platform validation, which is
// really needed to ensure that any C++ related/platform change doesn't
// break the Hadoop build on Debian 10.
stage ('precommit-run Debian 10') {
// break the Hadoop build on Debian 11.
stage ('precommit-run Debian 11') {
environment {
SOURCEDIR = "${WORKSPACE}/debian-10/src"
PATCHDIR = "${WORKSPACE}/debian-10/out"
SOURCEDIR = "${WORKSPACE}/debian-11/src"
PATCHDIR = "${WORKSPACE}/debian-11/out"
DOCKERFILE = "${SOURCEDIR}/dev-support/docker/Dockerfile_debian_10"
IS_OPTIONAL = 1
}
Expand All @@ -182,7 +182,7 @@ pipeline {
failure {
sh '''#!/usr/bin/env bash

cp -Rp "${WORKSPACE}/debian-10/out" "${WORKSPACE}"
cp -Rp "${WORKSPACE}/debian-11/out" "${WORKSPACE}"
'''
archiveArtifacts "out/**"
}
Expand Down
40 changes: 19 additions & 21 deletions dev-support/docker/Dockerfile_debian_10
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Dockerfile for installing the necessary dependencies for building Hadoop.
# See BUILDING.txt.

FROM debian:10
FROM debian:11

WORKDIR /root

Expand All @@ -29,65 +29,63 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN echo APT::Install-Recommends "0"\; > /etc/apt/apt.conf.d/10disableextras
RUN echo APT::Install-Suggests "0"\; >> /etc/apt/apt.conf.d/10disableextras

ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_TERSE true
ENV DEBIAN_FRONTEND=noninteractive
ENV DEBCONF_TERSE=true

######
# Platform package dependency resolver
######
COPY pkg-resolver pkg-resolver
RUN chmod a+x pkg-resolver/install-pkg-resolver.sh
RUN pkg-resolver/install-pkg-resolver.sh debian:10
RUN pkg-resolver/install-pkg-resolver.sh debian:11

######
# Install packages from apt
######
# hadolint ignore=DL3008,SC2046
RUN apt-get -q update \
&& apt-get -q install -y --no-install-recommends $(pkg-resolver/resolve.py debian:10) \
&& echo 'deb http://deb.debian.org/debian bullseye main' >> /etc/apt/sources.list \
&& apt-get -q update \
&& apt-get -q install -y --no-install-recommends -t bullseye $(pkg-resolver/resolve.py --release=bullseye debian:10) \
&& apt-get -q install -y --no-install-recommends $(pkg-resolver/resolve.py debian:11) \
&& apt-get clean \
&& update-java-alternatives -s java-1.11.0-openjdk-amd64 \
&& rm -rf /var/lib/apt/lists/*

# TODO : Set locale

######
# Set env vars required to build Hadoop
######
ENV MAVEN_HOME /usr
ENV MAVEN_HOME=/usr
# JAVA_HOME must be set in Maven >= 3.5.0 (MNG-6003)
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

#######
# Set env vars for SpotBugs 4.2.2
#######
ENV SPOTBUGS_HOME /opt/spotbugs
ENV SPOTBUGS_HOME=/opt/spotbugs

#######
# Set env vars for Google Protobuf 3.21.12
#######
ENV PROTOBUF_HOME /opt/protobuf
ENV PATH "${PATH}:/opt/protobuf/bin"
ENV PROTOBUF_HOME=/opt/protobuf
ENV PATH="${PATH}:/opt/protobuf/bin"

###
# Avoid out of memory errors in builds
###
ENV MAVEN_OPTS -Xms256m -Xmx3072m
ENV MAVEN_OPTS="-Xms256m -Xmx3072m"

# Skip gpg verification when downloading Yetus via yetus-wrapper
ENV HADOOP_SKIP_YETUS_VERIFICATION true
ENV HADOOP_SKIP_YETUS_VERIFICATION=true

####
# Install packages
####
RUN pkg-resolver/install-cmake.sh debian:10
RUN pkg-resolver/install-spotbugs.sh debian:10
RUN pkg-resolver/install-boost.sh debian:10
RUN pkg-resolver/install-protobuf.sh debian:10
RUN pkg-resolver/install-hadolint.sh debian:10
RUN pkg-resolver/install-intel-isa-l.sh debian:10
RUN pkg-resolver/install-cmake.sh debian:11
RUN pkg-resolver/install-spotbugs.sh debian:11
RUN pkg-resolver/install-boost.sh debian:11
RUN pkg-resolver/install-protobuf.sh debian:11
RUN pkg-resolver/install-hadolint.sh debian:11
RUN pkg-resolver/install-intel-isa-l.sh debian:11

###
# Everything past this point is either not needed for testing or breaks Yetus.
Expand Down
2 changes: 1 addition & 1 deletion dev-support/docker/pkg-resolver/install-pkg-resolver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ fi
chmod a+x pkg-resolver/*.sh pkg-resolver/*.py
chmod a+r pkg-resolver/*.json

if [ "$1" == "debian:10" ]; then
if [ "$1" == "debian:11" ]; then
apt-get -q update
apt-get -q install -y --no-install-recommends python3 \
python3-pip \
Expand Down
Loading