about summary refs log tree commit diff
path: root/src/libstore
AgeCommit message (Collapse)AuthorFilesLines
2016-04-20 Cache path info lookups in SQLiteEelco Dolstra14-29/+328
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-19 Move path info caching from BinaryCacheStore to StoreEelco Dolstra12-272/+232
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-16 Print out all bad references/requisites at onceDan Peebles1-2/+13
Also updates tests to check for new information. Fixes #799
2016-04-15 Make the .narinfo cache biggerEelco Dolstra1-1/+1
2016-04-15 BinaryCacheStore: Do negative caching of .narinfo lookupsEelco Dolstra2-3/+12
2016-04-15 BinaryCacheStore::readFile(): Return a shared_ptr to a stringEelco Dolstra8-22/+44
This allows readFile() to indicate that a file doesn't exist, and might eliminate some large string copying.
2016-04-14 Support channel:<channel-name> URIsEelco Dolstra1-5/+14
For convenience, you can now say $ nix-env -f channel:nixos-16.03 -iA hello instead of $ nix-env -f https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz -iA hello Similarly, $ nix-shell -I channel:nixpkgs-unstable -p hello $ nix-build channel:nixos-15.09 -A hello Abstracting over the NixOS/Nixpkgs channels location also allows us to use a more efficient transport (e.g. Git) in the future.
2016-04-14 Set RLIMIT_CORE to 0, infinity in buildersEelco Dolstra1-0/+7
This prevents the builder from being affected by whatever the host system limits happen to be.
2016-04-14 Fix std::atomic_flag build failureEelco Dolstra1-0/+1
http://hydra.nixos.org/build/34453794
2016-04-11 Remove manifest supportEelco Dolstra1-1/+0
Manifests have been superseded by binary caches for years. This also gets rid of nix-pull, nix-generate-patches and bsdiff/bspatch.
2016-04-08 Remove failed build cachingEelco Dolstra10-161/+11
This feature was implemented for Hydra, but Hydra no longer uses it.
2016-04-08 Make LocalStore thread-safeEelco Dolstra4-214/+243
Necessary for multi-threaded commands like "nix verify-paths".
2016-04-07 nix verify-paths: Add ‘--sigs-needed <N>’ flagEelco Dolstra2-1/+10
This specifies the number of distinct signatures required to consider each path "trusted". Also renamed ‘--no-sigs’ to ‘--no-trust’ for the flag that disables verifying whether a path is trusted (since a path can also be trusted if it has no signatures, but was built locally).
2016-04-07 Use secret-key-files for verifyingEelco Dolstra1-1/+14
2016-04-07 Sign locally-built pathsEelco Dolstra3-1/+24
Locally-built paths are now signed automatically using the secret keys specified by the ‘secret-key-files’ option.
2016-04-06 Fix "tar: This does not look like a tar archive" with fetchTarball / -I http://Eelco Dolstra1-2/+1
The 304 Not Modified was not handled correctly, so the empty result from the conditional request would overwrite the previous tarball.
2016-04-05 Add "nix sign-paths" commandEelco Dolstra1-0/+3
E.g. $ nix sign-paths -k ./secret -r $(type -p geeqie) signs geeqie and all its dependencies using the key in ./secret.
2016-04-05 Add "nix copy-sigs" commandEelco Dolstra7-3/+40
This imports signatures from one store into another. E.g. $ nix copy-sigs -r /run/current-system -s https://cache.nixos.org/ imported 595 signatures
2016-04-05 Probably fix SQLITE_BUSY errorsEelco Dolstra2-0/+7
2016-04-04 throwSQLiteError(): Check for SIGINT so we don't loop foreverEelco Dolstra1-0/+1
2016-03-30 LocalStore: Keep track of ultimately trusted pathsEelco Dolstra6-12/+47
These are content-addressed paths or outputs of locally performed builds. They are trusted even if they don't have signatures, so "nix verify-paths" won't complain about them.
2016-03-30 Improve the SQLite wrapper APIEelco Dolstra5-224/+157
In particular, this eliminates a bunch of boilerplate code.
2016-03-30 Factour out SQLite handlingEelco Dolstra4-204/+224
2016-03-30 Turn retrying SQLite transactions into a higher-order functionEelco Dolstra1-33/+42
2016-03-30 HttpBinaryCacheStore: Treat 403 errors as 404Eelco Dolstra1-1/+3
2016-03-30 CurlDownloader: Fix HTTP error processingEelco Dolstra1-1/+0
2016-03-29 Add "nix verify-paths" commandEelco Dolstra2-0/+14
Unlike "nix-store --verify-path", this command verifies signatures in addition to store path contents, is multi-threaded (especially useful when verifying binary caches), and has a progress indicator. Example use: $ nix verify-paths --store https://cache.nixos.org -r $(type -p thunderbird) ... [17/132 checked] checking ‘/nix/store/rawakphadqrqxr6zri2rmnxh03gqkrl3-autogen-5.18.6’
2016-03-24 Move signature support from NarInfo to ValidPathInfoEelco Dolstra4-39/+43
2016-03-24 TyposEelco Dolstra1-2/+2
2016-03-24 HttpBinaryCacheStore: Make thread-safeEelco Dolstra1-2/+6
2016-03-23 Drop support for daemon socket path >= 108 charactersEelco Dolstra1-15/+3
Doing a chdir() is a bad idea in multi-threaded programs, leading to failures such as error: cannot connect to daemon at ‘/nix/var/nix/daemon-socket/socket’: No such file or directory Since Linux doesn't have a connectat() syscall like FreeBSD, there is no way we can support this in a race-free way.
2016-03-23 LocalStoreAccessor::stat: Handle ENOTDIREelco Dolstra1-1/+1
Closes https://github.com/NixOS/hydra/pull/286.
2016-03-22 Don't overload dumpPath()Eelco Dolstra6-10/+12
2016-03-21 Move signatures from NarInfo to ValidPathInfoEelco Dolstra4-11/+21
This allows queryPathInfo() to return signatures.
2016-03-21 Add Store::dumpPath() methodEelco Dolstra6-6/+26
This allows applying nix-store --verify-path to binary cache stores: NIX_REMOTE=https://cache.nixos.org nix-store --verify-path /nix/store/s5c7...
2016-03-21 Drop support for upgrading from Nix <= 0.12Eelco Dolstra1-84/+7
2016-03-15 Fix Darwin buildEelco Dolstra4-4/+6
http://hydra.nixos.org/build/33279996
2016-03-14 Fix another mismatched tagEelco Dolstra1-1/+1
http://hydra.nixos.org/build/33279570
2016-03-14 BinaryCacheStore::isValidPath(): Use .narinfo cacheEelco Dolstra1-0/+9
If a path is in the .narinfo cache, obviously it's valid.
2016-03-04 Add option binary-cache-secret-key-file for signing binary cachesEelco Dolstra2-2/+4
2016-03-04 BinaryCacheStore: Remove publicKeyFile argumentEelco Dolstra7-25/+39
The public key can be derived from the secret key, so there's no need for the user to supply it separately.
2016-03-04 Eliminate some large string copyingEelco Dolstra3-20/+20
2016-03-04 Merge branch 'new-cli'Eelco Dolstra3-3/+92
2016-03-03 Add file missing from 201b48de60751979835037a4b4f78128ba3fb7b3Eelco Dolstra1-0/+76
2016-03-03 build.cc: fs.h doesn't appear to be necessary anymoreNathan Zadoks1-1/+0
2016-03-02 Provide function required by HydraEelco Dolstra2-3/+16
2016-03-02 Add an HTTP binary cache storeEelco Dolstra3-55/+96
Allowing stuff like NIX_REMOTE=https://cache.nixos.org nix-store -qR /nix/store/x1p1gl3a4kkz5ci0nfbayjqlqmczp1kq-geeqie-1.1 or NIX_REMOTE=https://cache.nixos.org nix-store --export /nix/store/x1p1gl3a4kkz5ci0nfbayjqlqmczp1kq-geeqie-1.1 | nix-store --import
2016-03-02 Eliminate local-binary-cache-store.hhEelco Dolstra2-32/+25
2016-03-02 Make store implementations pluggableEelco Dolstra3-19/+50
This for instance allows hydra-queue-runner to add the S3 backend at runtime.
2016-03-02 Remove bad assertionEelco Dolstra1-1/+0