Expand description
Commandes de cycle de vie : update, upgrade, uninstall.
Le module racine regroupe les helpers purs et testables (cible,
comparaison de versions, noms d’assets, vérification SHA-256, gestion du bloc
.bashrc). Les effets de bord (réseau, système de fichiers) vivent dans les
sous-modules :
github: interrogation de l’API GitHub Releases ;update: « y a-t-il une nouvelle version ? » (aucune installation) ;upgrade: téléchargement + vérification + remplacement du binaire ;signature: vérification optionnelle des signatures Sigstore (cosign) ;uninstall: retrait du binaire / bloc.bashrc, purge optionnelle.
Sécurité : HTTPS par défaut, SHA-256 obligatoire avant toute extraction,
aucune exécution de script distant. Les données (history.db, config.toml,
sauvegardes) ne sont jamais touchées par upgrade, et seulement par
uninstall --purge après confirmation et sauvegarde.
Modules§
- github
- Interrogation de l’API GitHub Releases.
- signature
- Vérification optionnelle des signatures Sigstore (
cosign) des assets de release. - uninstall
mnemo uninstall: retire le binaire et l’intégration shell ; conserve les données par défaut.--purgesupprime aussi config, base et sauvegardes, après sauvegarde et confirmation explicite.- update
mnemo update: vérifie la disponibilité d’une nouvelle version. Par défaut, n’installe rien ; en terminal interactif, propose d’enchaînermnemo upgrade, et l’option--upgradelance directement l’installation.- upgrade
mnemo upgrade: télécharge la dernière release (ou une version donnée), vérifie son intégrité SHA-256, sauvegarde les données puis remplace le binaire de façon atomique.
Functions§
- asset_
names_ for_ version - Noms des assets de release pour un tag et une cible donnés :
(archive .tar.gz, fichier .sha256). - compare_
versions - Compare deux versions sémantiques simples (
vX.Y.Z). Les versions illisibles sont considérées « égales » (prudence : pas de fausse mise à jour). - current_
version - Version courante du binaire, préfixée par
v(ex.v0.5.0). - normalize_
tag - Garantit le préfixe
vsur un tag (0.5.0->v0.5.0,v0.5.0inchangé). - parse_
sha256_ file - Extrait la somme hexadécimale d’un fichier
.sha256au formatsha256sum("<hex> <nom de fichier>"), ou d’une ligne ne contenant que le hex. - parse_
version - Découpe une version
vX.Y.Z(suffixe de pré-release ignoré) en triplet numérique. RenvoieNonesi le format est inexploitable. - sha256_
hex - Calcule la somme SHA-256 d’un contenu et la rend en hexadécimal minuscule.
- target_
triple - Triplet cible utilisé pour nommer les assets de release.
- update_
available - Vrai si
latestest strictement plus récent quecurrent. - verify_
sha256 - Vérifie que
datacorrespond à la somme attendue (hex, casse ignorée).