aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-05-04Cleanup: Remove singleton()Eelco Dolstra
2016-05-04Do compression in a sinkEelco Dolstra
2016-05-04More GC fixesEelco Dolstra
2016-05-04Add a Store::addToStore() variant that accepts a NAREelco Dolstra
As a side effect, this ensures that signatures are propagated when copying paths between stores. Also refactored import/export to make use of this.
2016-05-04nix-daemon: Fix queryPathInfo() backward compatibilityEelco Dolstra
2016-05-04Fix segfault in xz compression/decompressionEelco Dolstra
2016-05-04Remove OpenSSL-based signingEelco Dolstra
2016-05-04Add a copyStorePath() utility functionEelco Dolstra
2016-04-29Support Git repos in the Nix pathEelco Dolstra
E.g. $ nix-build -I nixpkgs=git://github.com/NixOS/nixpkgs '<nixpkgs>' -A hello This is not extremely useful yet because you can't specify a branch/revision.
2016-04-29Add fetchgit builtinEelco Dolstra
The function builtins.fetchgit fetches Git repositories at evaluation time, similar to builtins.fetchTarball. (Perhaps the name should be changed, being confusing with respect to Nixpkgs's fetchgit function, with works at build time.) Example: (import (builtins.fetchgit git://github.com/NixOS/nixpkgs) {}).hello or (import (builtins.fetchgit { url = git://github.com/NixOS/nixpkgs-channels; rev = "nixos-16.03"; }) {}).hello Note that the result does not contain a .git directory.
2016-04-29nix-store -l: Simplify implementationEelco Dolstra
2016-04-29BinaryCacheStore: Support bzip2 compressionEelco Dolstra
2016-04-29nix verify --all: Support local binary cachesEelco Dolstra
2016-04-29Better error messageEelco Dolstra
2016-04-29BinaryCacheStore: Support "none" compression methodEelco Dolstra
2016-04-29BinaryCacheStore: Make the signing key a parameterEelco Dolstra
2016-04-29BinaryCacheStore::queryPathInfo: Don't check signaturesEelco Dolstra
Other stores don't do this either. It's up to the caller to check signatures.
2016-04-29Allow parameters in store URIsEelco Dolstra
This is to allow store-specific configuration, e.g. s3://my-cache?compression=bzip2&secret-key=/path/to/key.
2016-04-29Eliminate the substituter mechanismEelco Dolstra
Substitution is now simply a Store -> Store copy operation, most typically from BinaryCacheStore to LocalStore.
2016-04-28Really handle carriage returnEelco Dolstra
2016-04-28Fix error messageEelco Dolstra
2016-04-25Handle carriage returnEelco Dolstra
2016-04-25nix: Disable verbose buildsEelco Dolstra
2016-04-25Show the log tail when a build failsEelco Dolstra
If --no-build-output is given (which will become the default for the "nix" command at least), show the last 10 lines of the build output if the build fails.
2016-04-25Remove --print-build-traceEelco Dolstra
This was added to support Hydra, but Hydra no longer uses it.
2016-04-25Fix "path is not in the Nix store" during GCEelco Dolstra
2016-04-25Remove nix-log2xmlEelco Dolstra
2016-04-25Improved logging abstractionEelco Dolstra
This also gets rid of --log-type, since the nested log type isn't useful in a multi-threaded situation, and nobody cares about the "pretty" log type.
2016-04-22Factor out parallel processing of work items that have dependenciesEelco Dolstra
2016-04-22nix copy: ParalleliseEelco Dolstra
2016-04-22ThreadPool: Start doing work as soon as work items are enqueuedEelco Dolstra
2016-04-22Make compression interruptibleEelco Dolstra
2016-04-22Fold "nix query-path-sigs" into "nix path-info"Eelco Dolstra
2016-04-22Add "nix copy" commandEelco Dolstra
This replaces nix-push. For example, $ nix copy --to file:///tmp/cache -r $(type -p firefox) copies the closure of firefox to the specified binary cache. And $ nix copy --from file:///tmp/cache --to s3://my-cache /nix/store/abcd... copies between two binary caches. It will also replace nix-copy-closure, once we have an SSHStore class, e.g. $ nix copy --from ssh://alice@machine /nix/store/abcd...
2016-04-22BinaryCacheStore: When adding a path, ensure the references are validEelco Dolstra
This prevents copying a partial closure to a binary cache.
2016-04-21Fix test failuresEelco Dolstra
2016-04-21Implement S3BinaryCacheStore::queryAllValidPaths()Eelco Dolstra
This allows commands like "nix verify --all" or "nix path-info --all" to work on S3 caches. Unfortunately, this requires some ugly hackery: when querying the contents of the bucket, we don't want to have to read every .narinfo file. But the S3 bucket keys only include the hash part of each store path, not the name part. So as a special exception queryAllValidPaths() can now return store paths *without* the name part, and queryPathInfo() accepts such store paths (returning a ValidPathInfo object containing the full name).
2016-04-21Move S3BinaryCacheStore from HydraEelco Dolstra
This allows running arbitrary Nix commands against an S3 binary cache. To do: make this a compile time option to prevent a dependency on aws-sdk-cpp.
2016-04-21nix path-info: AddEelco Dolstra
Forgot to commit this earlier...
2016-04-21nix --help: Show usage examplesEelco Dolstra
2016-04-21nix --help: Show short flagsEelco Dolstra
2016-04-20RemoteStore: Propagate InvalidPath exceptions from the daemonEelco Dolstra
2016-04-20BinaryCacheStore: Insert new paths into the disk cacheEelco Dolstra
2016-04-20Cache path info lookups in SQLiteEelco Dolstra
This re-implements the binary cache database in C++, allowing it to be used by other Store backends, in particular the S3 backend.
2016-04-19Move path info caching from BinaryCacheStore to StoreEelco Dolstra
Caching path info is generally useful. For instance, it speeds up "nix path-info -rS /run/current-system" (i.e. showing the closure sizes of all paths in the closure of the current system) from 5.6s to 0.15s. This also eliminates some APIs like Store::queryDeriver() and Store::queryReferences().
2016-04-16Print out all bad references/requisites at onceDan Peebles
Also updates tests to check for new information. Fixes #799
2016-04-15Make the .narinfo cache biggerEelco Dolstra
2016-04-15BinaryCacheStore: Do negative caching of .narinfo lookupsEelco Dolstra
2016-04-15BinaryCacheStore::readFile(): Return a shared_ptr to a stringEelco Dolstra
This allows readFile() to indicate that a file doesn't exist, and might eliminate some large string copying.
2016-04-15Unify "nix verify-paths" and "nix verify-store"Eelco Dolstra
"verify-store" is now simply an "--all" flag to "nix verify". This flag can be used for any other store path command as well (e.g. "nix path-info", "nix copy-sigs", ...).