aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build.cc
AgeCommit message (Collapse)Author
2020-09-15Rename `Derivation::pathOpt` to `Derivation::path`John Ericson
We no longer need the `*Opt` to disambiguate.
2020-09-15Get rid of confusing `std::optional<bool>` for validityJohn Ericson
2020-09-15Don't link deriver until after any delayed exception is thrownJohn Ericson
Otherwise, we will associate fixed-output derivations with outputs that they did indeed produce, but which had the wrong hash. That's no good.
2020-09-04Fix some of the issues raised by @edolstraJohn Ericson
- More and better comments - The easier renames
2020-09-04Apply suggestions from code review John Ericson
Thanks! Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2020-09-04Don't chmod symlink before moving outputs aroundJohn Ericson
Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2020-08-20Rename drv output querying functions, like masterJohn Ericson
- `queryDerivationOutputMapAssumeTotal` -> `queryPartialDerivationOutputMap` - `queryDerivationOutputMapAssumeTotal` -> `queryDerivationOutputMap
2020-08-14Merge remote-tracking branch 'upstream/master' into single-ca-drv-buildJohn Ericson
2020-08-14Merge pull request #3875 from obsidiansystems/new-interface-for-path-pathOptEelco Dolstra
Offer a safer interface for path and pathOpt
2020-08-14Merge pull request #3924 from obsidiansystems/features-per-storeEelco Dolstra
Make `system-features` a store setting
2020-08-14Merge pull request #3899 from obsidiansystems/make-narHash-not-optionalEelco Dolstra
Make narHash in ValidPathInfo not optional
2020-08-12Make `system-features` a store settingJohn Ericson
This seems more correct. It also means one can specify the features a store should support with --store and remote-store=..., which is useful. I use this to clean up the build remotes test.
2020-08-12Separate auth and logic for the daemonJohn Ericson
Before, processConnection wanted to know a user name and user id, and `nix-daemon --stdio`, when it isn't proxying to an underlying daemon, would just assume "root" and 0. But `nix-daemon --stdio` (no proxying) shouldn't make guesses about who holds the other end of its standard streams. Now processConnection takes an "auth hook", so `nix-daemon` can provide the appropriate policy and daemon.cc doesn't need to know or care what it is.
2020-08-12Break out lambda so output can be matched just onceJohn Ericson
This is much better.
2020-08-11Recheck path validity after acquiring lockJohn Ericson
It might have changed, and in any event this is how the cod used to work so let's just keep it.
2020-08-11Don't assume a total output map in two places in build.ccJohn Ericson
Thanks @regnat for catching one of them. The other follows for many of the same reasons. I'm find fixing others on a need-to-fix basis, provided their are no regressions.
2020-08-11Clarify comment on sandbox and temp fresh pathsJohn Ericson
2020-08-11Clarify `outputReferences` variable with self-describing typeJohn Ericson
Thanks for the idea, @Regnat!
2020-08-11Remove redundant equality checkJohn Ericson
2020-08-11Float comment to out describe `gaveUpOnSubstitution` in generalJohn Ericson
2020-08-11Apply suggestions from code review John Ericson
Thanks!! Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2020-08-07Squashed get CA derivations buildingJohn Ericson
2020-08-07Merge remote-tracking branch 'upstream/master' into ↵John Ericson
drv-outputs-map-allow-missing
2020-08-06Minimize the usage of `Hash::dummy`John Ericson
2020-08-06Merge remote-tracking branch 'upstream/master' into make-narHash-not-optionalJohn Ericson
2020-08-05Merge branch 'master' of github.com:NixOS/nix into ↵Carlo Nucera
new-interface-for-path-pathOpt
2020-08-05Merge branch 'master' of github.com:NixOS/nix into make-narHash-not-optionalCarlo Nucera
2020-08-05Remove optionality in ValidPathInfo::narInfoCarlo Nucera
2020-08-05error messages for issue 2238Ben Burdette
2020-08-05Merge remote-tracking branch 'upstream/master' into ↵John Ericson
drv-outputs-map-allow-missing
2020-08-05Merge remote-tracking branch 'obsidian/misc-ca' into ↵John Ericson
derivation-primop-floating-output
2020-08-05Sed some names to perhaps avoid conflictsJohn Ericson
2020-08-05Make names more consistentJohn Ericson
2020-08-05Merge remote-tracking branch 'upstream/master' into misc-caJohn Ericson
2020-07-31Merge branch 'master' of github.com:NixOS/nix into drv-outputs-map-allow-missingCarlo Nucera
2020-07-30Merge remote-tracking branch 'origin/master' into substitute-other-storedirMatthew Bauer
2020-07-30unsigned long long -> uint64_tEelco Dolstra
2020-07-28Merge branch 'misc-ca' of github.com:obsidiansystems/nix into ↵Carlo Nucera
new-interface-for-path-pathOpt
2020-07-28Use the new interfaceCarlo Nucera
2020-07-27Merge branch 'misc-ca' of github.com:obsidiansystems/nix into ↵John Ericson
derivation-primop-floating-output
2020-07-27Merge branch 'ca-derivation-data-types' of github.com:obsidiansystems/nix ↵John Ericson
into misc-ca
2020-07-27Merge remote-tracking branch 'upstream/master' into ca-derivation-data-typesJohn Ericson
2020-07-27Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
2020-07-27Merge branch 'optional-derivation-output-storepath' into ↵John Ericson
ca-derivation-data-types
2020-07-27Merge remote-tracking branch 'upstream/master' into ↵John Ericson
optional-derivation-output-storepath
2020-07-27Merge remote-tracking branch 'upstream/master' into hash-always-has-typeJohn Ericson
2020-07-24`queryDerivationOutputMap` no longer assumes all outputs have a mappingJohn Ericson
This assumption is broken by CA derivations. Making a PR now to do the breaking daemon change as soon as possible (if it is already too late, we can bump protocol intead).
2020-07-23Merge branch 'misc-ca' of github.com:obsidiansystems/nix into ↵John Ericson
derivation-primop-floating-output
2020-07-23Merge remote-tracking branch 'upstream/master' into misc-caJohn Ericson
2020-07-22Parse CA derivations using new output variantsJohn Ericson
We no longer need `ParsedDerivation` because everything libstore needs to know about is in the `BasicDerivation` proper.