Suivant: Invoquer guix import
, Précédent: Invoquer guix download
, Monter: Utilitaires [Table des matières][Index]
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]