# GoogleTest Installation FROM harbor.sl.defence-elec.de/proxydockerhub/library/ubuntu:26.04 ARG RME_USERPASS=ctc ARG RME_ADMINSRV=10.198.80.75 ARG RME_PROJECT=guez # Proxy configuration for air-gapped environments ARG http_proxy="http://10.198.80.130:3128" ARG no_proxy="localhost,127.0.0.1,defence-elec.de,.defence-elec.de,sl.defence-elec.de,10.198.80.0/23,192.168.133.0/24,141.200.0.0/16,10.184.0.0/15,10.199.101.35,10.199.101.36,10.199.101.158" ARG HTTP_PROXY=${http_proxy} ARG https_proxy=${http_proxy} ARG HTTPS_PROXY=${http_proxy} ARG NO_PROXY=${no_proxy} LABEL author="Legatus Team" LABEL project=${RME_PROJECT} LABEL version="1.15.2" LABEL description="GoogleTest testing framework" ENV DEBIAN_FRONTEND=noninteractive # OS and PATH configuration ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8 # Shell global auf Bash mit sicheren Pipes umstellen SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Originale Repositories durch Nexus Proxies ersetzen RUN echo : > /etc/apt/sources.list && \ echo -e "Types: deb\n\ URIs: http://remote-repo.sl.defence-elec.de:8081/repository/ubuntu\n\ Suites: resolute resolute-updates resolute-backports\n\ Components: main restricted universe multiverse\n\ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg\n\ \n\ Types: deb\n\ URIs: http://remote-repo.sl.defence-elec.de:8081/repository/ubuntu-security\n\ Suites: resolute-security\n\ Components: main restricted universe multiverse\n\ Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg" > /etc/apt/sources.list.d/ubuntu.sources # Create users (install openssl first for password hashing) RUN apt-get update && apt-get install -y openssl \ && groupadd ctc -g 1445 || true \ && groupadd rme -g 1001 || true \ && useradd -d /shd/CTC/TOOLS -u 1445 -g ctc -m -p $(openssl passwd -5 ${RME_USERPASS}) ctc || true \ && useradd -d /home/rme -u 1001 -g rme -m -p $(openssl passwd -5 ${RME_USERPASS}) rme || true \ && rm -rf /var/lib/apt/lists/* RUN curl -fsSL http://${RME_ADMINSRV}/rme/deb_and_rpm_signage_key.pub --output /etc/apt/keyrings/deb_and_rpm_signage_key.asc \ && curl -fsSL http://${RME_ADMINSRV}/rme/SL-Netz.crt --output /usr/local/share/ca-certificates/SL-Netz.crt \ && update-ca-certificates ARG GTEST_VERSION=1.15.2 # Install build dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential cmake git \ && rm -rf /var/lib/apt/lists/* # Clone and build GoogleTest RUN git clone --depth 1 --branch v${GTEST_VERSION} \ https://github.com/google/googletest.git /tmp/googletest \ && cd /tmp/googletest \ && mkdir build && cd build \ && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DBUILD_SHARED_LIBS=ON \ .. \ && cmake --build . -j$(nproc) \ && cmake --install . \ && rm -rf /tmp/googletest # Update library cache RUN ldconfig # Verify installation RUN pkg-config --modversion gtest | grep -q "${GTEST_VERSION}" CMD ["/bin/bash"]