Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added optional arg to -D/--podman/--docker base image to use #3869

Merged
merged 19 commits into from
Jul 4, 2024
Merged
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
5 changes: 3 additions & 2 deletions docker-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,15 @@ buildOpenJDKViaDocker()

# TODO This could be extracted overridden by the user if we support more
# architectures going forwards
local container_architecture="x86_64/ubuntu"
local container_architecture
container_architecture="$(uname -m)/${BUILD_CONFIG[CONTAINER_IMAGE]//:*/}"
local build_variant_flag=""
BUILD_CONFIG[DOCKER_FILE_PATH]="docker/${BUILD_CONFIG[OPENJDK_CORE_VERSION]}/$container_architecture"

if [ "${BUILD_CONFIG[BUILD_VARIANT]}" == "openj9" ]; then
build_variant_flag="--openj9"
fi
docker/dockerfile-generator.sh --version "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" --path "${BUILD_CONFIG[DOCKER_FILE_PATH]}" "$build_variant_flag" \
docker/dockerfile-generator.sh --version "${BUILD_CONFIG[OPENJDK_FEATURE_NUMBER]}" --path "${BUILD_CONFIG[DOCKER_FILE_PATH]}" "$build_variant_flag" --base-image "${BUILD_CONFIG[CONTAINER_IMAGE]}" \
--dirs "${workspacedir} ${targetdir} ${targetbuilddir} ${configdir} ${localsourcesdir}" --command "${BUILD_CONFIG[CONTAINER_AS_ROOT]} ${BUILD_CONFIG[CONTAINER_COMMAND]}"

# shellcheck disable=SC1090,SC1091
Expand Down
235 changes: 202 additions & 33 deletions docker/dockerfile-generator.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,21 @@ DOCKERFILE_DIR=
DOCKERFILE_PATH=
# Default to JDK8
JDK_VERSION=8
IMAGE="ubuntu:18.04"
JDK_MAX=
JDK_GA=
DNF_INSTALL=dnf

UBUNTU_PREAMBLE="apt-get update \\
&& apt-get install -qq -u --no-install-recommends \\
software-properties-common \\
dirmngr \\
gpg-agent \\
coreutils \\
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x219BD9C9 \\
&& add-apt-repository 'deb http://repos.azulsystems.com/ubuntu stable main' \\
&& apt-get update \\
&& apt-get -y upgrade \\"

getFile() {
if [ $# -ne 2 ]; then
Expand Down Expand Up @@ -93,6 +106,11 @@ processArgs() {
shift
shift
;;
--base-image)
IMAGE="${2}"
shift
shift
;;
--path)
DOCKERFILE_DIR=$2
shift
Expand Down Expand Up @@ -152,6 +170,7 @@ usage() {
Options:
--help | -h Print this message and exit
--build Build the docker image after generation and create interactive container
--base-image set the base image if used container. Default: $IMAGE
--clean Remove all dockerfiles (Dockerfile*) from '--path'
--comments Prints comments into the dockerfile
--dirs space separated list of dirs to be created, with proper permissions
Expand Down Expand Up @@ -186,41 +205,79 @@ printPreamble() {
# SPDX-License-Identifier: Apache-2.0
# ********************************************************************************

FROM ubuntu:18.04
FROM $IMAGE

LABEL maintainer=\"AdoptOpenJDK <[email protected]>\"
" >> "$DOCKERFILE_PATH"
}

# Put in apt packages required for building a JDK
printAptPackages() {

printAptPackagesBase() {
if [ ${COMMENTS} == true ]; then
echo "
# Install required OS tools
# Install required OS tools to setup environment as .deb via apt-get
# dirmngr, gpg-agent & coreutils are all required for the apt-add repository command" >> "$DOCKERFILE_PATH"
fi
echo "
RUN $UBUNTU_PREAMBLE
&& apt-get install -qq -y --no-install-recommends \\
curl \\
git \\
unzip \\
wget \\
zip " >> "$DOCKERFILE_PATH"
echo "
RUN rm -rf /var/lib/apt/lists/*" >> "$DOCKERFILE_PATH"
}

printDnfPackagesBase() {
if [ ${COMMENTS} == true ]; then
echo "
# Install required OS tools to setup environment as rpms via dnf" >> "$DOCKERFILE_PATH"
fi
local skipGpg="" # it may bite from time to time
#local skipGpg="--nogpgcheck"
local erasing="--allowerasing"
if [ ${DNF_INSTALL} = yum ] ; then
erasing=""
fi
if echo "${IMAGE}" | grep -e "stream8" -e "centos:7" ; then
echo "
RUN cd /etc/yum.repos.d/ ; sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN cd /etc/yum.repos.d/ ; sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* " >> "$DOCKERFILE_PATH"
Copy link
Member

@sxa sxa Jul 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to need a follow-on change as the non-x64 ones (aarch64 and ppc64le) are under vault.centos.org/altarch (This wasn't a problem for the CentOS6 ones we translated in the past as we only used that one on x64)

@steelhead31 is working on a fix elsewhere as he hit the same problem after merging adoptium/infrastructure#3643 so once he's completed that we can replicate the same operation in here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sould be simple check, but I was trying both centos:stream{8,9} on aarch64. And centos8 seems to be already facing the "need of sed" issue. I will double check. I could have had swapped VM.

If it indeed will not run, I will adjust, shoudl be simple. TYVM!

Copy link
Contributor Author

@judovana judovana Jul 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really, it works for8:

tester@fedora:~/temurin-build$  sh   makejdk-any-platform.sh   -D centos:stream8   --custom-cacerts  jdk21u
Starting makejdk-any-platform.sh to configure, build (Adoptium)OpenJDK binary
Parsing opt: -D
Possible opt arg: centos:stream8
base image will be set to: centos:stream8
Parsing opt: --custom-cacerts
Possible opt arg: jdk21u
Setting version based on forest_name=jdk21u
Default branch set to BUILD_CONFIG[BRANCH]=master
Using source repository https://github.com/openjdk/jdk21u
Working dir is ./build/
[debug] COPY_MACOSX_FREE_FONT_LIB_FOR_JDK_FLAG=false
[debug] COPY_MACOSX_FREE_FONT_LIB_FOR_JRE_FLAG=false
JDK Image folder name: jdk
JRE Image folder name: jre
Removing Dockerfile* from docker/jdk21/aarch64/centos
centos:stream8
centos:stream8
centos:stream8
Dockerfile created at docker/jdk21/aarch64/centos/Dockerfile
...
--> c9d0997cfc9c
STEP 18/42: RUN chmod 755 /home/tester/temurin-build/workspace/config
--> 0034495152dd
STEP 19/42: RUN chown -R build /home/tester/temurin-build/workspace/config
--> 2754a7505488
STEP 20/42: RUN cd /etc/yum.repos.d/ ; sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
--> ce5684c8a2eb
STEP 21/42: RUN cd /etc/yum.repos.d/ ; sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* 
--> a6ed67c4dbcc
STEP 22/42: RUN dnf  -y update --allowerasing
CentOS Stream 8 - AppStream                      22 MB/s |  25 MB     00:01    
CentOS Stream 8 - BaseOS                         11 MB/s | 7.0 MB     00:00    
CentOS Stream 8 - Extras                         39 kB/s |  17 kB     00:00    
CentOS Stream 8 - Extras common packages         18 kB/s | 8.0 kB     00:00    
Dependencies resolved.
================================================================================
 Package          Architecture    Version                  Repository      Size
================================================================================
Upgrading:
 hostname         aarch64         3.20-7.el8.0.1           baseos          32 k

Transaction Summary
================================================================================
Upgrade  1 Package

Total download size: 32 k
Downloading Packages:
hostname-3.20-7.el8.0.1.aarch64.rpm              45 kB/s |  32 kB     00:00    
--------------------------------------------------------------------------------
Total                                            45 kB/s |  32 kB     00:00     
CentOS Stream 8 - BaseOS                        1.6 MB/s | 1.6 kB     00:00    
Importing GPG key 0x8483C65D:
 Userid     : "CentOS (CentOS Official Signing Key) <[email protected]>"
...
  Verifying        : hostname-3.20-6.el8.aarch64                            2/2 

Upgraded:
  hostname-3.20-7.el8.0.1.aarch64                                               

Complete!
--> f57ef513cfff
STEP 23/42: RUN dnf  -y install --allowerasing     bzip2-libs     bzip2     curl     git     unzip     wget     zip 
Last metadata expiration check: 0:00:09 ago on Tue Jul  2 10:00:52 2024.
Package bzip2-libs-1.0.6-26.el8.aarch64 is already installed.
Package curl-7.61.1-34.el8.aarch64 is already installed.
Dependencies resolved.
=======================================================================================
 Package                   Arch     Version                            Repo        Size
=======================================================================================
Installing:
 bzip2                     aarch64  1.0.6-26.el8                       baseos      60 k
 git                       aarch64  2.43.0-1.el8                       appstream   92 k
 unzip                     aarch64  6.0-46.el8                         baseos     189 k
 wget                      aarch64  1.19.5-11.el8                      appstream  717 k
 zip                       aarch64  3.0-23.el8                         baseos     265 k
Installing dependencies:
...
our archive was created as /home/tester/temurin-build/workspace/build/src/build/linux-aarch64-server-release/images/OpenJDK.tar.gz
Moving the artifact to location /home/tester/temurin-build/workspace/target//OpenJDK-static-libs-glibc.tar.gz
archive done.
Archiving and compressing with gzip
gzip: warning: GZIP environment variable is deprecated; use an alias or script
Your archive was created as /home/tester/temurin-build/workspace/build/src/build/linux-aarch64-server-release/images/OpenJDK.tar.gz
Moving the artifact to location /home/tester/temurin-build/workspace/target//OpenJDK-jdk.tar.gz

real	0m49.688s
user	0m48.709s
sys	0m1.121s
archive done.
Skip generating SBOM
build.sh : 10:19:01 : All done!
The finished image can be found in /home/tester/temurin-build/workspace/target on the host system
Removing container jdk21-hotspot
3d0f00425bbf

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The alt-arch was only cento7 speciality. So I guess you were referring to it. Sorry, I misread a bit. I will try alsocentos7 on aarch64, and I guess thatr will need the alt for sure.

Copy link
Contributor

@steelhead31 steelhead31 Jul 2, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, my solution is pretty similar.. wrapped in an if statement..

sed -i 's|#baseurl=http://mirror.centos.org/altarch/\$releasever/|baseurl=http://vault.centos.org/altarch/7.9.2009/|' /etc/yum.repos.d/CentOS-Base.repo; \

RUN sed -i -e 's!mirrorlist!#mirrorlist!g' /etc/yum.repos.d/CentOS-Base.repo

RUN if \[ "$(uname -m)" = "aarch64" \]; then \\  
     echo "Running on arm64 architecture"; \\  
     sed -i 's|#baseurl=http://mirror.centos.org/altarch/\$releasever/|baseurl=http://vault.centos.org/altarch/7.9.2009/|' /etc/yum.repos.d/CentOS-Base.repo; \\  
   elif \[ "$(uname -m)" = "ppc64le" \]; then \\  
     echo "Running on ppc64le architecture"; \\  
     sed -i 's|#baseurl=http://mirror.centos.org/altarch/\$releasever/|baseurl=http://vault.centos.org/altarch/7.9.2009/|' /etc/yum.repos.d/CentOS-Base.repo; \\  
   else \\  
     # Default To x64; \\  
     echo "Running on another architecture"; \\  
     sed -i -e 's!#baseurl=http://mirror.centos.org/centos/\$releasever!baseurl=https://vault.centos.org/7.9.2009/!g' /etc/yum.repos.d/CentOS-Base.repo; \\  
   fi  

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, my solution is pretty similar.. wrapped in an if statement..

sed -i 's|#baseurl=http://mirror.centos.org/altarch/\$releasever/|baseurl=http://vault.centos.org/altarch/7.9.2009/|' /etc/yum.repos.d/CentOS-Base.repo; \

RUN sed -i -e 's!mirrorlist!#mirrorlist!g' /etc/yum.repos.d/CentOS-Base.repo

RUN if \[ "$(uname -m)" = "aarch64" \]; then \\  
     echo "Running on arm64 architecture"; \\  
     sed -i 's|#baseurl=http://mirror.centos.org/altarch/\$releasever/|baseurl=http://vault.centos.org/altarch/7.9.2009/|' /etc/yum.repos.d/CentOS-Base.repo; \\  
   elif \[ "$(uname -m)" = "ppc64le" \]; then \\  
     echo "Running on ppc64le architecture"; \\  
     sed -i 's|#baseurl=http://mirror.centos.org/altarch/\$releasever/|baseurl=http://vault.centos.org/altarch/7.9.2009/|' /etc/yum.repos.d/CentOS-Base.repo; \\  
   else \\  
     # Default To x64; \\  
     echo "Running on another architecture"; \\  
     sed -i -e 's!#baseurl=http://mirror.centos.org/centos/\$releasever!baseurl=https://vault.centos.org/7.9.2009/!g' /etc/yum.repos.d/CentOS-Base.repo; \\  
   fi  

Thanx!! I will reuse it immediately if it bites back or if @sxa insits.

fi
echo "
RUN apt-get update \\
&& apt-get install -qq -u --no-install-recommends \\
software-properties-common \\
dirmngr \\
gpg-agent \\
coreutils \\
&& apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x219BD9C9 \\
&& add-apt-repository 'deb http://repos.azulsystems.com/ubuntu stable main' \\
&& apt-get update \\
&& apt-get -y upgrade \\
RUN ${DNF_INSTALL} $skipGpg -y update $erasing
RUN ${DNF_INSTALL} $skipGpg -y install $erasing \\
bzip2-libs \\
bzip2 \\
curl \\
git \\
unzip \\
/usr/bin/which \\
wget \\
zip " >> "$DOCKERFILE_PATH"
echo "
RUN ${DNF_INSTALL} clean all" >> "$DOCKERFILE_PATH"
}

printAptPackagesJdk() {
if [ ${COMMENTS} == true ]; then
echo "
# Install required OS tools to build JDK as .deb via apt-get
# dirmngr, gpg-agent & coreutils are all required for the apt-add repository command" >> "$DOCKERFILE_PATH"
fi

echo "
RUN $UBUNTU_PREAMBLE
&& apt-get install -qq -y --no-install-recommends \\
ant \\
ant-contrib \\
autoconf \\
ca-certificates \\
cmake \\
cpio \\
curl \\
file \\
git \\
libasound2-dev \\
libcups2-dev \\
libelf-dev \\
Expand All @@ -236,10 +293,7 @@ RUN apt-get update \\
make \\
perl \\
ssh \\
systemtap-sdt-dev \\
unzip \\
wget \\
zip \\" >> "$DOCKERFILE_PATH"
systemtap-sdt-dev \\" >> "$DOCKERFILE_PATH"

if [ ${OPENJ9} = true ]; then
echo " gcc-7 \\
Expand Down Expand Up @@ -268,6 +322,62 @@ RUN apt-get update \\
echo " && rm -rf /var/lib/apt/lists/*" >> "$DOCKERFILE_PATH"
}

printDnfPackagesJdk() {
if [ ${COMMENTS} == true ]; then
echo "
# Install required OS tools to build JDK as rpms via dnf" >> "$DOCKERFILE_PATH"
fi
local skipGpg="" # it may bite from time to time
#local skipGpg="--nogpgcheck"
local erasing="--allowerasing"
if [ ${DNF_INSTALL} = yum ] ; then
erasing=""
fi
echo "
RUN ${DNF_INSTALL} $skipGpg -y install $erasing \\
ant \\
autoconf \\
automake \\
ca-certificates \\
cmake \\
cpio \\
diffutils \\
file \\
alsa-lib-devel \\
cups-devel \\
gcc \\
gcc-c++ \\
gdb \\
fontconfig-devel \\
freetype-devel \\
libtool \\
libX11-devel \\
libXi-devel \\
libXinerama-devel \\
libXrandr-devel \\
libXrender-devel \\
libXt-devel \\
libXtst-devel \\
lksctp-tools-devel \\
lksctp-tools pcsc-lite-libs \\
make \\
perl \\
procps-ng \\
openssh-clients \\
openssl \\
systemtap-sdt-devel \\
kernel-headers \\
\"lcms*\" \\
nss-devel \\ " >> "$DOCKERFILE_PATH"
if echo "${IMAGE}" | grep fedora ; then
echo " libstdc++-static \\
pcsc-lite-devel \\ " >> "$DOCKERFILE_PATH"
fi
echo " tzdata-java " >> "$DOCKERFILE_PATH"
echo "
RUN ${DNF_INSTALL} clean all" >> "$DOCKERFILE_PATH"
}

printCreateFolder() {
echo "
RUN mkdir -p /openjdk/target
Expand All @@ -285,6 +395,10 @@ ENV CC=gcc-7 CXX=g++-7" >> "$DOCKERFILE_PATH"
}

printCustomDirs() {
if [ ${COMMENTS} == true ]; then
echo "# In podman (in docker do not harm) shared folder is owned by root, and is read for others, unless it already exists" >> "$DOCKERFILE_PATH"
echo "# So we have to create all future-mounted dirs, with proper owner and permissions" >> "$DOCKERFILE_PATH"
fi
for dir in ${DIRS} ; do
echo "RUN mkdir -p $dir" >> "$DOCKERFILE_PATH"
echo "RUN chmod 755 $dir" >> "$DOCKERFILE_PATH"
Expand All @@ -293,6 +407,10 @@ printCustomDirs() {
}

printDockerJDKs() {
if [ ${COMMENTS} == true ]; then
echo "
# Linking of boot jdk must happen after the system jdk is isntalled, as it is iverwriting whatever java/javac from system" >> "$DOCKERFILE_PATH"
fi
# JDK8 uses zulu-7 to as it's bootjdk
if [ "${JDK_VERSION}" != 8 ] && [ "${JDK_VERSION}" != "${JDK_MAX}" ]; then
if [ "${JDK_VERSION}" == 11 ]; then
Expand Down Expand Up @@ -341,7 +459,7 @@ printDockerJDKs() {
printJDK() {
local JDKVersion=$1
echo "
RUN sh -c \"mkdir -p /usr/lib/jvm/jdk$JDKVersion && wget 'https://api.adoptium.net/v3/binary/latest/$JDKVersion/ga/linux/x64/jdk/hotspot/normal/adoptium?project=jdk' -O - | tar xzf - -C /usr/lib/jvm/jdk$JDKVersion --strip-components=1\"" >> "$DOCKERFILE_PATH"
RUN sh -c \"mkdir -p /usr/lib/jvm/jdk$JDKVersion && wget 'https://api.adoptium.net/v3/binary/latest/$JDKVersion/ga/linux/$(adoptiumArch)/jdk/hotspot/normal/adoptium?project=jdk' -O - | tar xzf - -C /usr/lib/jvm/jdk$JDKVersion --strip-components=1\"" >> "$DOCKERFILE_PATH"
}

printGitCloneJenkinsPipelines(){
Expand Down Expand Up @@ -370,19 +488,75 @@ RUN useradd -u \$HostUID -ms /bin/bash build
WORKDIR /openjdk/build
RUN chown -R build /openjdk/" >> "$DOCKERFILE_PATH"
printCustomDirs
}

printUserSet(){
echo "
USER build" >> "$DOCKERFILE_PATH"
}

printContainerVars(){
adoptiumArch() {
local arch
arch=$(uname -m)
if [ "$arch" = "x86_64" ] ; then arch="x64" ; fi
echo "$arch"
}

printContainerVars() {
echo "
ARG OPENJDK_CORE_VERSION
ENV OPENJDK_CORE_VERSION=\$OPENJDK_CORE_VERSION
ENV ARCHITECTURE=x64
ENV ARCHITECTURE=$(adoptiumArch)
ENV JDK_PATH=jdk
ENV JDK8_BOOT_DIR=/usr/lib/jvm/jdk8" >> "$DOCKERFILE_PATH"
}

isRpm() {
echo "${IMAGE}" | grep -i -e "fedora" -e "centos" -e "rocky" -e "stream" -e "rhel"
}

isDeb() {
echo "${IMAGE}" | grep -i -e "ubuntu" -e "debian"
}

isYum() {
if echo "${IMAGE}" | grep -e "stream7" -e "centos:7" ; then
DNF_INSTALL=yum
else
DNF_INSTALL=dnf
fi
}

printDepsBase() {
if isRpm ; then
isYum
printDnfPackagesBase
elif isDeb ; then
printAptPackagesBase
# OpenJ9 MUST use gcc7, HS doesn't have to
if [ ${OPENJ9} == true ]; then
printgcc
fi
else
echo "Unknown system, can not install build deps: $IMAGE"
fi
}

printDepsJdk() {
if isRpm ; then
isYum
printDnfPackagesJdk
elif isDeb ; then
printAptPackagesJdk
# OpenJ9 MUST use gcc7, HS doesn't have to
if [ ${OPENJ9} == true ]; then
printgcc
fi
else
echo "Unknown system, can not install build deps: $IMAGE"
fi
}

generateFile() {
mkdir -p "$DOCKERFILE_DIR"
if [ -f "$DOCKERFILE_PATH" ]; then
Expand Down Expand Up @@ -412,24 +586,19 @@ processArgs "$@"
generateFile
generateConfig
printPreamble
printAptPackages
# OpenJ9 MUST use gcc7, HS doesn't have to
if [ ${OPENJ9} == true ]; then
printgcc
fi

printDockerJDKs
printUserCreate
printDepsBase
printGitCloneJenkinsPipelines

# If building the image straight away, it can't be assumed the folders to be copied are in place
# Therefore create an image that instead git clones openjdk-build and a build can be started there
if [ ${BUILD} == false ]; then
printCopyFolders
else
printGitClone
fi

printUserCreate
printDepsJdk
printDockerJDKs
printUserSet
printContainerVars

echo "Dockerfile created at $DOCKERFILE_PATH"
Expand Down
5 changes: 3 additions & 2 deletions makejdk-any-platform.1
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ that you are building for further details.

\fBExample:\fR The simplest use case to run is:

"./makejdk-any-platform.sh -D jdk8u"
"./makejdk-any-platform.sh -D fedora:latest jdk8u"

This will start a Docker container and build you the latest Java 8 Temurin
binary from the source at https://github.com/adoptium/openjdk-jdk8u
Expand Down Expand Up @@ -97,8 +97,9 @@ specify the location for the built binary, e.g. /path/.
This is typically used in conjunction with \fB<-T>\fR to create a custom path
/ file name for the resulting binary.
.TP
.BR \-D ", " \-\-docker ", " \-\-podman
.BR \-D ", " \-\-docker ", " \-\-podman " " \fI[base_to_use]\fR
build OpenJDK in a docker/podman container. -D will autodetect, using podman if found, docker otherwise.
You can optionally set base image to use. Default is ubuntu:18.04. Dnf/apt is determined by hardcoded list.
When podman is used, there is bug requiring \fI--custom-cacerts\fR to be used under some circumstances.
It is known issue: https://github.com/adoptium/temurin-build/issues/3862
.TP
Expand Down
Loading
Loading