Age | Commit message (Collapse) | Author |
|
|
|
|
|
Allow fixed-output derivations to depend on (floating) content-addressed ones
|
|
- Fix some class/struct discrepancies
- Explicit the overloading of `run` in the `Cmd*` classes
- Ignore a warning in the generated lexer
|
|
|
|
|
|
We need the missing path info to communicate the worker's remaining
goals to the progress bar.
|
|
|
|
|
|
Fix an overlook of https://github.com/NixOS/nix/pull/4056
|
|
|
|
using fallocate() to preallocate files space does more harm than good:
- breaks compression on btrfs
- has been called "not the right thing to do" by xfs developers
(because delayed allocation that most filesystems implement leads to smarter
allocation than what the filesystem needs to do if we upfront fallocate files)
|
|
|
|
|
|
|
|
|
|
Without setting HGPLAIN, the user's environment leaks into
hg invocations, which means that the output may not be in the
expected format.
HGPLAIN is the Mercurial-recommended solution for this in that
it's intended for uses by scripts and programs which are looking
to parse Mercurial's output in a consistent manner.
|
|
|
|
|
|
context is not valid
Fixes #4236.
|
|
Fixes #4241.
|
|
Let's get one step closer to the daemon not needing to fork.
|
|
Allow nix.conf options to be set in flake.nix
|
|
Print built derivations as json for build
|
|
Allow substituting paths when building remotely using `ssh-ng://`
|
|
|
|
Fixes #4235.
|
|
Print the expanded sql query (with the variables bound to their value) rather
than the original one in case of error
|
|
|
|
Fix deadlock in nix-store when max-connections=1
|
|
This fixes a bug I encountered where `nix-store -qR` will deadlock when
the `--include-outputs` flag is passed and `max-connections=1`.
The deadlock occurs because `RemoteStore::queryDerivationOutputs` takes
the only connection from the connection pool and uses it to check the
daemon version. If the version is new enough, it calls
`Store::queryDerivationOutputs`, which eventually calls
`RemoteStore::queryPartialDerivationOutputMap`, where we take another
connection from the connection pool to check the version again. Because
we still haven't released the connection from the caller, this waits for
a connection to be available, causing a deadlock.
This diff solves the issue by using `getProtocol` to check the protocol
version in the caller `RemoteStore::queryDerivationOutputs`, which
immediately frees the connection back to the pool before returning the
protocol version. That way we've already freed the connection by the
time we call `RemoteStore::queryPartialDerivationOutputMap`.
|
|
|
|
The default nix-path values for nixpkgs and root channels were
incorrect.
|
|
Add --json option to nix build to allow machine readable output on
stdout with all built derivations
Fixes #1930
|
|
Fixes:
$ nix build --store /tmp/nix /home/eelco/Dev/patchelf#hydraJobs.build.x86_64-linux
warning: Git tree '/home/eelco/Dev/patchelf' is dirty
error: --- RestrictedPathError ------------------------------------------------------------------------------------------- nix
access to path '/tmp/nix/nix/store/xmkvfmffk7xfnazykb5kx999aika8an4-source/flake.nix' is forbidden in restricted mode
(use '--show-trace' to show detailed location information)
|
|
Fix stack overflow introduced in #4206
|
|
nix develop: Preserve stdin with `-c`
|
|
|
|
|
|
Fixes: warning: unknown setting 'extra-sandbox-paths'
|
|
Until now, it was not possible to substitute missing paths from e.g.
`https://cache.nixos.org` on a remote server when building on it using
the new `ssh-ng` protocol.
This is because every store implementation except legacy `ssh://`
ignores the substitution flag passed to `Store::queryValidPaths` while
the `legacy-ssh-store` substitutes the remote store using
`cmdQueryValidPaths` when the remote store is opened with `nix-store
--serve`.
This patch slightly modifies the daemon protocol to allow passing an
integer value suggesting whether to substitute missing paths during
`wopQueryValidPaths`. To implement this on the daemon-side, the
substitution logic from `nix-store --serve` has been moved into a
protected method named `Store::substitutePaths` which gets currently
called from `LocalStore::queryValidPaths` and `Store::queryValidPaths`
if `maybeSubstitute` is `true`.
Fixes #2770
|
|
Fix memory corruption caused by GC-invisible coroutine stacks
|
|
|
|
|
|
|
|
|
|
readDerivation() requires a valid path.
Fixes #4210.
|
|
Fix RemoteStore pool deadlock in filterSource etc
|
|
|
|
It was accidentally removed in commit ca30abb3fb36440e5a13161c39647189036fc18f
|