Removes intermediate built moving prompt from repo

This commit is contained in:
torsten committed 2026-08-29 15:08:27 +02:00
1 parent e83af961e6
commit 8d7d520200
1 file changed
-239
-239
View File
@@ -1,239 +0,0 @@
Du arbeitest in einem bestehenden C++/Qt-Projekt, das von Qt5 nach Qt6 migriert wird. Deine Aufgabe ist, die Build- und CI/CD-Infrastruktur technisch sauber und robust an eine neue Verzeichnisstruktur anzupassen. Fokus: Linux/Ubuntu 26.04, CMake, Dockerfile, Shell-Skripte und CI-Pipeline.
## Ausgangslage
Die Repository-/Build-Struktur wurde geändert:
- Die bisherigen Folder und Files:
```
drwxrwxrwx 2 torsten torsten 4096 Jul 17 17:03 cmake/
-rwxrwxrwx 1 torsten torsten 15357 Jul 22 12:32 CMakeLists.txt*
-rw-rw-rw- 1 torsten torsten 92 Jul 14 13:55 CTestCustom.ctest
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:12 doxygen/
-rw-rw-rw- 1 torsten torsten 0 Aug 13 19:33 .gitkeep
drwxrwxrwx 8 torsten torsten 4096 Jul 21 15:43 Lts/
-rw-rw-rw- 1 torsten torsten 14908 Jul 21 15:45 lts-cc.conf
drwxrwxrwx 3 torsten torsten 4096 Jul 18 15:22 specs/
drwxrwxrwx 4 root root 4096 Jul 14 21:53 strix_runs/
drwxrwxrwx 4 torsten torsten 4096 Aug 14 11:46 tests/
drwxrwxrwx 5 torsten torsten 4096 Jul 14 12:14 TetraIF/
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:45 translations/
drwxrwxrwx 3 torsten torsten 4096 Jul 14 23:50 Z/
```
wurden nach `qt-migration-legatus/qt6-after/qt6-migrated-legatus/` verschoben.
- `qt-migration-legatus/` ist jetzt ein **Git-Submodule**.
- Innerhalb von `qt-migration-legatus/` gibt es zusätzlich:
- `qt5-before` → enthält die bisherigen Qt5-Eingabefolder, die früher manuell schrittweise ins Projekt kopiert wurden.
- `qt6-after` → enthält die bisherigen Ergebnisse bzw. Zielstände der Qt6-Portierung.
## Ziel
Passe alle relevanten Build-, CI- und Container-Pfade auf die neue Struktur an, sodass der Build unter Ubuntu 26.04 reproduzierbar, robust und wartbar funktioniert.
## Technischer Scope
Untersuche und aktualisiere ausschließlich technische Build-/Infra-Aspekte, insbesondere:
- GitHub Actions / GitLab CI / andere Linux-CI-Konfigurationen
- Shell-Skripte (`.sh`)
- `Dockerfile`
- `.dockerignore`
- CMake-Dateien:
- `CMakeLists.txt`
- `*.cmake`
- Toolchain-/Preset-Dateien, falls vorhanden
- Qt-bezogene Ressourcen-/Include-/Source-/MOC-/UIC-/RCC-Pfade
- Copy-/Sync-/Stage-/Artifact-Schritte
- Submodule-Checkout und Build-Kontext
- Relative Pfade im Repo, im Build-Verzeichnis und im Container
Nicht im Scope:
- PowerShell
- Windows-spezifische Anpassungen
- Fachliche/refaktorierende Codeänderungen außerhalb buildrelevanter Pfade
- Unnötige Modernisierung jenseits der Pfad-/Infra-Migration
## Konkrete Aufgaben
1. Suche systematisch nach allen Referenzen auf die alten Folder
```
drwxrwxrwx 2 torsten torsten 4096 Jul 17 17:03 cmake/
-rwxrwxrwx 1 torsten torsten 15357 Jul 22 12:32 CMakeLists.txt*
-rw-rw-rw- 1 torsten torsten 92 Jul 14 13:55 CTestCustom.ctest
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:12 doxygen/
-rw-rw-rw- 1 torsten torsten 0 Aug 13 19:33 .gitkeep
drwxrwxrwx 8 torsten torsten 4096 Jul 21 15:43 Lts/
-rw-rw-rw- 1 torsten torsten 14908 Jul 21 15:45 lts-cc.conf
drwxrwxrwx 3 torsten torsten 4096 Jul 18 15:22 specs/
drwxrwxrwx 4 root root 4096 Jul 14 21:53 strix_runs/
drwxrwxrwx 4 torsten torsten 4096 Aug 14 11:46 tests/
drwxrwxrwx 5 torsten torsten 4096 Jul 14 12:14 TetraIF/
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:45 translations/
drwxrwxrwx 3 torsten torsten 4096 Jul 14 23:50 Z/
```
in:
- CI-Konfigurationen
- CMake-Dateien
- Dockerfile
- Shell-Skripten
- Copy-/Install-/Packaging-Schritten
2. Ermittle für jede Referenz die korrekte neue Zielstruktur:
- `qt-migration-legatus/...`
- `qt-migration-legatus/qt5-before/...`
- `qt-migration-legatus/qt6-after/...`
3. Stelle sicher, dass das Git-Submodule `qt-migration-legatus/` in allen relevanten Build-Kontexten korrekt berücksichtigt wird:
- lokaler CI-Checkout
- Container-Build-Kontext
- reproduzierbarer Checkout in der Pipeline
4. Aktualisiere Build-Logik und Pfade so, dass:
- keine impliziten Annahmen über alte Repo-Layouts bestehen,
- keine fragilen `../..`-Konstruktionen ohne Not bestehen bleiben,
- Pfade zentralisiert oder klar abgeleitet werden, wo sinnvoll.
5. Prüfe speziell für CMake:
- `add_subdirectory(...)`
- `include(...)`
- `target_include_directories(...)`
- `target_sources(...)`
- `configure_file(...)`
- `file(COPY ...)`, `file(GLOB ...)`, `install(...)`
- Pfade zu `.ui`, `.qrc`, Headern, Quellen und generierten Assets
- Variablen, die noch auf alte Layouts zeigen
6. Prüfe speziell für `app/Dockerfile`:
- `COPY`
- `ADD`
- `WORKDIR`
- Build-Argumente / Umgebungsvariablen
- Annahmen über vorhandene Verzeichnisse im Build-Kontext
- Submodule-Verfügbarkeit im Container-Build
- ggf. `.dockerignore`, falls dadurch `qt-migration-legatus/` oder relevante Unterordner ausgeschlossen werden
7. Prüfe speziell für CI/CD:
- Submodule-Checkout/Init/Update
- Cache-Pfade
- Artifact-Pfade
- Test-/Packaging-/Deploy-Stages mit alten Pfadannahmen
- Script-Schritte mit Copy-/Move-/Sync-Operationen
- Container-Build-Aufrufe mit korrektem Context
8. Trenne logisch zwischen:
- Qt5-Altmaterial unter `qt-migration-legatus/qt5-before`
- Qt6-Portierungsstand unter `qt-migration-legatus/qt6-after`
Diese beiden Bereiche dürfen nicht versehentlich vermischt werden. Wenn die aktuelle Pipeline beides nutzt, dokumentiere die Entscheidung explizit.
## Technische Qualitätsanforderungen
- Zielplattform ist **Ubuntu 26.04**.
- Bevorzuge POSIX-nahe Shell-Lösungen (`bash`), keine PowerShell.
- Änderungen sollen **minimal-invasiv**, aber **strukturell robust** sein.
- Keine stillen Magic Paths.
- Wo sinnvoll:
- zentrale Pfadvariablen in CMake,
- klare ENV-/ARG-Namen im Dockerfile,
- explizite Submodule-Schritte in CI.
- Keine unnötigen Refactorings ohne direkten Nutzen für die Migration.
- Bestehendes Verhalten möglichst erhalten.
- Wenn Annahmen nötig sind, markiere sie klar.
## Erwartete Ausgabe
Liefere in dieser Reihenfolge:
1. **Analyse**
- Welche Dateien/Build-Stellen noch auf
```
drwxrwxrwx 2 torsten torsten 4096 Jul 17 17:03 cmake/
-rwxrwxrwx 1 torsten torsten 15357 Jul 22 12:32 CMakeLists.txt*
-rw-rw-rw- 1 torsten torsten 92 Jul 14 13:55 CTestCustom.ctest
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:12 doxygen/
-rw-rw-rw- 1 torsten torsten 0 Aug 13 19:33 .gitkeep
drwxrwxrwx 8 torsten torsten 4096 Jul 21 15:43 Lts/
-rw-rw-rw- 1 torsten torsten 14908 Jul 21 15:45 lts-cc.conf
drwxrwxrwx 3 torsten torsten 4096 Jul 18 15:22 specs/
drwxrwxrwx 4 root root 4096 Jul 14 21:53 strix_runs/
drwxrwxrwx 4 torsten torsten 4096 Aug 14 11:46 tests/
drwxrwxrwx 5 torsten torsten 4096 Jul 14 12:14 TetraIF/
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:45 translations/
drwxrwxrwx 3 torsten torsten 4096 Jul 14 23:50 Z/
```
verweisen
- Welche Stellen wegen des neuen Submodules `qt-migration-legatus/` kritisch sind
- Welche Stellen speziell für Qt5-/Qt6-Trennung relevant sind
2. **Konkrete Änderungen**
- als präzise Diffs pro Datei
3. **Begründung**
- kurz und technisch pro wesentlicher Änderung
4. **Risiken / offene Punkte**
- z. B. unklare Zuordnung zwischen `qt5-before` und `qt6-after`
- mögliche Probleme im Docker-Build-Kontext
- Pipeline-Schritte, die vom Runner-Layout abhängen
5. **Validierung**
- konkrete Checks, z. B.:
- Submodule erfolgreich ausgecheckt
- CMake configure/build erfolgreich
- Docker build erfolgreich
- relevante Copy-/Artifact-Pfade vorhanden
- keine Restreferenzen auf
```
drwxrwxrwx 2 torsten torsten 4096 Jul 17 17:03 cmake/
-rwxrwxrwx 1 torsten torsten 15357 Jul 22 12:32 CMakeLists.txt*
-rw-rw-rw- 1 torsten torsten 92 Jul 14 13:55 CTestCustom.ctest
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:12 doxygen/
-rw-rw-rw- 1 torsten torsten 0 Aug 13 19:33 .gitkeep
drwxrwxrwx 8 torsten torsten 4096 Jul 21 15:43 Lts/
-rw-rw-rw- 1 torsten torsten 14908 Jul 21 15:45 lts-cc.conf
drwxrwxrwx 3 torsten torsten 4096 Jul 18 15:22 specs/
drwxrwxrwx 4 root root 4096 Jul 14 21:53 strix_runs/
drwxrwxrwx 4 torsten torsten 4096 Aug 14 11:46 tests/
drwxrwxrwx 5 torsten torsten 4096 Jul 14 12:14 TetraIF/
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:45 translations/
drwxrwxrwx 3 torsten torsten 4096 Jul 14 23:50 Z/
```
## Arbeitsweise
Gehe in dieser Reihenfolge vor:
1. Finde alle Referenzen auf
```
drwxrwxrwx 2 torsten torsten 4096 Jul 17 17:03 cmake/
-rwxrwxrwx 1 torsten torsten 15357 Jul 22 12:32 CMakeLists.txt*
-rw-rw-rw- 1 torsten torsten 92 Jul 14 13:55 CTestCustom.ctest
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:12 doxygen/
-rw-rw-rw- 1 torsten torsten 0 Aug 13 19:33 .gitkeep
drwxrwxrwx 8 torsten torsten 4096 Jul 21 15:43 Lts/
-rw-rw-rw- 1 torsten torsten 14908 Jul 21 15:45 lts-cc.conf
drwxrwxrwx 3 torsten torsten 4096 Jul 18 15:22 specs/
drwxrwxrwx 4 root root 4096 Jul 14 21:53 strix_runs/
drwxrwxrwx 4 torsten torsten 4096 Aug 14 11:46 tests/
drwxrwxrwx 5 torsten torsten 4096 Jul 14 12:14 TetraIF/
drwxrwxrwx 2 torsten torsten 4096 Jul 14 14:45 translations/
drwxrwxrwx 3 torsten torsten 4096 Jul 14 23:50 Z/
```
2. Identifiziere alle Build-/CI-/Docker-Stellen, die `D` als Submodule korrekt einbinden müssen.
3. Leite pro Fundstelle den neuen Zielpfad ab.
4. Schlage minimal robuste Änderungen vor.
5. Liefere die Änderungen als Diffs.
6. Formuliere am Ende eine kurze Validierungs-Checkliste für Ubuntu-26.04-CI.
## Zusätzliche Vorgaben
- Wenn du alte Pfade durch neue ersetzt, tue das nicht blind global, sondern kontextabhängig.
- Wenn CMake- oder Dockerfile-Logik bisher auf manuell kopierte Inhalte ausgelegt ist, passe sie so an, dass die neue Struktur explizit und nachvollziehbar verwendet wird.
- Wenn ein Build-Schritt semantisch eher auf „Eingabe vor Portierung“ verweist, nutze bevorzugt `qt-migration-legatus/qt5-before`.
- Wenn ein Build-Schritt auf bereits portierte Qt6-Artefakte oder Zielstände verweist, nutze bevorzugt `qt-migration-legatus/qt6-after`.
- Wenn die vorhandene Logik diese Entscheidung nicht eindeutig macht, dokumentiere die Annahme direkt bei der Änderung.
- Ergänze nur dort knappe Kommentare, wo die neue Struktur sonst schwer verständlich wäre.
Beginne mit einer vollständigen Bestandsaufnahme aller relevanten Pfadreferenzen und liefere danach die minimalen robusten Änderungen für CI/CD, CMake und Dockerfile unter Ubuntu 26.04.