- Create external-dependencies directory structure with per-package pipelines - Add DEPENDENCIES-INVENTORY.md with comprehensive dependency tracking - Create ubuntu-26.04-build-container base image with all dependencies - Add per-package Jenkinsfiles: log4qt, grantlee, googletest, postgresql, qt6-framework, kdreports - Add SBOM generation script (generate-sbom.sh) for CycloneDX, SLSA v1.0, and license reports - Integrate SBOM generation into all Jenkins pipelines - Add external-dependencies/README.md with usage and security documentation - Exclude proprietary license files (rti_license.dat) from git tracking Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M6KNFNMSPW4SY4J4SQTTPVBP
48 lines
1.3 KiB
Docker
48 lines
1.3 KiB
Docker
# Grantlee Installation
|
|
FROM harbor.sl.defence-elec.de/proxydockerhub/library/ubuntu:26.04
|
|
|
|
LABEL maintainer="Legatus Team"
|
|
LABEL description="Grantlee templating engine for Qt6"
|
|
LABEL version="5.3.1"
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
ARG HTTP_PROXY=""
|
|
ARG HTTPS_PROXY=""
|
|
ARG NO_PROXY="localhost,127.0.0.1,.sl.defence-elec.de"
|
|
|
|
ENV http_proxy=${HTTP_PROXY}
|
|
ENV https_proxy=${HTTPS_PROXY}
|
|
ENV no_proxy=${NO_PROXY}
|
|
|
|
ARG QT_VERSION=6.10.2
|
|
ARG GRANTLEE_VERSION=5.3.1
|
|
|
|
# Install build dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential cmake git \
|
|
libqt6core6 libqt6gui6 libqt6widgets6 \
|
|
qt6-base-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Clone and build Grantlee
|
|
RUN git clone --depth 1 --branch ${GRANTLEE_VERSION} \
|
|
https://github.com/steveire/grantlee.git /tmp/grantlee \
|
|
&& cd /tmp/grantlee \
|
|
&& mkdir build && cd build \
|
|
&& cmake -DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_INSTALL_PREFIX=/usr/local \
|
|
-DCMAKE_PREFIX_PATH=/opt/Qt/${QT_VERSION}/gcc_64 \
|
|
-DGRANTLEE_BUILD_WITH_QT6=ON \
|
|
.. \
|
|
&& cmake --build . -j$(nproc) \
|
|
&& cmake --install . \
|
|
&& rm -rf /tmp/grantlee
|
|
|
|
# Update library cache
|
|
RUN ldconfig
|
|
|
|
# Verify installation
|
|
RUN pkg-config --modversion Grantlee | grep -q "${GRANTLEE_VERSION}"
|
|
|
|
CMD ["/bin/bash"] |