aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-11-23Merge remote-tracking branch 'origin/master' into auto-uid-allocationEelco Dolstra
2022-11-22Merge pull request #7328 from edolstra/nix-build-statsEelco Dolstra
nix build --json: Include build statistics
2022-11-22SimpleUserLock::getSupplementaryGIDs(): Filter out main gidEelco Dolstra
This avoids having the user's gid in the supplementary group list as well.
2022-11-22Always call setgroups()Eelco Dolstra
We shouldn't skip this if the supplementary group list is empty, because then the sandbox won't drop the supplementary groups of the parent (like "root").
2022-11-21Merge pull request #6456 from amjoseph-nixpkgs/seccomp-mipsEelco Dolstra
local-derivation-goal.cc: enable seccomp filters for mips{32,64}
2022-11-21Use hex for startIdEelco Dolstra
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2022-11-21AutoUserLock: If sandboxing is disabled, use the build users groupEelco Dolstra
We have to use a gid that has write access to the Nix store.
2022-11-21nix build --json: Include build statisticsEelco Dolstra
Example: # nix build -L --extra-experimental-features cgroups --impure --expr 'with import <nixpkgs> {}; runCommand "foo" {} "dd if=/dev/urandom bs=1M count=1024 | md5sum; mkdir $out"' --json [ { "cpuSystem": 1.911431, "cpuUser": 1.214249, "drvPath": "/nix/store/xzdqz67xba18hljhycp0hwfigzrs2z69-foo.drv", "outputs": { "out": "/nix/store/rh9mc9l2gkpq8kn2sgzndr6ll7ffjh6l-foo" }, "startTime": 1669024076, "stopTime": 1669024079 } ]
2022-11-21Rename derivedPathsWithHintsToJSON -> builtPathsToJSONEelco Dolstra
2022-11-21Fix macOS buildEelco Dolstra
2022-11-21Merge remote-tracking branch 'origin/master' into auto-uid-allocationEelco Dolstra
2022-11-21Fix indentationEelco Dolstra
2022-11-21nix build --json: Include build statisticsEelco Dolstra
Example: # nix build -L --extra-experimental-features cgroups --impure --expr 'with import <nixpkgs> {}; runCommand "foo" {} "dd if=/dev/urandom bs=1M count=1024 | md5sum; mkdir $out"' --json [ { "cpuSystem": 1.911431, "cpuUser": 1.214249, "drvPath": "/nix/store/xzdqz67xba18hljhycp0hwfigzrs2z69-foo.drv", "outputs": { "out": "/nix/store/rh9mc9l2gkpq8kn2sgzndr6ll7ffjh6l-foo" }, "startTime": 1669024076, "stopTime": 1669024079 } ]
2022-11-21Rename derivedPathsWithHintsToJSON -> builtPathsToJSONEelco Dolstra
2022-11-18Use cgroup.kill to quickly kill cgroupsEelco Dolstra
2022-11-18Get CPU stats from the cgroupEelco Dolstra
2022-11-18IndentationEelco Dolstra
2022-11-18Separate cgroup support from auto-uid-allocationEelco Dolstra
The new experimental feature 'cgroups' enables the use of cgroups for all builds. This allows better containment and enables setting resource limits and getting some build stats.
2022-11-18createTempDir(): Use std::atomicEelco Dolstra
2022-11-17Fix segfault in unprivileged modeEelco Dolstra
2022-11-16Merge pull request #7134 from yorickvP/disable-dbg-on-completeThéophane Hufschmitt
Temporarily disable the debugger during completion evaluation
2022-11-16Swallow the error in a more idiomatic wayThéophane Hufschmitt
2022-11-15Merge pull request #7294 from tobim/support-aws-sdk-1.10Théophane Hufschmitt
libstore: link to aws-crt-cpp
2022-11-15Merge pull request #7283 from hercules-ci/issue-6572Théophane Hufschmitt
Fix #6572 `requires non-existent output`
2022-11-15Merge pull request #7260 from ncfavier/readFile-scan-referencesThéophane Hufschmitt
Restrict `readFile` context to references that appear in the string
2022-11-14derivation-goal: Fix `requires non-existing output` errorRobert Hensing
It occurred when a output of the dependency was already available, so it didn't need rebuilding and didn't get added to the inputDrvOutputs. This process-related info wasn't suitable for the purpose of finding the actual input paths for the builder. It is better to do this in absolute terms by querying the store.
2022-11-14Merge remote-tracking branch 'nixos/master' into readFile-scan-referencesThéophane Hufschmitt
2022-11-12build: use pkg-config for lowdownEt7f3
2022-11-12libstore: link to aws-crt-cppTobias Mayer
This change is needed to support aws-sdk-cpp 1.10 and newer. I opted not to make this dependent on the sdk version because the crt dependency has been in the interface of the older sdk as well, and it was only coincidence that libstore didn't make use of any privately defined symbols directly.
2022-11-11Restrict `readFile` context to references that appear in the stringNaïm Favier
When calling `builtins.readFile` on a store path, the references of that path are currently added to the resulting string's context. This change makes those references the *possible* context of the string, but filters them to keep only the references whose hash actually appears in the string, similarly to what is done for determining the runtime references of a path.
2022-11-10Merge pull request #7258 from ncfavier/fix-eval-error-fmtThéophane Hufschmitt
Fix printing of eval errors with two format placeholders
2022-11-10Remove the SystemdCgroup featureEelco Dolstra
2022-11-08Fix build on macOSEelco Dolstra
2022-11-08Split auto UID allocation from cgroupsEelco Dolstra
Cgroups are now only used for derivations that require the uid-range range feature. This allows auto UID allocation even on systems that don't have cgroups (like macOS). Also, make things work on modern systems that use cgroups v2 (where there is a single hierarchy and no "systemd" controller).
2022-11-07Merge pull request #7264 from patricksjackson/remote-bracketsEelco Dolstra
build-remote: Add brackets to error message
2022-11-07Merge pull request #7267 from fricklerhandwerk/build-taskEelco Dolstra
manual: build action -> build task
2022-11-06manual: build action -> build taskValentin Gagarin
after discussing this with multiple people, I'm convinced that "build task" is more precise: a derivation is not an action, but inert until it is built. also it's easier to pronounce. proposal: use "build task" for the generic concept "description of how to derive new files from the contents of existing files". then it will be easier to distinguish what we mean by "derivation" (a specific data structure and Nix language value type) and "store derivation" (a serialisation of a derivation into a file in the Nix store).
2022-11-04build-remote: Add brackets to error messagePatrick Jackson
2022-11-04Remove stray tabEelco Dolstra
2022-11-04Fix indentationEelco Dolstra
2022-11-04Fix printing of eval errors with two format placeholdersNaïm Favier
2022-11-03Merge remote-tracking branch 'origin/master' into auto-uid-allocationEelco Dolstra
2022-11-03SourceExprCommand: swallow EvalError, add tests for thisYorick van Pelt
Completing things that would error would print an ugly error in the middle of your command line. Avoid printing this error.
2022-11-02Temporarily disable the debugger during completion evaluationYorick van Pelt
readline is not re-entrant, so entering the debugger from the completioncallback results in an eventual segfault. The workaround is to temporarily disable the debugger when searching for possible completions.
2022-11-01tarfile: set directory mode to at least 0500, don't extract fflagsYorick van Pelt
We don't need SGID, or any ACL's. We also want to keep every dir +rx.
2022-10-31Merge pull request #7231 from jfroche/fix/savedArgv-accessEelco Dolstra
Move savedArgv into libmain
2022-10-31Merge pull request #7039 from Mic92/libfetchers-variantThéophane Hufschmitt
libfetchers: avoid api.github.com ratelimit if no github token is set
2022-10-28Move savedArgv into libmainJean-François Roche
`savedArgv` is not accessible by plugins when defined in main binary. Moving it into one of the nix lib fix the problem.
2022-10-27Merge pull request #7217 from NixOS/restore-nix-build-remoteEelco Dolstra
Fix `nix __build-remote`
2022-10-27Pass the right argv when calling the build hookThéophane Hufschmitt
Call it as `['nix', '__build-remote', ... ]` rather than the previous `["__build-remote", "nix __build-remote", ... ]` which seemed to have been most likely unintended