aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-06-24Make CA derivations compatible with recursive Nixregnat
Add an access-control list to the realisations in recursive-nix (similar to the already existing one for store paths), so that we can build content-addressed derivations in the restricted store. Fix #4353
2021-06-23Merge pull request #4839 from NixOS/ca/gracefully-handle-duplicate-realisationsEelco Dolstra
Gracefully handle duplicate realisations
2021-06-23Merge pull request #4908 from NixOS/ca/fix-nix-developEelco Dolstra
Make `nix develop` work with CA derivations
2021-06-23Assert that compatible realisations have the same dependenciesregnat
Should always hold, but that’s not necessarily obvious, so better enforce it
2021-06-23Display the diverging paths in case of a realisation mismatchregnat
2021-06-23Fix indentationregnat
2021-06-23Gracefully ignore a substituter if it holds an incompatible realisationregnat
2021-06-23Properly fail when trying to register an incoherent realisationregnat
2021-06-23Merge pull request #4842 from NixOS/ca/fix-nix-shellEelco Dolstra
Make `nix-shell` support content-addressed derivations
2021-06-23Merge pull request #4838 from NixOS/ca/recursively-substitute-realisationsEelco Dolstra
Recursively substitute the realisations
2021-06-23Merge pull request #4906 from NixOS/collect-garbage-caEelco Dolstra
Make `computeFSClosure` ca-aware
2021-06-23Merge pull request #4905 from NixOS/ca-derivations-machine-featureEelco Dolstra
Add a ca-derivations required machine feature
2021-06-23Merge pull request #4926 from NixOS/ca/build-remote-signal-6Eelco Dolstra
Fix the remote build of CA derivations
2021-06-23Merge pull request #4836 from NixOS/ca/track-drvoutput-dependencies-2-le-retourEelco Dolstra
Track the dependencies of CA realisations
2021-06-23Fix indentationregnat
2021-06-23Reformat the sql statementsregnat
2021-06-23Remove a useless string splitThéophane Hufschmitt
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2021-06-23Pass more values by referenceThéophane Hufschmitt
Rather than copying them around everywhere Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2021-06-22nix-shell: Replace resolving failure error by an assertionregnat
This shouldn’t happen in practice, so better make it explicit
2021-06-21Shorten a stupidly long sql query nameregnat
2021-06-21Merge pull request #4833 from NixOS/ca/json-realisations-in-worker-protocolEelco Dolstra
Always send the realisations as JSON
2021-06-21Merge pull request #4928 from NixOS/ca/remove-existing-invalid-store-pathEelco Dolstra
Remove a possible existing store path when building CA derivations
2021-06-21Properly set the output env variablesThéophane Hufschmitt
Co-authored-by: John Ericson <git@JohnEricson.me>
2021-06-21Only symlink the requested outputs in `nix build`regnat
Fix #4925
2021-06-21Remove a possible existing store path when building CA derivationsregnat
In case a previous interrupted build left a garbage path laying around, remove it before trying to move the path to its final location. Fix #4858
2021-06-21Fix the remote build of CA derivationsregnat
Make sure that the derivation we send to the remote builder is exactly the one that we want to build locally so that the output ids are exactly the same Fix #4845
2021-06-18UDSRemoteStore: Support the 'root' store parameterEelco Dolstra
Useful when we're using a daemon with a chroot store, e.g. $ NIX_DAEMON_SOCKET_PATH=/tmp/chroot/nix/var/nix/daemon-socket/socket nix-daemon --store /tmp/chroot Then the client can now connect with $ nix build --store unix:///tmp/chroot/nix/var/nix/daemon-socket/socket?root=/tmp/chroot nixpkgs#hello
2021-06-15nix develop: Filter out NIX_REMOTEEelco Dolstra
When recursive Nix is enabled, NIX_REMOTE is set to unix:///build/.nix-socket, which doesn't work outside of the sandbox.
2021-06-12Don’t check the `deriver` field on computeFSClosureregnat
That doesn’t really make sense with CA derivations (and wasn’t even really correct before because of FO derivations, though that probably didn’t matter much in practice)
2021-06-11Make `nix develop` work with CA derivationsregnat
Fix #4823
2021-06-11Make `nix-shell` support content-addressed derivationsregnat
Resolve the derivation before trying to load its environment − essentially reproducing what the build loop does − so that we can effectively access our dependencies (and not just their placeholders). Fix #4821
2021-06-11Make `computeFSClosure` ca-awareregnat
Fix #4820 by preventing nix-collect garbage from crashing if `keep-outputs` or `keep-derivations` is true
2021-06-11Add a ca-derivations required machine featureregnat
Make ca-derivations require a `ca-derivations` machine feature, and ca-aware builders expose it. That way, a network of builders can mix ca-aware and non-ca-aware machines, and the scheduler will send them in the right place.
2021-06-02fix error: 'optional' in namespace 'std' does not name a template typekeke
2021-06-02doc: Wrap at 80 charactersregnat
2021-06-02Fix a documentation typoThéophane Hufschmitt
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2021-06-02throw_ -> reportErrorregnat
This function might or might not throw depending on the value of `keepGoing`, so naming it `throw_` was a bit confusing
2021-06-02Let `nix flake check` keep going when keep-going is setregnat
When the `keep-going` option is set to `true`, make `nix flake check` continue as much as it can before failing. The UI isn’t perfect as-it-is as all the lines currently start with a mostly useless `error (ignored): error:` prefix, but I’m not sure what the best output would be, so I’ll leave it as-it-is for the time being (This is a bit hijacking the `keep-going` flag as it’s supposed to be a build-time only thing. But I think it’s faire to reuse it here). Fix https://github.com/NixOS/nix/issues/4450
2021-06-01Check the CA hash when importing stuff in the local storeregnat
When adding a path to the local store (via `LocalStore::addToStore`), ensure that the `ca` field of the provided `ValidPathInfo` does indeed correspond to the content of the path. Otherwise any untrusted user (or any binary cache) can add arbitrary content-addressed paths to the store (as content-addressed paths don’t need a signature).
2021-06-01Merge pull request #4866 from alyssais/libdlEelco Dolstra
Only link with libdl on Linux
2021-06-01Merge pull request #4864 from jeremyschlatter/fix-typoEelco Dolstra
Fix typo in documentation
2021-06-01Merge pull request #4734 from p01arst0rm/fix-s3-ifdefEelco Dolstra
unified macro style for ENABLE_S3
2021-06-01Only link with libdl on LinuxAlyssa Ross
Linux is (as far as I know) the only mainstream operating system that requires linking with libdl for dlopen. On BSD, libdl doesn't exist, so on non-FreeBSD BSDs linking will currently fail. On macOS, it's apparently just a symlink to libSystem (macOS libc), presumably present for compatibility with things that assume Linux. So the right thing to do here is to only add -ldl on Linux, not to add it for everything that isn't FreeBSD.
2021-06-01Fix typo in documentationJeremy Schlatter
2021-05-29Add .tar.zst support for TarballInputSchemeTimothy Klim
2021-05-28Merge pull request #4849 from NixOS/ca/fix-nix-store--exportEelco Dolstra
Make the Nar hash non modulo
2021-05-26Recursively substitute the realisationsregnat
Make sure that whenever we substitute a realisation, we also substitute its entire closure
2021-05-26Aso track the output path of the realisation dependenciesregnat
2021-05-26Add a db migration scriptregnat
2021-05-26Make `copyPaths` copy the whole realisations closureregnat
Otherwise registering the realisations on the remote side might fail as it now expects a complete closure