R16 — Sources, SBOM, licences et reproductibilité¶
Statut : NON EXÉCUTÉ sur matériel — T2B1 et T3B1.
Appliquer le registre commun et conserver une ligne par modèle/OS requis. Les sorties des tests hôte/émulateur restent des preuves séparées.
Préconditions¶
Commit source propre identifié, base amont/patches épinglées, environnement Linux/Nix de référence, deux sorties matérielles et revue des notices.
Étapes¶
- Reproduire les commandes de
../developer/release.mdpour construire T2B1/T3B1 depuis les sources et collecter les binaires/version/SHA256. Archiver les logs, ELF/maps et budgets flash/RAM. - Lancer
tools/ci/reproducible.sh T2B1puisT3B1sans autre build concurrent ; conserver les deux hashes de chaque modèle. Répéter sur un constructeur indépendant et comparer, ou marquer cette preuve indépendante non exécutée. - Générer le SBOM par
python3 tools/sbom.py --output dist/feuristic.spdx.json --firmware dist/*.bin, relire chaque dépendance liée et ses licences ; calculer le manifeste SHA256SUMS et vérifier chaque fichier. - Vérifier LICENSE, NOTICE, licences embarquées, sources correspondantes, références de sous-modules, série complète de patchs et scripts de build dans le paquet source. Un SBOM seul n’accomplit pas les obligations de source.
- Vérifier provenance du candidat, politique de signature/vendor et PID réel ; marquer comme bloqueurs les clés de développement publiques et PID d’essai tant que la revue stable n’est pas achevée. Sur les vrais appareils vérifier que le binaire testé est bien celui du manifeste.
- Vérifier toutes les cases de
../release-checklist.mdet les preuves de R01–R15 pour les deux modèles. Le workflow de tag crée seulement un draft pre-release ; aucune publication stable n’est déduite de ce workflow.
Résultat attendu¶
Sources complètes constructibles, hashes de firmware répétables et documentés, SBOM/empreintes/notices cohérents, provenance et statut tiers exacts ; seuls des résultats de campagne réels permettent qualification.
Preuves à conserver¶
Archives sources/licences, commit et patches hashés, logs Nix et constructeur indépendant, deux hashes par modèle, SBOM revu, manifests vérifiés, décision de campagne et matrice matérielle signée.