diff --git a/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.alma10 b/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.alma10 new file mode 100644 index 0000000000..ac0a9dd605 --- /dev/null +++ b/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/DockerStatic/Dockerfiles/Dockerfile.alma10 @@ -0,0 +1,51 @@ +FROM ghcr.io/almalinux/10-base:10.0-20250825@sha256:b59938ea3b263a747fa989622dd8bcba59f7cad9878be108c1de21e7db08daef +# Using SHA because quay.io/almalinuxorg/10-base:10 might pull the x86-64-v3 version + +ARG ant_version="1.10.15" +ARG ant_512checksum="1de7facbc9874fa4e5a2f045d5c659f64e0b89318c1dbc8acc6aae4595c4ffaf90a7b1ffb57f958dd08d6e086d3fff07aa90e50c77342a0aa5c9b4c36bff03a9" + +RUN dnf -y update && dnf install -y unzip zip epel-release openssl gpg + +# Get latest jdk21 ga JRE +RUN curl -sL -o /tmp/jdk21.sig `curl -s 'https://api.adoptium.net/v3/assets/feature_releases/21/ga?architecture=x64&heap_size=normal&image_type=jre&jvm_impl=hotspot&os=linux&page=0&page_size=1&project=jdk&vendor=eclipse' | grep signature_link | awk '{split($0,a,"\""); print a[4]}'` +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B +# Without this, building an EL10 container on podman will fail when it gets to the verify stage +RUN rm -vf ~/.gnupg/public-keys.d/pubring.db.lock +RUN mkdir -p /usr/lib/jvm/jdk21 +RUN curl -sL 'https://api.adoptium.net/v3/binary/latest/21/ga/linux/x64/jre/hotspot/normal/eclipse?project=jdk' | tee >(tar xpfz - -C /usr/lib/jvm/jdk21 --strip-components=1) | gpg --verify /tmp/jdk21.sig - +# Install ant +RUN curl -o /tmp/ant.zip 'https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.15-bin.zip' && \ + curl -Lo /tmp/ant-contrib.tgz https://sourceforge.net/projects/ant-contrib/files/ant-contrib/ant-contrib-1.0b2/ant-contrib-1.0b2-bin.tar.gz && \ + echo "$ant_512checksum /tmp/ant.zip" > /tmp/ant.sha512 && \ + echo "0fd2771dca2b8b014a4cb3246715b32e20ad5d26754186d82eee781507a183d5e63064890b95eb27c091c93c1209528a0b18a6d7e6901899319492a7610e74ad /tmp/ant-contrib.tgz" >> /tmp/ant.sha512 && \ + sha512sum --check --strict /tmp/ant.sha512 && \ + unzip -q -d /usr/local /tmp/ant.zip && \ + tar xpfz /tmp/ant-contrib.tgz -C /usr/local/apache-ant-$ant_version/lib --strip-components=2 ant-contrib/lib/ant-contrib.jar && \ + ln -s /usr/local/apache-ant-$ant_version/bin/ant /usr/bin/ant +# Housekeep Downloaded Archives +RUN rm /tmp/ant.zip /tmp/ant-contrib.tgz + +# Set up jenkins user +RUN useradd -m -d /home/jenkins jenkins && \ + mkdir /home/jenkins/.ssh && \ + mkdir /home/jenkins/.xdg-runtime && \ + echo "Jenkins_User_SSHKey" > /home/jenkins/.ssh/authorized_keys && \ + chown -R jenkins /home/jenkins/.ssh /home/jenkins/.xdg-runtime && \ + chmod -R og-rwx /home/jenkins/.ssh /home/jenkins/.xdg-runtime +# Required for weston +RUN su jenkins -c "mkdir -m 0755 /tmp/.X11-unix" + +RUN dnf install -y perl +# turbojpeg needed as prereq for weston but it's not the UBI CRB repo so pull from CS10 one +RUN dnf install -y --enablerepo=crb turbojpeg +RUN dnf install -y git make gcc weston xwayland-run libXrender libXi libXtst fontconfig fakeroot procps-ng hostname diffutils shared-mime-info +RUN dnf install -y coreutils --allowerasing curl +# Install SSL Test packages +RUN dnf install -y gnutls gnutls-utils nss nss-tools +RUN dnf install -y openssh-server +RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -P "" +# RUN service ssh start +CMD ["/usr/sbin/sshd","-D"] +# ENTRYPOINT /bin/bash +EXPOSE 22 +# Start with docker run -p 2222:22 UUID