about summary refs log tree commit diff
path: root/src/libstore/binary-cache-store.cc
AgeCommit message (Collapse)AuthorFilesLines
2016-04-29 BinaryCacheStore::queryPathInfo: Don't check signaturesEelco Dolstra1-9/+1
Other stores don't do this either. It's up to the caller to check signatures.
2016-04-28 Fix error messageEelco Dolstra1-1/+1
2016-04-22 BinaryCacheStore: When adding a path, ensure the references are validEelco Dolstra1-0/+11
This prevents copying a partial closure to a binary cache.
2016-04-21 Implement S3BinaryCacheStore::queryAllValidPaths()Eelco Dolstra1-4/+4
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-20 BinaryCacheStore: Insert new paths into the disk cacheEelco Dolstra1-0/+4
2016-04-20 Cache path info lookups in SQLiteEelco Dolstra1-2/+1
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 Dolstra1-80/+38
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-15 BinaryCacheStore: Do negative caching of .narinfo lookupsEelco Dolstra1-2/+10
2016-04-15 BinaryCacheStore::readFile(): Return a shared_ptr to a stringEelco Dolstra1-7/+12
This allows readFile() to indicate that a file doesn't exist, and might eliminate some large string copying.
2016-03-22 Don't overload dumpPath()Eelco Dolstra1-3/+3
2016-03-21 Move signatures from NarInfo to ValidPathInfoEelco Dolstra1-2/+2
This allows queryPathInfo() to return signatures.
2016-03-21 Add Store::dumpPath() methodEelco Dolstra1-4/+11
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-14 BinaryCacheStore::isValidPath(): Use .narinfo cacheEelco Dolstra1-0/+9
If a path is in the .narinfo cache, obviously it's valid.
2016-03-04 BinaryCacheStore: Remove publicKeyFile argumentEelco Dolstra1-6/+3
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 Dolstra1-13/+13
2016-02-26 importPaths(): Optionally add NARs to binary cache accessorEelco Dolstra1-30/+36
This enables an optimisation in hydra-queue-runner, preventing a download of a NAR it just uploaded to the cache when reading files like hydra-build-products.
2016-02-25 Add NAR / Store accessor abstractionEelco Dolstra1-4/+76
This is primary to allow hydra-queue-runner to extract files like "nix-support/hydra-build-products" from NARs in binary caches.
2016-02-24 BinaryCacheStore: Implement addToStore()Eelco Dolstra1-0/+50
So now you can do $ NIX_REMOTE=file:///tmp/binary-cache nix-instantiate '<nixpkgs>' -A hello and lots of other operations.
2016-02-24 Show a proper error message for unimplemented binary cache operationsEelco Dolstra1-0/+5
2016-02-24 Move BinaryCacheStore / LocalBinaryCacheStore from HydraEelco Dolstra1-0/+292
So you can now do: $ NIX_REMOTE=file:///tmp/binary-cache nix-store -qR /nix/store/...