From 9e37fdcbbba249a9a1daf3d051958584ccfb9395 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Sat, 8 Aug 2026 14:57:27 +0200 Subject: [PATCH] =?UTF-8?q?docs(agents):=20invariants=20BUILD=20=E2=80=94?= =?UTF-8?q?=20corriger=20la=20r=C3=A9f=C3=A9rence=20qt5=20=E2=86=92=20qt6,?= =?UTF-8?q?=20d'apr=C3=A8s=20le=20build=20r=C3=A9el?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Documente ce qui a effectivement tourné, pas ce qui était supposé. Build 1.15.2+etm3 du 2026-08-08, cross arm64, réussi. - L'exclusion DH_OPTIONS=-N nymea-energy-tests était citée pour debian-qt5/rules alors que c'est qt6 qui construit (debian -> debian-qt6, dh --buildsystem=qmake6). Vérifié avant le build : l'exclusion EST présente dans debian-qt6/rules:6, donc seule la citation était périmée. Aucun paquet nymea-energy-tests produit. - Les dépendances étaient annoncées « toutes en 1.15.0 » avec Qt5 (libqt5websockets5-dev, qtbase5-dev, qttools5-dev-tools). Le build réel utilise nymea 1.15.2+202606191336~trixie1 et Qt 6.8.2 — chaîne Qt6 de bout en bout, cohérente avec la box (aucun libqt5 installé sur .75, ldd du .so ne renvoie que du Qt6). - Ajouté : debian-qt6/changelog est un lien symbolique VERSIONNÉ vers ../debian-qt5/changelog, comme copyright et nymea-energy-tests.install.in. Il n'y a qu'un changelog réel. Sans cette note, lire les deux fichiers donne l'illusion d'une divergence — c'est l'erreur que j'ai commise et rapportée. Co-Authored-By: Claude Opus 5 (1M context) --- AGENTS.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index eef0166..801d2d4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -139,16 +139,26 @@ vers un gestionnaire d'énergie complet (EV, ECS, PAC SG-Ready, batterie). - **Hôte** : conteneur LXD `build-cross-arm64` sur `etm-powersync-dev` (amd64) - **Commande** : `dpkg-buildpackage -aarm64 -b -uc -us` dans `/root/etm-powersync-energy-plugin-etm` - **Dépendances arm64 requises** : `libnymea-dev:arm64`, `libnymea-energy-dev:arm64`, - `libnymea-tests-dev:arm64`, `nymea-experience-plugin-energy:arm64`, - `libqt5websockets5-dev:arm64`, `qtbase5-dev:arm64` — toutes en `1.15.0` -- **`lrelease`** : fourni par `qttools5-dev-tools` (amd64) — nécessaire si absent du conteneur + `libnymea-tests-dev:arm64`, `nymea-experience-plugin-energy:arm64`, `qt6-base-dev:arm64`. + **Versions constatées au build du 2026-08-08** (`1.15.2+etm3`) : nymea + `1.15.2+202606191336~trixie1`, Qt `6.8.2+dfsg-9+deb13u2` — et non `1.15.0`/Qt5 comme + l'indiquait cette section. La chaîne est **Qt6** de bout en bout, cf. ci-dessous. +- **`lrelease`** : fourni par `qt6-tools-dev-tools` — nécessaire si absent du conteneur - **Ne pas builder sur le Pi** : Zero 2 W, 512 Mo → OOM garanti ### Tests hors paquet deb - Les tests (`tests/`) ne sont **pas compilés** dans le `.deb` de prod. - `etm-powersync-energy-plugin-etm.pro` : tests sous `build_tests { SUBDIRS += tests }` uniquement. -- `debian-qt5/rules` : `DH_OPTIONS=-N nymea-energy-tests` — exclut le paquet tests de tous les outils dh. +- `debian-qt6/rules` : `DH_OPTIONS=-N nymea-energy-tests` — exclut le paquet tests de tous les + outils dh. **C'est bien qt6 qui construit** : `debian` → `debian-qt6`, dont les `rules` + portent `dh $@ --buildsystem=qmake6`. `debian-qt5/rules` (`--buildsystem=qmake`) n'est plus + la référence ; il conserve la même exclusion, plus un `override_dh_missing` absent de qt6. + Vérifié au build du 2026-08-08 : **aucun paquet `nymea-energy-tests` produit**. +- **Un seul changelog pour les deux arbres** : `debian-qt6/changelog` est un lien symbolique + versionné vers `../debian-qt5/changelog`, comme `copyright` et `nymea-energy-tests.install.in`. + Écrire dans `debian/changelog` écrit donc l'unique fichier réel. Ne pas en déduire une + divergence entre les deux arbres — il n'y en a pas. - Pour compiler les tests localement : `qmake CONFIG+=build_tests && make`. - Cause racine : `libnymea-tests:arm64` 1.15.0 n'exporte pas `enableNotifications` → link fail cross.