338 lines
8.9 KiB
Markdown
338 lines
8.9 KiB
Markdown
# 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 |