Suivant: , Précédent: , Monter: Utilitaires   [Table des matières][Index]


9.4 Invoquer guix hash

La commande guix hash calcule le hash d’un fichier. C’est surtout un outil pour simplifier la vie des contributeur·rice·s à la distribution : elle calcule le hash cryptographique d’un ou plusieurs fichiers, qui peut être utilisé dans la définition d’ un paquet (voir Définition des paquets).

La syntaxe générale est :

guix hash option fichier

Lorsque fichier est - (un tiret), guix hash calcul le hash des données lues depuis l’entrée standard. guix hash a les options suivantes :

--hash=algorithme
-H algorithme

Calcule un hash en utilisant l’ algorithme spécifié, sha256 par défaut.

algorithm doit être le nom de l’ algorithme d’un hash cryptographique supporté par Libgcrypt via Guile-Gcrypt—par exemple, sha512 ou sha3-256 (voir Hash Functions dans Guile-Gcrypt Reference Manual).

--format=fmt
-f fmt

Écrit le hash dans le format spécifié par fmt.

Formats supportés : base64, nix-base32, base32, base16 (hex et hexadecimal peuvent être utilisés).

Si l’option --format n’est pas spécifiée, guix hash affichera le hash en nix-base32. Cette représentation est utilisée dans les définitions des paquets.

--recursive
-r

L’option --recursive est obsolète et remplacée par --serializer=nar (voir plus bas) ; -r reste accepté car c’est un raccourci pratique.

--serializer=type
-S type

Calcule le hash sur fichier avec la sérialisation type.

type peut être l’une des valeurs suivantes :

none

C’est la valeur par défaut : elle calcule le hash du contenu d’un fichier.

nar

Calcul le hash d’une « archive normalisée » (ou « nar ») contenant fichier, dont ses enfants si c’est un répertoire. Certaines métadonnées de fichier fait partie de l’archive ; par exemple lorsque fichier est un fichier normal, le hash est différent que le fichier soit exécutable ou non. Les métadonnées comme un horodatage n’ont aucun impact sur le hash (voir Invoquer guix archive pour plus de détails sur le format nar).

git

Calcule le hash d’un fichier ou d’un répertoire comme une arborescence Git, suivant la même méthode que le système de contrôle de version Git.

--exclude-vcs
-x

Conjointement avec --recursive, exclut les répertoires de système de contrôle de version (.bzr, .git, .hg, etc.).

Par exemple, voici comment calculer le hash d’un dépôt Git, ce qui est utile avec la méthode git-fetch (voir Référence de origin) :

$ git clone http://example.org/toto.git
$ cd toto
$ guix hash -x --serializer=nar .

Suivant: Invoquer guix import, Précédent: Invoquer guix download, Monter: Utilitaires   [Table des matières][Index]