Next: Invoking guix import, Previous: Invoking guix download, Up: Utilities [Contents][Index]
guix hashThe guix hash command computes the hash of a file.
It is primarily a convenience tool for anyone contributing to the
distribution: it computes the cryptographic hash of a file, which can be
used in the definition of a package (see Defining Packages).
The general syntax is:
guix hash option file
When file is - (a hyphen), guix hash computes the
hash of data read from standard input. guix hash has the
following options:
--hash=algorithm-H algorithmCompute a hash using the specified algorithm, sha256 by
default.
algorithm must the name of a cryptographic hash algorithm
supported by Libgcrypt via Guile-Gcrypt—e.g., sha512 or
sha3-256 (see Hash Functions in Guile-Gcrypt
Reference Manual).
--format=fmt-f fmtWrite the hash in the format specified by fmt.
Supported formats: base64, nix-base32, base32, base16
(hex and hexadecimal can be used as well).
If the --format option is not specified, guix hash
will output the hash in nix-base32. This representation is used
in the definitions of packages.
--recursive-rCompute the hash on file recursively.
In this case, the hash is computed on an archive containing file, including its children if it is a directory. Some of the metadata of file is part of the archive; for instance, when file is a regular file, the hash is different depending on whether file is executable or not. Metadata such as time stamps has no impact on the hash (see Invoking guix archive).
--exclude-vcs-xWhen combined with --recursive, exclude version control system directories (.bzr, .git, .hg, etc.).
As an example, here is how you would compute the hash of a Git checkout,
which is useful when using the git-fetch method (see origin Reference):
$ git clone http://example.org/foo.git $ cd foo $ guix hash -rx .
Next: Invoking guix import, Previous: Invoking guix download, Up: Utilities [Contents][Index]