187 lines
3.9 KiB
Markdown
187 lines
3.9 KiB
Markdown
# Guez Release 2 - Qt6 Migration
|
|
|
|
**Version:** 2.0
|
|
**Date:** 2026-11-26
|
|
**Branch:** story/create-release-two-delivery-25_11_2026
|
|
|
|
## Overview
|
|
|
|
Release 2 of the Guez project represents the Qt6-migrated version of the AP3, AP4, and AP9 modules, plus all Release 1 components (TetraIF, Z module, Lts/Common).
|
|
|
|
**Total Scope:** 37 targets (Krypto excluded - absent from codebase)
|
|
|
|
## Module Scope
|
|
|
|
### AP3 — Shared Libraries (Lts/Common)
|
|
- LtsUtils
|
|
- LtsWidgets
|
|
- LtsSession
|
|
- LtsPluginManager
|
|
- CodeGen (includes ngl_codegen tool)
|
|
|
|
### AP4 — DDS Middleware
|
|
- Core
|
|
- DDSConnector
|
|
- Routing
|
|
- QosProfile
|
|
- DTC
|
|
- DTS
|
|
|
|
### AP9 — Tools and Viewers
|
|
- DdsView
|
|
- LogViewer
|
|
- SqlBrowser
|
|
|
|
### Release 1 Modules
|
|
- **TetraIF** (5 targets): TetraIF, TetraIFCommon, TetraIFServices, TetraIFUtils, TetraIFData
|
|
- **Z Module** (16 targets): Complete Z graphics framework
|
|
- **Lts/Common** utilities and services
|
|
|
|
### Test Framework
|
|
- Google Test (gtest)
|
|
- Google Mock (gmock)
|
|
|
|
## Build System
|
|
|
|
### Prerequisites
|
|
|
|
- Ubuntu 24.04 or compatible
|
|
- CMake 3.28+
|
|
- Ninja build system
|
|
- Python 3.10+
|
|
- Qt 6.10.2 (installed via aqt)
|
|
|
|
### Qt6 Installation
|
|
|
|
Qt6 is installed using aqt (not apt packages):
|
|
|
|
```bash
|
|
pip3 install --break-system-packages --quiet aqtinstall
|
|
aqt install-qt linux desktop 6.10.2 linux_gcc_64 \
|
|
-m qtmultimedia qtserialport qtimageformats qtwebsockets qtwebengine \
|
|
qtpdf qtwebview qt5compat qtwebchannel qtpositioning qtlocation qtsensors \
|
|
--outputdir /opt/Qt
|
|
```
|
|
|
|
**Required Qt Modules:**
|
|
- QtMultimedia
|
|
- QtSerialPort
|
|
- QtImageFormats
|
|
- QtWebSockets
|
|
- QtWebEngine
|
|
- QtPdf
|
|
- QtWebView
|
|
- Qt5Compat
|
|
- QtWebChannel
|
|
- QtPositioning
|
|
- QtLocation
|
|
- QtSensors
|
|
|
|
### System Dependencies
|
|
|
|
```bash
|
|
apt-get install -y \
|
|
build-essential \
|
|
cmake \
|
|
ninja-build \
|
|
git \
|
|
python3-pip \
|
|
libboost-all-dev \
|
|
libkf6texttemplate-dev \
|
|
libgtest-dev \
|
|
libgmock-dev \
|
|
libpq-dev \
|
|
libvlc-dev \
|
|
libssl-dev \
|
|
libxml2-dev \
|
|
libxerces-c-dev
|
|
```
|
|
|
|
### Docker Build
|
|
|
|
Build the Release 2 Docker image:
|
|
|
|
```bash
|
|
docker build -f Dockerfile.release2 -t guez-release2:2.0 .
|
|
```
|
|
|
|
Or use the build script:
|
|
|
|
```bash
|
|
./new_docker_build_release2.sh
|
|
```
|
|
|
|
## DEB Packages
|
|
|
|
Release 2 produces 5 Debian packages:
|
|
|
|
1. **guez-build-pipeline_2.0_amd64.deb** - Build tools and CMake config
|
|
2. **guez-runtime_2.0_amd64.deb** - Runtime libraries (Lts, DDS, Z, TetraIF)
|
|
3. **guez-ctest-runtime_2.0_amd64.deb** - CTest runtime and test executables
|
|
4. **guez-ctest-sources_2.0_amd64.deb** - CTest source files
|
|
5. **guez-sources_2.0_amd64.deb** - Complete source package
|
|
|
|
## Target List (37 Total)
|
|
|
|
### GROUP1: DDS Middleware (6 targets)
|
|
- Lts/DDS/Core
|
|
- Lts/DDS/DDSConnector
|
|
- Lts/DDS/Routing
|
|
- Lts/DDS/QosProfile
|
|
- Lts/DDS/DTC
|
|
- Lts/DDS/DTS
|
|
|
|
### GROUP3: Shared Libraries + TetraIF + Tests (28 targets)
|
|
- Lts/Common/LtsUtils
|
|
- Lts/Common/LtsWidgets
|
|
- Lts/Common/LtsSession
|
|
- Lts/Common/LtsPluginManager
|
|
- Lts/Common/CodeGen (ngl_codegen)
|
|
- Z module (16 targets)
|
|
- TetraIF (5 targets)
|
|
- external-dependencies/googletest/gtest
|
|
- external-dependencies/googletest/gmock
|
|
|
|
### GROUP5: Viewer Tools (3 targets)
|
|
- Lts/Tools/DdsView
|
|
- Lts/Tools/LogViewer
|
|
- Lts/Tools/SqlBrowser
|
|
|
|
### GROUP6: Code Generation Tools (1 target)
|
|
- Lts/Common/CodeGen/ngl_codegen
|
|
|
|
## Known Absent Modules
|
|
|
|
### Krypto ❌
|
|
- **Status:** ABSENT from codebase
|
|
- **Reason:** Module not found in repository
|
|
- **Impact:** Excluded from Release 2 scope
|
|
- **Original plan:** 38 targets → **Actual:** 37 targets
|
|
|
|
## Testing
|
|
|
|
Run CTest suite:
|
|
|
|
```bash
|
|
cd build
|
|
ctest --output-on-failure -j$(nproc)
|
|
```
|
|
|
|
## Verification
|
|
|
|
All 37 targets verified with:
|
|
- ✅ Source files (.cpp, .h)
|
|
- ✅ CMakeLists.txt build configuration
|
|
- ✅ Proper directory structure
|
|
|
|
See `RELEASE_2_SOURCE_VERIFICATION_REPORT.md` for detailed verification.
|
|
|
|
## Branch Information
|
|
|
|
- **Delivery Branch:** story/create-release-two-delivery-25_11_2026
|
|
- **Reference Branch:** story/release-validation-scope
|
|
- **Parent Repository:** qt6-migration-pipeline
|
|
|
|
## License
|
|
|
|
Proprietary - Guez Project |