Aller au contenu

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

  1. Reproduire les commandes de ../developer/release.md pour construire T2B1/T3B1 depuis les sources et collecter les binaires/version/SHA256. Archiver les logs, ELF/maps et budgets flash/RAM.
  2. Lancer tools/ci/reproducible.sh T2B1 puis T3B1 sans 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.
  3. 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.
  4. 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.
  5. 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.
  6. Vérifier toutes les cases de ../release-checklist.md et 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.