From 3afef0436d8fd3232314ec21eca998ac93c56fad Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Thu, 25 Jun 2026 14:50:40 +0200 Subject: [PATCH] [packaging] renommage powersync-* + version 1.15.0+etm1 + invariants AGENTS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - debian/control : Source+Package → powersync-energy-plugin-nymea ; Provides/Conflicts/Replaces: nymea-energy-plugin-nymea (remplace l'amont) ; description + homepage ETM. - debian/changelog : nouvelle entrée tête powersync-energy-plugin-nymea (1.15.0+etm1) trixie — plus de 1.13.0/jammy comme version courante. - debian/nymea-energy-plugin-nymea.install.in → powersync-energy-plugin-nymea.install.in (déjà commité via git mv). - AGENTS.md : section "INVARIANTS BUILD / PACKAGING" (nom powersync-*, version +etmN, cross arm64, tests hors deb, vérification post-build). Co-Authored-By: Claude Sonnet 4.6 --- AGENTS.md | 40 +++++++++++++++++++ debian-qt5/changelog | 11 +++++ debian-qt5/control | 18 ++++++--- ... powersync-energy-plugin-nymea.install.in} | 0 4 files changed, 63 insertions(+), 6 deletions(-) rename debian-qt5/{nymea-energy-plugin-nymea.install.in => powersync-energy-plugin-nymea.install.in} (100%) diff --git a/AGENTS.md b/AGENTS.md index bb7a63b..25a595e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -101,6 +101,46 @@ vers un gestionnaire d'énergie complet (EV, ECS, PAC SG-Ready, batterie). --- +## INVARIANTS BUILD / PACKAGING (ne pas re-questionner) + +### Nom et version du paquet Debian + +| Champ | Valeur | Raison | +|---|---|---| +| **Source / Package** | `powersync-energy-plugin-nymea` | Fork ETM, distingué de l'amont `nymea-energy-plugin-nymea` | +| **Version** | `1.15.0+etmN` (N incrémenté à chaque release) | Aligné sur `libnymea-energy` cible (`1.15.0`). Jamais `1.13.x`. | +| **Distribution** | `trixie` | OS cible hems (arm64 Debian 13 Trixie) | +| **Provides/Conflicts/Replaces** | `nymea-energy-plugin-nymea` | Permet de remplacer le plugin amont sans désinstallation manuelle | +| **TARGET `.so`** | `libnymea_energypluginnymea.so` | Inchangé (nom de chargement nymea fixé par l'amont) | + +### Build cross arm64 + +- **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 +- **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. +- 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. + +### Vérification post-build obligatoire + +```bash +dpkg-deb -I powersync-energy-plugin-nymea_*.deb | grep -E "Architecture|Version|Depends" +# Attendu : Architecture: arm64 ; Version: 1.15.0+etm* ; Depends: libnymea-energy (>= 1.15.0...) +# PAS de >= 1.15.2 dans Depends → sinon rebuild contre la bonne version des -dev:arm64 +``` + +--- + ## PLAN 3C (validé, morceaux 0-2 déjà compilés) Plan approuvé par Patrick. Corrections A (double déduction EV) et B (anti-clignotement ECS) diff --git a/debian-qt5/changelog b/debian-qt5/changelog index 91a4070..2a341aa 100644 --- a/debian-qt5/changelog +++ b/debian-qt5/changelog @@ -1,3 +1,14 @@ +powersync-energy-plugin-nymea (1.15.0+etm1) trixie; urgency=medium + + * Renommage paquet powersync-* + version 1.15.0 alignée sur libnymea-energy cible hems + * EnergyArbitrator : waterfall ECS+PAC, RuleBasedScheduler, watchdog L2 + * EcsRelayAdapter : 8 paliers binaires, off-before-on, verrous minOn/minOff + * SgReadyAdapter : 4 états SG-Ready, hystérésis kForceMargin=1.2, zone morte + * §1.d banc hems : enregistrement EcsRelayAdapter+SgReadyAdapter dans init() + * Build deb : tests exclus (CONFIG+=build_tests requis séparément) + + -- Patrick Schurig / ETM PowerSync Wed, 25 Jun 2026 12:00:00 +0200 + nymea-energy-plugin-nymea (1.13.0+etm1) jammy; urgency=medium * Fork ETM PowerSync de nymea-energy-plugin-nymea diff --git a/debian-qt5/control b/debian-qt5/control index 2c9d947..009d5fb 100644 --- a/debian-qt5/control +++ b/debian-qt5/control @@ -1,9 +1,9 @@ -Source: nymea-energy-plugin-nymea +Source: powersync-energy-plugin-nymea Section: utils Priority: optional Maintainer: Patrick Schurig / ETM PowerSync Standards-Version: 4.6.0 -Homepage: https://nymea.io +Homepage: https://git.etm-powersync.fr/ETM-Schurig/etm-powersync-energy-plugin-etm Build-Depends: debhelper (>= 9.0.0), dpkg-dev (>= 1.16.1~), libnymea-dev (>= 0.17), @@ -18,16 +18,21 @@ Build-Depends: debhelper (>= 9.0.0), gnuplot, -Package: nymea-energy-plugin-nymea +Package: powersync-energy-plugin-nymea Section: libs Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, nymea-experience-plugin-energy, -Description: nymea energy plugin for the energy experience - This nymea energy plugin adds the smart smart charging and overload protection - to the nymea energy experience. +Provides: nymea-energy-plugin-nymea +Conflicts: nymea-energy-plugin-nymea +Replaces: nymea-energy-plugin-nymea +Description: ETM PowerSync energy plugin for nymea (fork) + Fork ETM PowerSync de nymea-energy-plugin-nymea. Ajoute un arbitrage multi-charges + (ECS paliers, SG-Ready PAC, EV, batterie) avec waterfall unifié par priorité, + anti-clignotement (recrédit correction B), watchdog L2 compteur muet, et + mode dégradé conservateur. Package: nymea-energy-tests @@ -37,3 +42,4 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, Description: Tests and simulations for nymea:energy + Built separately with CONFIG+=build_tests ; not included in prod deb builds. diff --git a/debian-qt5/nymea-energy-plugin-nymea.install.in b/debian-qt5/powersync-energy-plugin-nymea.install.in similarity index 100% rename from debian-qt5/nymea-energy-plugin-nymea.install.in rename to debian-qt5/powersync-energy-plugin-nymea.install.in