Skip to content
Open
Show file tree
Hide file tree
Changes from all 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