# guez Qt6 Release 2 - Release Notes ## Release Information - **Project**: guez (formerly qatar) - **Release Version**: 1.0 - **Release Date**: November 2025 - **Migration Phase**: Qt6 Release 2 - **Packages**: 5 DEB packages ## Executive Summary This release delivers Qt6-migrated modules for the guez project, packaged as 5 DEB packages for Ubuntu 24.04 LTS. The migration covers AP3 (shared libraries), AP4 (DDS middleware), and AP9 (tools/translations) components, following the Release 2 structure with pre-built artifacts. ## What's New ### Qt6 Migration - Successfully migrated LTS modules from Qt5 to Qt6 - Migrated DDS middleware components to Qt6 - Updated NGL core components for Qt6 compatibility - Ported Grantlee templating and translation tools ### Packaging Changes - **New DEB-only format**: Release 2 uses 5 separate DEB packages instead of monolithic delivery - **Separation of concerns**: Runtime, sources, and test components in separate packages - **Standard Debian format**: Compatible with standard dpkg/apt tooling - **Pre-built artifacts**: Uses build4/ directory for reproducible builds ## Package Summary | Package | Size | Purpose | Status | |---------|------|---------|--------| | qt6-release-runtime | 85M | Runtime libraries and binaries | ✓ Complete | | qt6-release-sources | 565M | Full source code | ✓ Complete | | qt6-release-ctest-runtime | 565M | CTest runtime | ✓ Complete | | qt6-release-ctest-sources | 565M | CTest sources | ✓ Complete | | qt6-release-build-pipeline | 1.1K | Build pipeline config | ⚠ Minimal | ## Migration Scope ### AP3 - Shared Libraries ✓ **Completed**: - LTS command-line parser - LTS coordinate transformation - LTS plugin loader - LTS GUI utilities - NGL application framework - NGL compression utilities - NGL core application - NGL geometry components - NGL graphics engine - Code generation tools **Libraries included**: - `libLtsCommandLineParser.so` - `libLtsCoordTrans.so` - `libLtsPluginLoader.so` - `libnglapplication.so` - `libnglcompression.so` - `libnglcoreapplication.so` - `libnglgeometry.so` - `libnglgraphicsengine.so` - `libcodegen_grantlee.a` ### AP4 - DDS Middleware ✓ **Completed**: - DDS QoS (Quality of Service) management - DDS connector implementation - DDS core functionality - DDS FTC (Fast Transport Channel) - DDS code generator **Libraries included**: - `libddsQoS.so` - `libddsconnector.so` - `libddscore.so` - `libddsftc.a` - `libddsCodeGenerator.so` **Executables**: - `ParticipantDataGenerator` - `tDataSampleGenerator` ### AP9 - Tools and Translations ✓ **Completed**: - Grantlee templating engine - Localization/translation tools - Build utilities - Test frameworks ## Technical Changes ### Build System - **New build script**: `make_rpm_ubuntu26_release2.py` - Direct dpkg-deb packaging (no debhelper) - Handles broken symlinks gracefully - PID-based build directories to avoid conflicts - Automatic cleanup between builds - **Entry point**: `new_docker_build.sh` - Handles configuration, build, test, install, package - Uses aqtinstall for Qt6 package installation - Creates build4/ artifacts for packaging ### Directory Structure ``` qt-migration-legatus/ └── qt6-after/ └── qt6-migrated-legatus/ ├── build4/ # Pre-built artifacts │ ├── lib/ # Libraries (.so, .a) │ ├── bin/ # Executables │ └── Lts/Tools/ # Tool executables ├── Lts/ # Source code └── rpmbuild/ # Packaging scripts ``` ### Package Installation Paths - **Runtime**: `/usr/lib/`, `/usr/bin/` - **Sources**: `/opt/guez/sources/` - **CTest runtime**: `/usr/lib/`, `/usr/bin/` - **CTest sources**: `/opt/guez/ctest-sources/` - **Build pipeline**: `/opt/guez/build-pipeline/` ## Known Issues ### 1. Build-pipeline Package Content **Issue**: The build-pipeline package currently contains minimal content (only root directory). **Impact**: Users cannot access full build pipeline configuration. **Workaround**: Access build scripts directly from source repository. **Fix planned**: Full pipeline configuration to be added in next release. ### 2. File Permissions **Issue**: Some files in build4/ directory are owned by root from Docker builds. **Impact**: May cause permission errors during packaging or cleanup. **Workaround**: Run packaging script with appropriate permissions or use temp directories. ### 3. Disk Space Requirements **Issue**: Building all packages requires ~2GB+ free space in /tmp. **Impact**: Build may fail with "Disk quota exceeded" on systems with limited /tmp space. **Workaround**: Set TMPDIR environment variable to location with sufficient space. ## Installation Instructions ### Prerequisites - Ubuntu 24.04 LTS (or compatible Debian-based distribution) - x86_64 architecture - 2.5GB free disk space - sudo access for installation ### Quick Start ```bash # Download all packages to a directory cd /path/to/packages # Install runtime (required first) sudo dpkg -i qt6-release-runtime_1.0-1_amd64.deb # Install sources (optional) sudo dpkg -i qt6-release-sources_1.0-1_amd64.deb sudo dpkg -i qt6-release-ctest-sources_1.0-1_amd64.deb # Install CTest runtime sudo dpkg -i qt6-release-ctest-runtime_1.0-1_amd64.deb # Install build pipeline sudo dpkg -i qt6-release-build-pipeline_1.0-1_amd64.deb # Verify installation dpkg -l | grep qt6-release ``` ### Verification ```bash # Check runtime libraries ls -la /usr/lib/libLts*.so ls -la /usr/lib/libdds*.so ls -la /usr/lib/libngl*.so # Check executables ls -la /usr/bin/ParticipantDataGenerator ls -la /usr/bin/tDataSampleGenerator # Check sources ls -la /opt/guez/sources/ ``` ## Build Instructions ### Prerequisites for Building - Docker (for reproducible builds) - Python 3.8+ - dpkg-deb - Access to Qt6 packages (via aqtinstall) ### Build Process ```bash # Navigate to packaging directory cd rpmbuild/ # Build all packages python3 make_rpm_ubuntu26_release2.py \ -c LTS \ --project_name guez \ --version 1.0 \ --output_dir /path/to/output \ --source_dir /path/to/qt-migration-legatus/qt6-after/qt6-migrated-legatus ``` ### Build Output - 5 DEB packages in output directory - Manifest files in `manifests/` subdirectory - Build logs in console output ## Testing ### Runtime Testing ```bash # Verify libraries load correctly ldd /usr/lib/libLtsCommandLineParser.so # Test executables /usr/bin/ParticipantDataGenerator --help ``` ### Source Code Testing ```bash # Navigate to sources cd /opt/guez/sources/ # Run CMake configuration cmake -B build -S . # Build (optional, for verification) cmake --build build # Run tests ctest --test-dir build ``` ## Migration from Previous Versions ### From Qt5 Release If you have existing Qt5 installations: 1. **Backup existing configuration** ```bash cp -r /opt/qatar /opt/qatar.backup ``` 2. **Remove old packages** (if applicable) ```bash sudo dpkg -r qatar-legacy ``` 3. **Install new Qt6 packages** ```bash sudo dpkg -i qt6-release-runtime_1.0-1_amd64.deb # ... install other packages ``` 4. **Update application configuration** - Update library paths if hardcoded - Rebuild applications against Qt6 libraries - Update CMake configuration to find Qt6 ### API Compatibility - Most APIs remain compatible between Qt5 and Qt6 - Some deprecated Qt5 APIs may have been removed - Check application logs for deprecation warnings - Refer to Qt6 migration guide for detailed API changes ## Documentation ### Included Documentation - `README.md` - This installation guide - `BUILD_STATUS_REPORT.md` - Build status and metrics - `DDS_MIGRATION_STATUS.md` - DDS migration details - `CTEST-INTEGRATION-STATUS.md` - Integration test status - `INTEGRATION_TEST_REPORT.md` - Test results ### External Documentation - Qt6 Documentation: https://doc.qt.io/qt-6/ - Debian Packaging Guide: https://www.debian.org/doc/manuals/debian-faq/ ## Support and Feedback ### Reporting Issues Please include: - Package version: `dpkg -l | grep qt6-release` - OS version: `lsb_release -a` - Error messages and logs - Steps to reproduce ### Contact - Project repository: [Internal] - Build system: `rpmbuild/make_rpm_ubuntu26_release2.py` - Entry point: `new_docker_build.sh` ## Changelog ### Version 1.0 (November 2025) **Added**: - Initial Qt6 Release 2 packages - 5 DEB packages: runtime, sources, ctest-runtime, ctest-sources, build-pipeline - AP3 shared libraries migration - AP4 DDS middleware migration - AP9 tools and translations migration - Standard Debian packaging format - Reproducible Docker builds **Changed**: - Project name from "qatar" to "guez" - Packaging approach from monolithic to modular - Build system to use dpkg-deb directly **Fixed**: - Debhelper variable compatibility - Broken symlink handling - Build directory cleanup - Working directory restoration ## License Proprietary - All rights reserved. --- **Release Manager**: Automated Build System **Build Date**: November 10, 2025 **Project**: guez Qt6 Migration - Release 2