Jude Taylor
90516c5a7b
switch to mmap strategy
2016-08-16 12:45:55 -07:00
Jude Taylor
7b006122ae
ensure presence of directories
2016-08-15 10:46:21 -07:00
Jude Taylor
adf0216d98
code review comments
2016-08-15 10:43:14 -07:00
Jude Taylor
60f4b25d7d
make inclusion conditional
2016-08-14 19:10:38 -07:00
Jude Taylor
f37b6fd07e
add a missing load command
2016-08-14 18:54:40 -07:00
Jude Taylor
596e4a5693
remove old traces of resolve-system-dependencies
2016-08-13 15:27:49 -07:00
Jude Taylor
2df9a972fc
resolve-system-dependencies: implement in C++
2016-08-13 11:36:22 -07:00
Eelco Dolstra
b0ebad88cd
Merge branch 'buildenv-c++' of https://github.com/shlevy/nix
2016-08-11 17:11:17 +02:00
Shea Levy
91978e3b9a
buildenv: perl -> c++
2016-08-11 07:58:33 -04:00
Eelco Dolstra
66adbdfd97
HttpBinaryCacheStore: Retry on transient HTTP errors
...
This makes us more robust against 500 errors from CloudFront or S3
(assuming the 500 error isn't cached by CloudFront...).
2016-08-10 18:08:23 +02:00
Eelco Dolstra
9204ea7294
Show HTTP error codes
2016-08-10 18:05:35 +02:00
Eelco Dolstra
f294623d1d
SQLite:: Add some convenience
2016-08-10 18:05:35 +02:00
Eelco Dolstra
6cb4bdf152
FSAccessor: Throw InvalidPath
2016-08-10 18:05:35 +02:00
Eelco Dolstra
f43823f676
NarAccessor: Fix handling of non-executable files
2016-08-10 18:05:35 +02:00
Eelco Dolstra
d961c29c9c
Mark content-addressed paths in the Nix database and in .narinfo
...
This allows such paths to be imported without signatures.
2016-08-10 18:05:35 +02:00
Eelco Dolstra
36a51ecab3
LocalFSStore::narFromPath(): Handle the diverted store case
2016-08-10 18:05:35 +02:00
Eelco Dolstra
3eb6217508
Add a "root" parameter to local stores
...
This makes it easier to create a diverted store, i.e.
NIX_REMOTE="local?root=/tmp/root"
instead of
NIX_REMOTE="local?real=/tmp/root/nix/store&state=/tmp/root/nix/var/nix" NIX_LOG_DIR=/tmp/root/nix/var/log
2016-08-10 18:05:35 +02:00
Eelco Dolstra
2fad86f361
Remove $NIX_DB_DIR
...
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10 18:05:35 +02:00
Eelco Dolstra
be64fbb501
RemoteStore / nix-daemon: Drop support for Nix < 1.0
2016-08-10 18:05:35 +02:00
Eelco Dolstra
ee22a91ab8
makeFixedOutputPath(): Drop superfluous HashType argument
2016-07-26 21:25:52 +02:00
Eelco Dolstra
06bbfb6004
builtins.{fetchurl,fetchTarball}: Support a sha256 attribute
...
Also, allow builtins.{fetchurl,fetchTarball} in restricted mode if a
hash is specified.
2016-07-26 21:16:52 +02:00
Shea Levy
ee3032e4de
Merge branch 'find-runtime-roots-c++'
2016-07-24 07:33:49 -04:00
Shea Levy
18b0808475
Respect --keep-going when a substituter fails.
...
Fixes #977
2016-07-23 09:16:08 -04:00
Eelco Dolstra
d3cd0f5856
Fix assertion failure
2016-07-21 18:39:32 +02:00
Eelco Dolstra
e19c90fc6b
Fix random failures caused by CurlDownloader modifying a shared string
2016-07-21 18:35:31 +02:00
Eelco Dolstra
ea8e8df6c7
NarInfo::NarInfo(): Ensure that we get a NAR size/hash
2016-07-21 18:35:12 +02:00
Eelco Dolstra
e682a8e138
Fix assertion failure in ThreadPool::enqueue()
2016-07-21 18:14:16 +02:00
Eelco Dolstra
d57981bac4
Store::queryMissing(): Use a thread pool
...
For one particular NixOS configuration, this cut the runtime of
"nix-store -r --dry-run" from 6m51s to 3.4s. It also fixes a bug in
the size calculation that was causing certain paths to be counted
twice, e.g. before:
these paths will be fetched (1249.98 MiB download, 2995.74 MiB unpacked):
and after:
these paths will be fetched (1219.56 MiB download, 2862.17 MiB unpacked):
2016-07-21 17:50:39 +02:00
Eelco Dolstra
a728780fbd
Store::computeFSClosure(): Use thread pool
...
This speeds up queries against the binary cache.
2016-07-21 14:13:35 +02:00
Shea Levy
3c46fe62b8
find-runtime-roots: fold into gc.cc
2016-07-21 07:04:41 -04:00
Shea Levy
06068b353d
FdSink: Restore move constructor/assignment
2016-07-13 06:27:41 -04:00
Shea Levy
b33e85229d
Make Buffered{Source,Sink} move-safe
2016-07-13 06:03:37 -04:00
Shea Levy
cb5e7254b6
Modernize AutoCloseFD
2016-07-11 15:44:44 -04:00
Eelco Dolstra
74dd603495
Re-implement negative binary cache lookup caching
2016-06-20 17:39:05 +02:00
Eelco Dolstra
c68e5913c7
Run builds in a user namespace
...
This way, all builds appear to have a uid/gid of 0 inside the
chroot. In the future, this may allow using programs like
systemd-nspawn inside builds, but that will require assigning a larger
UID/GID map to the build.
Issue #625 .
2016-06-09 18:30:39 +02:00
Eelco Dolstra
202683a4fc
Use O_CLOEXEC in most places
2016-06-09 16:37:08 +02:00
Eelco Dolstra
9bdd949cfd
Fix "creating statement: table ValidPaths has no column named ultimate"
2016-06-03 16:06:42 +02:00
Eelco Dolstra
5e51ffb1c2
Support sandbox builds by non-root users
...
This allows an unprivileged user to perform builds on a diverted store
(i.e. where the physical store location differs from the logical
location).
Example:
$ NIX_LOG_DIR=/tmp/log NIX_REMOTE="local?real=/tmp/store&state=/tmp/var" nix-build -E \
'with import <nixpkgs> {}; runCommand "foo" { buildInputs = [procps nettools]; } "id; ps; ifconfig; echo $out > $out"'
will do a build in the Nix store physically in /tmp/store but
logically in /nix/store (and thus using substituters for the latter).
2016-06-03 15:59:28 +02:00
Eelco Dolstra
2f8b0e557b
Consistent quotes
2016-06-03 14:03:09 +02:00
Eelco Dolstra
080d607975
Don't call shared_from_this() from a destructor
2016-06-03 14:02:44 +02:00
Eelco Dolstra
30c8c3ba2d
Fix some more references to storeDir
2016-06-03 14:02:44 +02:00
Eelco Dolstra
a8dfdc52b8
Merge pull request #925 from abbradar/master
...
Show both cycle ends
2016-06-03 13:58:51 +02:00
Nikolay Amiantov
c87a56f4d0
Show both cycle ends
2016-06-03 14:25:37 +03:00
Eelco Dolstra
75361b6dce
Fix narrowing conversion from int64_t to bool
...
http://hydra.nixos.org/build/36613774
2016-06-03 13:20:46 +02:00
Eelco Dolstra
f8a8b4d8f8
nix run: Set a reasonable uid/gid
2016-06-02 19:04:09 +02:00
Eelco Dolstra
d64e0c1b64
Make derivationFromPath work on diverted stores
2016-06-02 18:43:36 +02:00
Eelco Dolstra
eda2aaae92
nix run: Handle the case where the /nix/store mount point doesn't exist
2016-06-02 18:24:51 +02:00
Eelco Dolstra
a424ab0444
createTempDir(): Don't do a chown on Linux
...
It's not needed and can cause problems in a user namespace.
2016-06-02 18:17:30 +02:00
Eelco Dolstra
a24f2c9b84
nix run: Mount the Nix store in a private namespace
...
This is a convenience command to allow users who are not privileged to
create /nix/store to use Nix with regular binary caches. For example,
$ NIX_REMOTE="local?state=$HOME/nix/var&real=/$HOME/nix/store" nix run firefox bashInteractive
will download Firefox and bash from cache.nixos.org, then start a
shell in which $HOME/nix/store is mounted on /nix/store.
2016-06-02 16:51:43 +02:00
Eelco Dolstra
6f2d51287c
Add basic "nix run" command
2016-06-02 16:29:49 +02:00