From 448083fa5f05ecaa46f6abd6124015a0a300f89c Mon Sep 17 00:00:00 2001 From: twi-devel Date: Fri, 21 Aug 2026 18:38:07 +0200 Subject: [PATCH] Migration Scripts: Qt 6.10.2 und Submodule Support - Dockerfile: Qt 6.10.2 Update - run_docker.sh: Submodule-aware paths - migrate_module.sh: Submodule Pfad-Anpassungen - run_final_migration.sh: BUILD_RTI support Signed-off-by: Torsten Wierschin Entire-Checkpoint: 01M0JJZP1FJY4BWR3BRZW2HRN1 --- app/Dockerfile | 10 +++++----- app/run_docker.sh | 4 ++-- final-migration/run_final_migration.sh | 2 +- migration/migrate_module.sh | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/Dockerfile b/app/Dockerfile index c055d05fc..5bd3ca8cc 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -5,14 +5,14 @@ ENV DEBIAN_FRONTEND=noninteractive \ PIP_NO_CACHE_DIR=1 \ LANG=C.UTF-8 \ LC_ALL=C.UTF-8 \ - QT_VERSION=6.8.3 \ + QT_VERSION=6.10.2 \ QT_ARCH=linux_gcc_64 \ QT_BASE_DIR=/opt/Qt \ - QT_ROOT=/opt/Qt/6.8.3/gcc_64 \ - Qt6_ROOT=/opt/Qt/6.8.3/gcc_64 \ + QT_ROOT=/opt/Qt/6.10.2/gcc_64 \ + Qt6_ROOT=/opt/Qt/6.10.2/gcc_64 \ EXTERNAL_DIR=/repo/external \ - CMAKE_PREFIX_PATH=/usr/local:/opt/Qt/6.8.3/gcc_64:/repo/external \ - PATH=/opt/Qt/6.8.3/gcc_64/bin:$PATH + CMAKE_PREFIX_PATH=/usr/local:/opt/Qt/6.10.2/gcc_64:/repo/external \ + PATH=/opt/Qt/6.10.2/gcc_64/bin:$PATH SHELL ["/bin/bash", "-o", "pipefail", "-c"] diff --git a/app/run_docker.sh b/app/run_docker.sh index df481a8dc..96d92967f 100755 --- a/app/run_docker.sh +++ b/app/run_docker.sh @@ -7,7 +7,7 @@ IMAGE_NAME="${IMAGE_NAME:-migration-pipeline:ubuntu26.04}" CONTAINER_USER="${CONTAINER_USER:-${USER:-runner}}" CONTAINER_GROUP="${CONTAINER_GROUP:-$CONTAINER_USER}" ENABLE_CONTAINER_SUDO="${ENABLE_CONTAINER_SUDO:-1}" -QT_ROOT_DEFAULT="${QT_ROOT_DEFAULT:-/opt/Qt/6.8.3/gcc_64}" +QT_ROOT_DEFAULT="${QT_ROOT_DEFAULT:-/opt/Qt/6.10.2/gcc_64}" GIT_REPO_DIR="" WORKDIR_IN_CONTAINER="" @@ -38,7 +38,7 @@ Examples: ./run_docker.sh /path/to/repo ./run_docker.sh /path/to/repo -- bash ./run_docker.sh --qt-smoke-test /path/to/repo - ./run_docker.sh --qt-path /opt/Qt/6.8.3/gcc_64 /path/to/repo -- bash + ./run_docker.sh --qt-path /opt/Qt/6.10.2/gcc_64 /path/to/repo -- bash EOF } diff --git a/final-migration/run_final_migration.sh b/final-migration/run_final_migration.sh index 7d9ce6965..1dd63d86b 100755 --- a/final-migration/run_final_migration.sh +++ b/final-migration/run_final_migration.sh @@ -20,6 +20,6 @@ SUBMODULE_PATH="qt-migration-legatus/qt6-after/qt6-migrated-legatus" # Run inside Docker: perform clean build directory, configure with Qt6, build and run ctest ./app/run_docker.sh ../sandbox -- bash -lc \ - "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.8.3/gcc_64/lib:${LD_LIBRARY_PATH:-} && export QT_QPA_PLATFORM=offscreen && rm -rf /repo/build && cmake -S /repo/${SUBMODULE_PATH} -B /repo/build -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.8.3/gcc_64 -DBUILD_WS=ON -DBUILD_TESTING=ON && cmake --build /repo/build -- -j${JOBS} && ctest --test-dir /repo/build --output-on-failure" + "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.10.2/gcc_64/lib:${LD_LIBRARY_PATH:-} && export QT_QPA_PLATFORM=offscreen && rm -rf /repo/build && cmake -S /repo/${SUBMODULE_PATH} -B /repo/build -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.10.2/gcc_64 -DBUILD_WS=ON -DBUILD_TESTING=ON -DCMAKE_CXX_STANDARD=23 && cmake --build /repo/build -- -j${JOBS} && ctest --test-dir /repo/build --output-on-failure" echo "Final migration build + tests complete. See ./build for artifacts and test logs in ./build/Testing/Temporary." \ No newline at end of file diff --git a/migration/migrate_module.sh b/migration/migrate_module.sh index 75d364f6b..ab2896872 100755 --- a/migration/migrate_module.sh +++ b/migration/migrate_module.sh @@ -38,15 +38,15 @@ SANITIZED_MODULE_NAME=$(echo "${MODULE_PATH}" | sed -e 's#/#_#g' -e 's/[^A-Za-z0 BUILD_DIR="/repo/build_migrate_${SANITIZED_MODULE_NAME}" if ./app/run_docker.sh "$REPO_DIR" -- bash -lc \ - "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.8.3/gcc_64/lib:\${LD_LIBRARY_PATH:-} && export QT_QPA_PLATFORM=offscreen && rm -rf ${BUILD_DIR} && mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} && \ - cmake -S /repo/${SUBMODULE_PATH} -B ${BUILD_DIR} -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.8.3/gcc_64 -DCMAKE_CXX_STANDARD=20 -DMIGRATE_MODULE=${MODULE_PATH} -DBUILD_TESTING=ON && \ + "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.10.2/gcc_64/lib:\${LD_LIBRARY_PATH:-} && export QT_QPA_PLATFORM=offscreen && rm -rf ${BUILD_DIR} && mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} && \ + cmake -S /repo/${SUBMODULE_PATH} -B ${BUILD_DIR} -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.10.2/gcc_64 -DCMAKE_CXX_STANDARD=23 -DMIGRATE_MODULE=${MODULE_PATH} -DBUILD_TESTING=ON && \ cmake --build ${BUILD_DIR} -- -j${JOBS} && ctest --test-dir ${BUILD_DIR} --output-on-failure"; then echo "Migration run for module ${MODULE_PATH} finished via run_docker.sh. Check ${BUILD_DIR} for logs and artifacts." else echo "run_docker.sh failed or did not forward command args correctly; falling back to direct docker run" # Build image (cached by Dockerfile in app/) docker build -t migration-pipeline:ubuntu26.04 ./app >/dev/null || true - docker run --rm --user "$(id -u):$(id -g)" -v "$REPO_DIR":/repo -w /repo -e CMAKE_PREFIX_PATH=/opt/Qt/6.8.3/gcc_64 -e Qt6_ROOT=/opt/Qt/6.8.3/gcc_64 -e QT_QPA_PLATFORM=offscreen migration-pipeline:ubuntu26.04 bash -lc "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.8.3/gcc_64/lib:\${LD_LIBRARY_PATH:-} && rm -rf ${BUILD_DIR} && mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} && cmake -S /repo/${SUBMODULE_PATH} -B ${BUILD_DIR} -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.8.3/gcc_64 -DCMAKE_CXX_STANDARD=20 -DMIGRATE_MODULE=${MODULE_PATH} -DBUILD_TESTING=ON && cmake --build ${BUILD_DIR} -- -j${JOBS} && ctest --test-dir ${BUILD_DIR} --output-on-failure" + docker run --rm --user "$(id -u):$(id -g)" -v "$REPO_DIR":/repo -w /repo -e CMAKE_PREFIX_PATH=/opt/Qt/6.10.2/gcc_64 -e Qt6_ROOT=/opt/Qt/6.10.2/gcc_64 -e QT_QPA_PLATFORM=offscreen migration-pipeline:ubuntu26.04 bash -lc "set -euo pipefail && export LD_LIBRARY_PATH=/opt/Qt/6.10.2/gcc_64/lib:\${LD_LIBRARY_PATH:-} && rm -rf ${BUILD_DIR} && mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} && cmake -S /repo/${SUBMODULE_PATH} -B ${BUILD_DIR} -G Ninja -DCMAKE_PREFIX_PATH=/opt/Qt/6.10.2/gcc_64 -DCMAKE_CXX_STANDARD=23 -DMIGRATE_MODULE=${MODULE_PATH} -DBUILD_TESTING=ON && cmake --build ${BUILD_DIR} -- -j${JOBS} && ctest --test-dir ${BUILD_DIR} --output-on-failure" echo "Migration run for module ${MODULE_PATH} finished via direct docker run. Check ${BUILD_DIR} for logs and artifacts." fi