Provides release 2 first iteration

Entire-Checkpoint: 01M75099C2MVTQXYCH7PFTET6K
This commit is contained in:
torsten committed 2026-11-11 09:51:03 +00:00
1 parent 3efd916d36
commit e1f856a710
26 files changed
+810 -2

No files matched your search

+338
View File
@@ -0,0 +1,338 @@
# 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