new_docker_build.sh and rpmbuild/make_rpm_ubuntu26.py (Release 1 validation-scope driver/producer) did not belong to this branch; their functional callers are adapted to the Release 2 files: - rpmbuild/make_rpm_ubuntu26_release2.py: PIPELINE_FILES now packages new_docker_build_release2.sh and make_rpm_ubuntu26_release2.py. - jenkins-ci-rme/jenkins_builder_ubuntu26.sh: runs make_rpm_ubuntu26_release2.py with -DBUILD_RTI=ON and the Release 2 target list (--build_targets; a full-tree build is not possible on this tree); staging tar also excludes ./build4*. - jenkins-ci-rme/release-16-10-2026.sh (local dry run): calls new_docker_build_release2.sh; derives the pipeline root from the tree layout and exports MIGRATE_PIPELINE_ROOT; uses the prebuilt image when present, otherwise the driver installs deps in-container (the R1 --build-prebuilt-image option does not exist in the R2 driver). - jenkins-ci-rme/jenkins/Jenkinsfile: coverage stage runs the R2 driver with MIGRATE_PIPELINE_ROOT exported (wins over the checked-in .envrc, which carries a host-specific path). - Doc/comment updates: Dockerfile header, install_arcgis.sh, publisher, Jenkinsfile descriptions, jenkins-ci-rme/README.md, README.md. Remaining references to the old names are only in historical migration reports, which are left as-is.
49 lines
1.7 KiB
Docker
49 lines
1.7 KiB
Docker
# Prebuilt build image for the Release 2 branch
|
|
# (Ubuntu 26.04 + Qt6 + all dependencies for the legatus release build).
|
|
#
|
|
# Build with (the APT package list mirrors the in-container install list of
|
|
# new_docker_build_release2.sh):
|
|
# docker build --build-arg APT_PACKAGES="<space-separated packages>" -t <image> .
|
|
|
|
FROM ubuntu:26.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
ARG APT_PACKAGES
|
|
ARG QT_VERSION=6.10.2
|
|
ARG QT_ARCH=linux_gcc_64
|
|
ARG QT_BASE_DIR=/opt/Qt
|
|
|
|
RUN apt-get update -qq && \
|
|
apt-get install -y -qq \
|
|
${APT_PACKAGES} \
|
|
libqt6svg6-dev \
|
|
libgtest-dev \
|
|
libgmock-dev \
|
|
python3-pip && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Qt6 packages via aqtinstall
|
|
RUN pip3 install --break-system-packages --quiet aqtinstall && \
|
|
aqt install-qt linux desktop ${QT_VERSION} ${QT_ARCH} \
|
|
-m qtmultimedia qtserialport qtimageformats qtwebsockets qtwebengine \
|
|
qtpdf qtwebview qt5compat qtwebchannel qtpositioning qtlocation qtsensors \
|
|
--outputdir ${QT_BASE_DIR} && \
|
|
rm -rf /root/.cache/Aqt
|
|
|
|
# Install KDReports from source (apt package not available in Ubuntu 22.04/26.04)
|
|
# Try apt install first (will fail), then build from KDAB GitHub mirror
|
|
RUN apt-get install -y -qq libkdreports-dev 2>/dev/null || \
|
|
(git clone --depth 1 https://github.com/KDAB/KDReports.git /tmp/KDReports && \
|
|
cd /tmp/KDReports && \
|
|
mkdir build && cd build && \
|
|
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_PREFIX_PATH=${QT_BASE_DIR} .. && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd / && rm -rf /tmp/KDReports)
|
|
|
|
# Legacy sources include <KDReports/...>
|
|
RUN ln -sfn KDReports-qt6 /usr/local/include/KDReports
|
|
|
|
CMD ["/bin/bash"]
|