diff --git a/qt6-after/qt6-migrated-legatus/README.md b/qt6-after/qt6-migrated-legatus/README.md index abf764924..c4f0d44e5 100644 --- a/qt6-after/qt6-migrated-legatus/README.md +++ b/qt6-after/qt6-migrated-legatus/README.md @@ -29,17 +29,19 @@ Toolchain inside the image: **Ubuntu 26.04, GCC 15.2.0, Qt 6.10.2** ## Prerequisites 1. **Docker** available on the host. -2. **License file** `rti_license.dat` at the *pipeline root* — the - directory **three levels above** this tree - (`/rti_license.dat`). `new_docker_build.sh` derives the - pipeline root from its own location (override with the exported - `MIGRATE_PIPELINE_ROOT` or the `.envrc` in this directory). -3. The tree must be reachable inside the container at +2. The tree must be reachable inside the container at `/workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus`, i.e. mount the pipeline root on `/workspace` — this is how `new_docker_build.sh` invokes Docker, so running the driver as-is satisfies this. +No license file is required: this branch builds the release scope only +(TetraIF, Z/src, Lts/Common) with `BUILD_RTI=OFF`, so the RTI Connext +DDS modules (the only consumers of an RTI license) are not compiled. +`new_docker_build.sh` resolves the pipeline root from its own location +(override with the exported `MIGRATE_PIPELINE_ROOT` or the `.envrc` in +this directory). + All commands below are run **from this directory** (`qt6-migrated-legatus/`). ## Step 1 — Build the prebuilt Docker image (once) @@ -233,9 +235,6 @@ Environment overrides: `DOCKER_IMAGE`, `RUN_JENKINS_BUILDER`, binary by hand → `export QT_QPA_PLATFORM=offscreen`. - **ctest fails with `nglcomp_test (Not Run)`** → expected baseline (pre-existing Qt6 compression issue); the pipeline continues. -- **License error at startup** → `rti_license.dat` must exist at - `/rti_license.dat` and be visible in the container at - `/workspace/rti_license.dat`. - **Stale build tree** → the driver always recreates `build4/`; for manual builds delete `build4/` and rerun Step 2 if CMake behaves oddly. - **DEBs not on the host** → the output dir must be a path that exists diff --git a/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/Jenkinsfile b/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/Jenkinsfile index 21c84c093..56c67e366 100644 --- a/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/Jenkinsfile +++ b/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/Jenkinsfile @@ -4,7 +4,6 @@ // // Workspace layout (checked out by Jenkins, outer pipeline repo): // / -// rti_license.dat // external/ // qt-migration-legatus/qt6-after/qt6-migrated-legatus/ <- LEGATUS_ROOT // Dockerfile (prebuilt build image recipe) diff --git a/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/jenkins_builder_ubuntu26.sh b/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/jenkins_builder_ubuntu26.sh index a36eade6c..55567e50e 100755 --- a/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/jenkins_builder_ubuntu26.sh +++ b/qt6-after/qt6-migrated-legatus/jenkins-ci-rme/jenkins_builder_ubuntu26.sh @@ -35,11 +35,7 @@ set -eo pipefail echo "Building LTS ${LTS_VERSION}-${BUILD_NUMBER:-?} DEB for project '${PROJECT}' (Ubuntu ${OS_VERSION})." echo "PROJECT_BASE_DIR=${PROJECT_BASE_DIR}" -export RTI_LICENSE_FILE="${WORKSPACE}/rti_license.dat" - # Stage workspace as a clean copy under PROJECT_BASE_DIR/deb_stage. -# Only the staging subdirectory is removed — never the workspace itself, -# which contains git-managed source files that must not be deleted. STAGE_DIR="${PROJECT_BASE_DIR}/deb_stage" rm -rf "${STAGE_DIR}" mkdir -p "${STAGE_DIR}" @@ -69,12 +65,6 @@ python3 make_rpm_ubuntu26.py -c LTS \ --build_number "${BUILD_NUMBER:-1}" \ --release_scope -# Copy produced DEB packages to the packages-out mount (host: -# ${PACKAGE_OUTPUT_DIR}, container: /workspace/packages-out) so they are -# available on the host after the container exits. -# make_rpm already writes to ${WORKSPACE}/rpms/... (the host workspace -# mount), so when the host's PACKAGE_OUTPUT_DIR is that same directory the -# packages are already in place - skip copying onto themselves. PACKAGE_OUT_DIR=/workspace/packages-out mkdir -p "${PACKAGE_OUT_DIR}" shopt -s nullglob diff --git a/qt6-after/qt6-migrated-legatus/new_docker_build.sh b/qt6-after/qt6-migrated-legatus/new_docker_build.sh index 799177d27..2f84d37c5 100755 --- a/qt6-after/qt6-migrated-legatus/new_docker_build.sh +++ b/qt6-after/qt6-migrated-legatus/new_docker_build.sh @@ -9,7 +9,7 @@ set -euo pipefail # optionally runs the Jenkins builder to produce the release DEB packages. # # - Resolves MIGRATE_PIPELINE_ROOT (exported variable, .envrc, or derived -# from the script location) and validates rti_license.dat +# from the script location) for the workspace and external mounts # - Uses a prebuilt Docker image with all build dependencies installed # (build it from ./Dockerfile via --build-prebuilt-image) # - Optional deletion of the prebuilt Docker image via --delete-prebuilt-image @@ -60,9 +60,6 @@ MIGRATE_PIPELINE_ROOT resolution (highest precedence first): 2. MIGRATE_PIPELINE_ROOT set by .envrc in this directory 3. derived from the script location (three levels up) -Expected file: - ${MIGRATE_PIPELINE_ROOT}/rti_license.dat - Examples: ./new_docker_build.sh --build-prebuilt-image --docker-image legatus-qt6:1.0 ./new_docker_build.sh --docker-image legatus-qt6:1.0 @@ -383,11 +380,9 @@ fi require_non_empty "${MIGRATE_PIPELINE_ROOT:-}" "MIGRATE_PIPELINE_ROOT" require_directory "${MIGRATE_PIPELINE_ROOT}" "MIGRATE_PIPELINE_ROOT" -RTI_LICENSE_FILE_HOST="${MIGRATE_PIPELINE_ROOT}/rti_license.dat" WORKSPACE_ROOT_HOST="${MIGRATE_PIPELINE_ROOT}" PROJECT_DIR_HOST="${WORKSPACE_ROOT_HOST}/qt-migration-legatus/qt6-after/qt6-migrated-legatus" -require_file "${RTI_LICENSE_FILE_HOST}" "RTI license file" require_directory "${PROJECT_DIR_HOST}" "Project directory" log_info "RELEASE_BUILD=${RELEASE_BUILD}" @@ -403,7 +398,6 @@ log_info "GUEZ_MODE=${GUEZ_MODE}" log_info "BUILD_NUMBER=${BUILD_NUMBER}" log_info "BUILD_TAG=${BUILD_TAG}" log_info "MIGRATE_PIPELINE_ROOT=${MIGRATE_PIPELINE_ROOT}" -log_info "RTI_LICENSE_FILE_HOST=${RTI_LICENSE_FILE_HOST}" log_info "PROJECT_DIR_HOST=${PROJECT_DIR_HOST}" if [[ "${BUILD_PREBUILT_IMAGE}" == "ON" ]]; then @@ -454,7 +448,6 @@ log_error() { log_info "Using prebuilt Docker image: all build dependencies are baked in" -export RTI_LICENSE_FILE=/workspace/rti_license.dat export QT_QPA_PLATFORM=offscreen cd /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus @@ -584,7 +577,6 @@ docker run --rm \ -e QT_BASE_DIR \ -e RELEASE_BUILD_TARGETS="${RELEASE_BUILD_TARGETS_STRING}" \ -v "${WORKSPACE_ROOT_HOST}:/workspace" \ - -v "${RTI_LICENSE_FILE_HOST}:/workspace/rti_license.dat" \ -v "${MIGRATE_PIPELINE_ROOT}/external:/workspace/external:ro" \ -v "${CONTAINER_SCRIPT_HOST}:/tmp/run-build-inside-container.sh:ro" \ -v "${PACKAGE_OUTPUT_DIR}:/workspace/packages-out" \