Files
qt6-migration-pipeline/qt-migration-pipeline-debs/RELEASE_NOTES.md
T
torsten e1f856a710 Provides release 2 first iteration
Entire-Checkpoint: 01M75099C2MVTQXYCH7PFTET6K
2026-11-11 09:51:03 +00:00

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.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

# 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:

  1. Backup existing configuration

    cp -r /opt/qatar /opt/qatar.backup
    
  2. Remove old packages (if applicable)

    sudo dpkg -r qatar-legacy
    
  3. Install new Qt6 packages

    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

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