CI: Commit-Policy und allowed_signers für Qt6-Migration
- commit-policy.prompt.md: Policy für Multi-Repo Commits - allowed_signers: SSH-Signing Konfiguration für Gitea - check_pr_policies.py: Policy-Check Skript - MIGRATION_STATUS.md: Dokumentierter Migrationsfortschritt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M0G01614JAYPA7N20RAGZJND
This commit is contained in:
5 files changed
+433
No files matched your search
@@ -0,0 +1,115 @@
|
||||
# Qt6 Migration Status Report
|
||||
|
||||
## Aktueller Stand (2026-08-18)
|
||||
|
||||
### ✅ Erfolgreich abgeschlossene Arbeiten
|
||||
|
||||
1. **Export-Header Problem behoben**
|
||||
- 87 CMakeLists.txt von `NGL_ADD_LIBRARY` auf `NGL_ADD_LIBRARY2` konvertiert
|
||||
- 44 Source-Dateien: Export-Header Include-Pfade korrigiert
|
||||
- Root Cause: NGL_ADD_LIBRARY2 benötigt für GENERATE_EXPORT_HEADER
|
||||
|
||||
2. **DDS-Stub-Header generiert**
|
||||
- 81 DDS-Stub-Header erstellt (`*_dtc.h`, `*_fts.h`, `*_dts.h`, `*_ftc.h`)
|
||||
- Include-Pfade korrigiert mit PREFIX_TO_MODULE Mapping
|
||||
- Ermöglicht Build ohne RTI DDS Codegenerierung
|
||||
|
||||
3. **NGLLogger Migration**
|
||||
- Logger-Stub erstellt mit Logging-Makros
|
||||
- m_logger Member-Variablen aus ~100+ Dateien entfernt
|
||||
- Q_FUNC_INFO Redefinition behoben (auf `__func__` umgestellt)
|
||||
- Logging-Makros auf variadische Parameter umgestellt
|
||||
|
||||
4. **InfrastructureManagement DDS-Stubs**
|
||||
- ism.hpp, ism_enums.hpp Stub-Header erstellt
|
||||
- IsmShared Kompilierung erfolgreich
|
||||
|
||||
5. **FilterManagement DDS-Stubs**
|
||||
- flt_fts.h: AesFilter und AesFilterUpdateRequestHandler
|
||||
- flt_dts.h: Dts und Fts Interface-Classes
|
||||
- flt_dts.cpp: Stub-Implementation
|
||||
- flt_ftc.h: Ftc Interface mit ReplyHandler (neu erstellt)
|
||||
|
||||
6. **Docker Permission Fix**
|
||||
- Container muss mit `--user root` für Schreibzugriff auf ./build*/
|
||||
|
||||
### ⚠️ Aktuelle Build-Situation
|
||||
|
||||
**NGLLogger**: ✅ Baut erfolgreich ohne RTI
|
||||
|
||||
**FilterManagement**: ⚠️ Benötigt BUILD_RTI=ON
|
||||
- FltDataPlugin hängt von `svcFltClient` ab
|
||||
- svcFltClient wird nur mit BUILD_RTI=ON gebaut
|
||||
- RTI Connext ist in Ubuntu 26.04 nicht installiert
|
||||
|
||||
**Lösungsoptionen**:
|
||||
1. RTI Connext in Docker-Image installieren (aufwändig, Lizenz)
|
||||
2. BUILD_RTI=OFF und FilterManagement-Plugins temporär deaktivieren
|
||||
3. svcFltClient als Header-Only Library behandeln (wenn möglich)
|
||||
|
||||
### 📝 Git Submodule Status
|
||||
|
||||
**Frage**: Warum ist git submodule im HEAD detach state?
|
||||
|
||||
**Antwort**: Das Submodule ist **NICHT** im detached HEAD state!
|
||||
|
||||
```
|
||||
$ git submodule status
|
||||
+010f91928acfe8e775acdacc5eb0b38f613fa3e5 qt-migration-legatus (heads/feature/qt6-migration-basis-modules)
|
||||
```
|
||||
|
||||
- **Branch**: `feature/qt6-migration-basis-modules` ✅
|
||||
- **Commit**: 010f919 (lokale Änderungen, noch nicht gepusht)
|
||||
- **Das `+` Zeichen**: Zeigt uncommitted changes im Submodule an
|
||||
|
||||
### 🔄 Nächste Schritte
|
||||
|
||||
1. **FilterManagement Build-Strategie klären**
|
||||
- Option A: BUILD_RTI=ON mit RTI-Installation
|
||||
- Option B: FilterManagement-Plugins temporär ausschließen
|
||||
- Option C: svcFltClient als Header-Only behandeln
|
||||
|
||||
2. **Tests erstellen** (gemäß combined-migration-compact.prompt.md)
|
||||
- Für migrierte Module: Lts/Common, NGLLogger
|
||||
- Teststruktur: `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/tests/`
|
||||
|
||||
3. **./rpmbuild und ./jenkins migrieren**
|
||||
- Von openSUSE nach Ubuntu 26.04
|
||||
- Dockerfiles anpassen
|
||||
- Jenkins-Pipelines aktualisieren
|
||||
|
||||
4. **Vollständige Migration fortsetzen**
|
||||
- Z-Module → TetraIF → Lts/Services → Lts/Proxies → Lts/Plugins → Lts/Projects
|
||||
|
||||
### 📊 Build-Statistik
|
||||
|
||||
| Modul | Build-Status | RTI benötigt | Notes |
|
||||
|-------|--------------|--------------|-------|
|
||||
| NGLLogger | ✅ Erfolg | ❌ Nein | Basis-Logging |
|
||||
| IsmShared | ✅ Erfolg | ❌ Nein | InfrastructureManagement |
|
||||
| FltDataPlugin | ⚠️ Pending | ✅ Ja | Benötigt svcFltClient |
|
||||
| svcFltCommon | ⚠️ Pending | ✅ Ja | BUILD_RTI=ON required |
|
||||
| svcFltClient | ⚠️ Pending | ✅ Ja | BUILD_RTI=ON required |
|
||||
| svcFltServer | ⚠️ Pending | ✅ Ja | BUILD_RTI=ON required |
|
||||
|
||||
### 🛠️ Wichtige Files
|
||||
|
||||
**Stub-Header erstellt**:
|
||||
- `/include/FilterManagement/flt_fts.h`
|
||||
- `/include/FilterManagement/flt_dts.h`
|
||||
- `/include/FilterManagement/flt_dts.cpp`
|
||||
- `/include/FilterManagement/flt_ftc.h` (neu)
|
||||
- `/include/InfrastructureManagement/ism.hpp`
|
||||
- `/include/InfrastructureManagement/ism_enums.hpp`
|
||||
|
||||
**Skripte erstellt**:
|
||||
- `fix_add_library2.py` (87 Fixes)
|
||||
- `fix_export_includes.py` (44 Fixes)
|
||||
- `create_dds_stubs.py` (81 Header)
|
||||
- `move_dds_headers.py` (Pfad-Korrektur)
|
||||
- `remove_logger_members.py` (~100+ Dateien)
|
||||
- `fix_logging_macros.py` (variadische Parameter)
|
||||
|
||||
---
|
||||
|
||||
**Empfehlung**: User sollte entscheiden ob RTI Connext installiert werden soll oder ob FilterManagement-Plugins temporär aus dem Build ausgeschlossen werden können.
|
||||
Reference in new issue
Block a user