7.5 KiB
Session prompts — release validation scope (2026-10-14)
Session goal: finalize the Qt6-migrated legatus first-release (validation scope)
DEB package pipeline on branch story/release-validation-scope inside the
qt-migration-legatus submodule (qt6-after/qt6-migrated-legatus).
Scope = TetraIF/ + Z/src + Lts/Common + Lts/Proxies/TrainingAreaBase.
All prompts below are in chronological order and fully translated to English where they were originally written in French or German (typos preserved).
1. Initial request (with pasted verification notes)
Created a Dockerfile with this information "./new_docker_build.sh --build-prebuilt-image --docker-image legatus-qt6:1.0", only the build package must be compiled
created a new branch and remove everything we don't Need in this step
# 4. Run the Jenkins pipeline inside the Docker container ./new_docker_build.sh \ --use-prebuilt-image \ --docker-image legatus-qt6:1.0 \ --run-jenkins-builder \ --package-output-dir /home/nkana/release/qt6-migration-pipeline/rpms/guez/26.04 # 5. Verify generated DEB packages cd /home/nkana/release/qt6-migration-pipeline ls -lh rpms/guez/26.04/*.deb # 6. Validate package contents (no R\S modules, no DDS files) dpkg-deb --contents rpms/guez/26.04/qt6-release-runtime_*.deb | grep -E "(TetraIF|Z/src|Lts/Common|Lts/Proxies/TrainingAreaBase)" dpkg-deb --contents rpms/guez/26.04/qt6-release-sources_*.deb | grep -i dds # Should return nothing dpkg-deb --contents rpms/guez/26.04/qt6-release-ctest-runtime_*.deb | head -20 dpkg-deb --contents rpms/guez/26.04/qt6-release-ctest-sources_*.deb | head -20 dpkg-deb --contents rpms/guez/26.04/qt6-release-build-pipeline_*.deb | head -20 # 7. Verify no excluded modules in runtime package dpkg-deb --contents rpms/guez/26.04/qt6-release-runtime_*.deb | grep -E "(Lts/Application|Lts/DDS|Lts/Tools|Lts/Viewer|src/AlarmManagement)" # Should return nothing
Result: verified the 5 release DEBs (runtime, sources, ctest-runtime, ctest-sources, build-pipeline) — scope modules present, no excluded modules, no DDS files; started creating the validation-scope branch.
2.
created a branch with only the validation scope and rebuild it
Result: created branch story/release-validation-scope containing only
the validation-scope tree; full rebuild through the prebuilt Docker image
produced 5 valid DEBs.
3.
remove everything we don't needed for this branch
Result: first trim pass of the branch — dropped build scaffolding and modules outside the scope.
4.
remove everything we don't needed in this release package from branch containind only the validation scope
Result: deeper trim — removed further modules/machinery that were still present in the tree but not compiled into the release package.
5. (repeated 5 times)
remove the software modules that are not compiled on this branch (originally: "retirer les software modules qui ne sont pas compiler sur cette branche")
Result: iterative removal of every software module that exists in the tree but is not compiled by this branch's release build; verified after each pass by rebuilding and checking the DEB contents stayed identical to the baseline.
6. (repeated 2 times)
remove all warning
Result: made the build log warning-free (compiler warnings + DEB-builder validation warnings).
7.
remove all commit "Co-Authored-By: Claude Code noreply@anthropic.com"
remove this line by all the commit message "Co-Authored-By: Claude Code noreply@anthropic.com"
Result: rewrote the branch history so no commit message carries the
Co-Authored-By: Claude Code trailer; saved as a standing rule (all commits
on this project are made without it).
8.
by tests remove everything it is not building and update new_docker_build.sh for only building this branch
Result: trimmed tests/ down to a 4-line configure-only placeholder
(the only existing test target was guarded by NOT RELEASE_BUILD) and scoped
new_docker_build.sh to this branch: fixed RELEASE_BUILD=ON/RUN_CTEST=ON,
explicit release-scope target list, ctest for the release-scope tests.
9.
split new_docker_build.sh into 2 files (one Dockerfile and one new_docker_build.sh) (originally: "separer le new_docker_build.sh en 2 fichier (un Dockerfile et un new_docker_build.sh)")
Result: extracted the embedded Dockerfile heredoc into a standalone
Dockerfile; --build-prebuilt-image now builds it via
docker build -f Dockerfile with an empty build context.
10.
remove everything with "OFF" and dependency, remove everything not build in this branch
Result: removed all build variables fixed to OFF and their dependent
machinery; container cmake now passes only the flags that override CMake
defaults (-DBUILD_TESTING=ON -DBUILD_ARCGIS=OFF -DRELEASE_BUILD=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=...).
11.
copy rpmbuild to qt6-migrated-legatus and remove everything we don't need
Result: copied the outer-repo rpmbuild/ into the source tree
(rpmbuild/make_rpm_ubuntu26.py), keeping only what the release flow needs;
the branch is now self-contained.
12.
build rpm now inside qt6-migrated-leagtus
build rpm now inside qt6-migrated-legatus
Result: the DEB packaging stage now runs the in-tree
rpmbuild/make_rpm_ubuntu26.py (staging tar → in-tree rpmbuild → 5 DEBs →
copy to --package-output-dir) instead of the outer-repo Jenkins builder.
13.
check that TetraIF is also building
Result: found TetraIF was only compiled in the rpmbuild stage (its
warnings were hidden); added its 5 targets (CoPrtCnv, LogViewLogger,
LogView, PrtCnvLib, PrtCnv) to the branch's explicit build list and
fixed the 12 warnings that TetraIF compilation then exposed:
LogViewModels.cpp (11× deprecated invalidateFilter() →
begin/endFilterChange()), LogViewTelegramEdit.cpp + PrtCnvBroadcastMgr.cpp
(-Wreorder), PrtCnvCentralThread.cpp (-Wswitch), PrtCnvMain.cpp
(-Wunused-result on freopen).
14.
how to set variable automatical if it is building with jenkins "export MIGRATE_PIPELINE_ROOT="/home/""
Result: new_docker_build.sh now auto-derives MIGRATE_PIPELINE_ROOT
from its own location (the script always lives at
<root>/qt-migration-legatus/qt6-after/qt6-migrated-legatus, so root = three
levels up). Precedence: exported variable (Jenkins) → .envrc → derived
path. Works in a fresh Jenkins checkout with no environment setup; .envrc
is now optional.
15.
write all Prompt what we are doing in this session , write the prompt to /home/nkana/release/qt6-migration-pipeline/prompts
Result: this file.
Final state (end of session)
- Branch:
story/release-validation-scope, last commits:1dd1e8635Auto-derive MIGRATE_PIPELINE_ROOT in new_docker_build.sh52df1c8aeFix TetraIF build warnings23e694afcBuild the TetraIF targets in the release scope217bb54bcBuild the DEB packages with the in-tree rpmbuild scriptba99b7460Copy rpmbuild into the source tree with only what the release flow needs- (no
Co-Authored-Bytrailers on any commit)
- Verified full build (
scope-rebuild7.log): 0 warnings, all TetraIF targets built in the branch's own stage, ctest at baseline (80% pass,nglcomp_testNot Run pre-existing), 5 DEBs, runtime package = 50 entries incl. TetraIF binaries/libs. - Self-contained branch:
new_docker_build.sh+Dockerfile+rpmbuild/make_rpm_ubuntu26.py.