8.9 KiB
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.solibLtsCoordTrans.solibLtsPluginLoader.solibnglapplication.solibnglcompression.solibnglcoreapplication.solibnglgeometry.solibnglgraphicsengine.solibcodegen_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.solibddsconnector.solibddscore.solibddsftc.alibddsCodeGenerator.so
Executables:
ParticipantDataGeneratortDataSampleGenerator
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
# 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
# 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
# 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
# Verify libraries load correctly
ldd /usr/lib/libLtsCommandLineParser.so
# Test executables
/usr/bin/ParticipantDataGenerator --help
Source Code Testing
# 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:
-
Backup existing configuration
cp -r /opt/qatar /opt/qatar.backup -
Remove old packages (if applicable)
sudo dpkg -r qatar-legacy -
Install new Qt6 packages
sudo dpkg -i qt6-release-runtime_1.0-1_amd64.deb # ... install other packages -
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 guideBUILD_STATUS_REPORT.md- Build status and metricsDDS_MIGRATION_STATUS.md- DDS migration detailsCTEST-INTEGRATION-STATUS.md- Integration test statusINTEGRATION_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