about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-21 Implement S3BinaryCacheStore::queryAllValidPaths()Eelco Dolstra9-54/+113
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-21 Move S3BinaryCacheStore from HydraEelco Dolstra4-2/+261
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-21 nix path-info: AddEelco Dolstra1-0/+75
Forgot to commit this earlier...
2016-04-21 nix --help: Show usage examplesEelco Dolstra3-0/+41
2016-04-21 nix --help: Show short flagsEelco Dolstra2-4/+6
2016-04-20 RemoteStore: Propagate InvalidPath exceptions from the daemonEelco Dolstra3-9/+28
2016-04-20 BinaryCacheStore: Insert new paths into the disk cacheEelco Dolstra1-0/+4
2016-04-20 Cache path info lookups in SQLiteEelco Dolstra18-36/+380
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 Dolstra21-355/+320
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 Peebles2-3/+15
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 Dolstra11-28/+52
This allows readFile() to indicate that a file doesn't exist, and might eliminate some large string copying.
2016-04-15 Unify "nix verify-paths" and "nix verify-store"Eelco Dolstra3-60/+31
"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", ...).
2016-04-14 Merge pull request #858 from Warbo/32bit-dev-shellEelco Dolstra1-1/+1
Add 32bit linux clause to dev-shell
2016-04-14 Merge pull request #844 from nathan7/arm-endiannessEelco Dolstra1-0/+2
Handle ARM triples without an endianness suffix
2016-04-14 Merge pull request #815 from vcunat/p/outputsToInstallEelco Dolstra4-7/+28
nix-env: respect meta.outputsToInstall
2016-04-14 Make $NIX_PATH parsing more robustEelco Dolstra1-5/+32
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 Make the search path lazier with non-fatal errorsEelco Dolstra5-34/+75
Thus, -I / $NIX_PATH entries are now downloaded only when they are needed for evaluation. An error to download an entry is a non-fatal warning (just like non-existant paths). This does change the semantics of builtins.nixPath, which now returns the original, rather than resulting path. E.g., before we had [ { path = "/nix/store/hgm3yxf1lrrwa3z14zpqaj5p9vs0qklk-nixexprs.tar.xz"; prefix = "nixpkgs"; } ... ] but now [ { path = "https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz"; prefix = "nixpkgs"; } ... ] Fixes #792.
2016-04-14 Add tests for restricted eval modeEelco Dolstra2-1/+19
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 Make primop registration pluggableEelco Dolstra4-3/+33
This way we don't have to put all primops in one giant file.
2016-04-14 Fix std::atomic_flag build failureEelco Dolstra1-0/+1
http://hydra.nixos.org/build/34453794
2016-04-14 install-nix-from-closure: Don't run nix-store --verifyEelco Dolstra1-5/+0
Verification is slow. Also, we really shouldn't advise users to nuke their store.
2016-04-14 Remove PDF manualEelco Dolstra2-28/+1
More spring cleaning.
2016-04-13 nix-profile test: Set USERShea Levy1-2/+3
2016-04-12 Merge branch 'patch-2' of git://github.com/wmertens/nixShea Levy1-1/+9
install-nix-from-closure improvments
2016-04-11 Remove manifest supportEelco Dolstra37-2143/+20
Manifests have been superseded by binary caches for years. This also gets rid of nix-pull, nix-generate-patches and bsdiff/bspatch.
2016-04-10 Bring nix-profile.sh in line with NixOSWout Mertens1-13/+63
Use the same logic as NixOS' profile and environment setup. Closes #414
2016-04-10 Remove information about nix-store --optimiseWout Mertens1-9/+0
2016-04-10 Always verify nix store on installwmertens1-1/+18
Just wasted a couple hours chasing shadows because the nix store got corrupted and there was no indication of that anywhere. Since an install is one-time only, might as well verify. Optimization showed that the copied files aren't read-only; fixed that as well. Also, use /bin/sh since there's a good chance that this script will be run on systems without /bin/bash
2016-04-08 Remove failed build cachingEelco Dolstra17-335/+12
This feature was implemented for Hydra, but Hydra no longer uses it.
2016-04-08 Make LocalStore thread-safeEelco Dolstra5-217/+246
Necessary for multi-threaded commands like "nix verify-paths".
2016-04-07 nix verify-paths: Add ‘--sigs-needed <N>’ flagEelco Dolstra3-16/+41
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 Dolstra2-1/+52
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 Dolstra9-3/+185
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-31 Add missing -pthreadEelco Dolstra1-1/+1
https://hydra.nixos.org/build/33908385
2016-03-30 LocalStore: Keep track of ultimately trusted pathsEelco Dolstra7-12/+51
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 Fix nix-copy-closure test on 16.03Eelco Dolstra1-1/+1
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 nix verify: Support checking against signatures in other storesEelco Dolstra1-2/+33
Typical usage is to check local paths using the signatures from a binary cache: $ nix verify-paths -r /run/current-system -s https://cache.nixos.org path ‘/nix/store/c1k4zqfb74wba5sn4yflb044gvap0x6k-nixos-system-mandark-16.03.git.fc2d7a5M’ is untrusted ... checked 844 paths, 119 untrusted
2016-03-30 HttpBinaryCacheStore: Treat 403 errors as 404Eelco Dolstra1-1/+3