about summary refs log tree commit diff
path: root/src/nix-hash
AgeCommit message (Collapse)AuthorFilesLines
2005-07-22 * Build dynamic libraries.Eelco Dolstra1-2/+2
2005-01-17 * Removed the `id' attribute hack.Eelco Dolstra2-7/+12
* Formalise the notion of fixed-output derivations, i.e., derivations for which a cryptographic hash of the output is known in advance. Changes to such derivations should not propagate upwards through the dependency graph. Previously this was done by specifying the hash component of the output path through the `id' attribute, but this is insecure since you can lie about it (i.e., you can specify any hash and then produce a completely different output). Now the responsibility for checking the output is moved from the builder to Nix itself. A fixed-output derivation can be created by specifying the `outputHash' and `outputHashAlgo' attributes, the latter taking values `md5', `sha1', and `sha256', and the former specifying the actual hash in hexadecimal or in base-32 (auto-detected by looking at the length of the attribute value). MD5 is included for compatibility but should be considered deprecated. * Removed the `drvPath' pseudo-attribute in derivation results. It's no longer necessary. * Cleaned up the support for multiple output paths in derivation store expressions. Each output now has a unique identifier (e.g., `out', `devel', `docs'). Previously there was no way to tell output paths apart at the store expression level. * `nix-hash' now has a flag `--base32' to specify that the hash should be printed in base-32 notation. * `fetchurl' accepts parameters `sha256' and `sha1' in addition to `md5'. * `nix-prefetch-url' now prints out a SHA-1 hash in base-32. (TODO: a flag to specify the hash.)
2005-01-14 * Shorten SHA-256 hashes used in store path name generation to 160Eelco Dolstra1-2/+2
bits, then encode them in a radix-32 representation (using digits and letters except e, o, u, and t). This produces store paths like /nix/store/4i0zb0z7f88mwghjirkz702a71dcfivn-aterm-2.3.1. The nice thing about this is that the hash part of the file name is still 32 characters, as before with MD5. (Of course, shortening SHA-256 to 160 bits makes it no better than SHA-160 in theory, but hopefully it's a bit more resistant to attacks; it's certainly a lot slower.)
2005-01-14 * Add SHA-256.Eelco Dolstra1-0/+1
* Tests for the various hashes.
2005-01-13 * Added SHA-1 support. `nix-hash' now has an option `--type sha1' toEelco Dolstra1-2/+13
select SHA-1 hashing.
2004-02-16 * Allow linking against an external Berkeley DB / ATerm library.Eelco Dolstra1-1/+1
2004-02-10 * Lots of manual stuff. Reference pages for most Nix commands.Eelco Dolstra1-1/+1
* nix-pull now requires the full url to the manifest, i.e., `/MANIFEST/' is no longer automatically appended. * nix-prefetch-url works again.
2003-12-02 * Add missing files to `make dist'.Eelco Dolstra1-1/+1
2003-12-01 * Help text for all (non-script) programs, so no more:Eelco Dolstra3-0/+18
$ nix-instantiate --help error: unknown flag `--help` Try `nix-instantiate --help' for more information. :-)
2003-11-18 * libnix -> libstore.Eelco Dolstra1-2/+2
2003-11-18 * Source tree refactoring.Eelco Dolstra1-3/+3
2003-10-20 * Finished refactoring the tree.Eelco Dolstra1-0/+8
2003-10-20 * Refactored the source tree.Eelco Dolstra1-0/+20