Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-04-21 | Implement S3BinaryCacheStore::queryAllValidPaths() | Eelco Dolstra | 1 | -2/+2 | |
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 | Cache path info lookups in SQLite | Eelco Dolstra | 1 | -2/+0 | |
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 Store | Eelco Dolstra | 1 | -52/+47 | |
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-14 | Fix std::atomic_flag build failure | Eelco Dolstra | 1 | -0/+1 | |
http://hydra.nixos.org/build/34453794 | |||||
2016-04-08 | Remove failed build caching | Eelco Dolstra | 1 | -59/+7 | |
This feature was implemented for Hydra, but Hydra no longer uses it. | |||||
2016-04-08 | Make LocalStore thread-safe | Eelco Dolstra | 1 | -129/+136 | |
Necessary for multi-threaded commands like "nix verify-paths". | |||||
2016-04-07 | Sign locally-built paths | Eelco Dolstra | 1 | -1/+15 | |
Locally-built paths are now signed automatically using the secret keys specified by the ‘secret-key-files’ option. | |||||
2016-04-05 | Add "nix copy-sigs" command | Eelco Dolstra | 1 | -3/+19 | |
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-03-30 | LocalStore: Keep track of ultimately trusted paths | Eelco Dolstra | 1 | -8/+28 | |
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 API | Eelco Dolstra | 1 | -171/+64 | |
In particular, this eliminates a bunch of boilerplate code. | |||||
2016-03-30 | Factour out SQLite handling | Eelco Dolstra | 1 | -171/+0 | |
2016-03-30 | Turn retrying SQLite transactions into a higher-order function | Eelco Dolstra | 1 | -33/+42 | |
2016-03-22 | Don't overload dumpPath() | Eelco Dolstra | 1 | -1/+1 | |
2016-03-21 | Add Store::dumpPath() method | Eelco Dolstra | 1 | -1/+1 | |
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.12 | Eelco Dolstra | 1 | -84/+7 | |
2016-03-04 | Eliminate some large string copying | Eelco Dolstra | 1 | -4/+4 | |
2016-02-26 | importPaths(): Optionally add NARs to binary cache accessor | Eelco Dolstra | 1 | -1/+2 | |
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-24 | deletePath(): Succeed if path doesn't exist | Eelco Dolstra | 1 | -3/+3 | |
Also makes it robust against concurrent deletions. | |||||
2016-02-24 | Eliminate reserveSpace flag | Eelco Dolstra | 1 | -17/+13 | |
2016-02-24 | LocalStore::addTextToStore(): Don't read the path we just wrote | Eelco Dolstra | 1 | -3/+5 | |
This eliminates some unnecessary (presumably cached) I/O. | |||||
2016-02-17 | Fix build without sodium | Eelco Dolstra | 1 | -4/+1 | |
http://hydra.nixos.org/build/32085949 | |||||
2016-02-16 | Rename ValidPathInfo::hash -> narHash for consistency | Eelco Dolstra | 1 | -16/+16 | |
2016-02-15 | Expose the export magic value and move LocalStore::queryReferences to Store | Eelco Dolstra | 1 | -14/+3 | |
2016-02-15 | Add function to extract hash part of a store path | Eelco Dolstra | 1 | -1/+1 | |
2016-02-04 | Eliminate the "store" global variable | Eelco Dolstra | 1 | -2/+2 | |
Also, move a few free-standing functions into StoreAPI and Derivation. Also, introduce a non-nullable smart pointer, ref<T>, which is just a wrapper around std::shared_ptr ensuring that the pointer is never null. (For reference-counted values, this is better than passing a "T&", because the latter doesn't maintain the refcount. Usually, the caller will have a shared_ptr keeping the value alive, but that's not always the case, e.g., when passing a reference to a std::thread via std::bind.) | |||||
2016-01-31 | Use the daemon when we don't have write access to the Nix database | Eelco Dolstra | 1 | -1/+7 | |
2016-01-12 | Canonicalize gids to 0 | Eelco Dolstra | 1 | -2/+2 | |
Previously files in the Nix store were owned by root or by nixbld, depending on whether they were created by a substituter or by a builder. This doesn't matter much, but causes spurious diffoscope differences. So use root everywhere. | |||||
2015-12-10 | Build sandbox support etc. unconditionally on Linux | Eelco Dolstra | 1 | -7/+2 | |
Also, use "#if __APPLE__" instead of "#if SANDBOX_ENABLED" to prevent ambiguity. | |||||
2015-07-20 | nix-copy-closure: Add -v flag | Eelco Dolstra | 1 | -1/+3 | |
And make exportPath() less spammy by default. | |||||
2015-07-20 | More cleanup | Eelco Dolstra | 1 | -11/+3 | |
2015-07-17 | OCD: foreach -> C++11 ranged for | Eelco Dolstra | 1 | -73/+73 | |
2015-06-22 | Use posix_fallocate to create /nix/var/nix/db/reserved | Eelco Dolstra | 1 | -1/+11 | |
2015-05-13 | cygwin: explicitly include required c headers | Rok Garbas | 1 | -0/+1 | |
2015-04-07 | Revert /nix/store permission back to 01775 | Eelco Dolstra | 1 | -1/+1 | |
This broke NixOS VM tests. Mostly reverts 27b7b94923d2f207781b438bb7a57669bddf7d2b, 5ce50cd99e740d0d0f18c30327ae687be9356553, afa433e58c3fe6029660a43fdc2073c9d15b4210. | |||||
2015-03-25 | addToStore(): Take explicit name argument | Eelco Dolstra | 1 | -2/+2 | |
2015-01-08 | Doh^2 | Eelco Dolstra | 1 | -1/+1 | |
2015-01-08 | Doh | Eelco Dolstra | 1 | -3/+3 | |
2015-01-08 | Set /nix/store permission to 1737 | Eelco Dolstra | 1 | -4/+6 | |
I.e., not readable to the nixbld group. This improves purity a bit for non-chroot builds, because it prevents a builder from enumerating store paths (i.e. it can only access paths it knows about). | |||||
2014-12-29 | LocalStore initialization: Don't die if build-users-group doesn't exist | Shea Levy | 1 | -11/+12 | |
See NixOS/nixpkgs@9245516 | |||||
2014-12-12 | Shut up a Valgrind warning | Eelco Dolstra | 1 | -1/+1 | |
2014-12-10 | Don't wait for PID -1 | Eelco Dolstra | 1 | -1/+2 | |
The pid field can be -1 if forking the substituter process failed. | |||||
2014-11-19 | Clean up temp roots in a more C++ way | Eelco Dolstra | 1 | -0/+9 | |
2014-10-14 | Improved error message when encountering unsupported file types | Eelco Dolstra | 1 | -3/+3 | |
Fixes #269. | |||||
2014-08-20 | Use proper quotes everywhere | Eelco Dolstra | 1 | -64/+64 | |
2014-08-05 | Remove unnecessary call to addTempRoot() | Eelco Dolstra | 1 | -1/+0 | |
2014-08-01 | Make readDirectory() return inode / file type | Eelco Dolstra | 1 | -11/+9 | |
2014-07-10 | Replace message "importing path <...>" with "exporting path <...>" | Eelco Dolstra | 1 | -2/+2 | |
This causes nix-copy-closure to show what it's doing before rather than after. | |||||
2014-07-10 | Refactoring: Move all fork handling into a higher-order function | Eelco Dolstra | 1 | -25/+10 | |
C++11 lambdas ftw. | |||||
2014-07-10 | Remove maybeVfork | Eelco Dolstra | 1 | -1/+1 | |
2014-05-02 | Set up directories and permissions for multi-user install automatically | Eelco Dolstra | 1 | -1/+28 | |
This automatically creates /nix/var/nix/profiles/per-user and sets the permissions/ownership on /nix/store to 1775 and root:nixbld. |