Eelco Dolstra
d025142f52
Handle amount of disk space saved by hard linking being negative
...
Fixes bogus messages like "currently hard linking saves
17592186044416.00 MiB".
2012-08-05 21:45:27 -04:00
Eelco Dolstra
b6c989b801
Fix race condition when two processes create a hard link to a file in .links
...
This is a problem because one process may set the immutable bit before
the second process has created its link.
Addressed random Hydra failures such as:
error: cannot rename `/nix/store/.tmp-link-17397-1804289383' to
`/nix/store/rsvzm574rlfip3830ac7kmaa028bzl6h-nixos-0.1pre-git/upstart-interface-version':
Operation not permitted
2012-08-05 21:41:44 -04:00
Eelco Dolstra
108e14bb18
Fix race condition when two processes create the same link in /nix/store/.links
2012-08-05 18:17:55 -04:00
Eelco Dolstra
6763084ae5
Count bytes freed deleting unused links
2012-08-01 22:43:03 -04:00
Eelco Dolstra
01d56c1eec
Drop the block count in the garbage collector
2012-08-01 22:34:46 -04:00
Eelco Dolstra
967d066d8e
nix-store --gc: Make ‘--max-freed 0’ do the right thing
...
That is, delete almost nothing (it will still remove unused links from
/nix/store/.links).
2012-08-01 19:14:58 -04:00
Eelco Dolstra
1df702d347
removeUnusedLinks(): Print stats on disk space saved by hard linking
2012-08-01 19:01:50 -04:00
Eelco Dolstra
9c2decaa19
Merge branch 'master' into no-manifests
2012-08-01 18:03:49 -04:00
Eelco Dolstra
5170c5691a
nix-channel: Use binary caches advertised by channels
...
Channels can now advertise a binary cache by creating a file
<channel-url>/binary-cache-url. The channel unpacker puts these in
its "binary-caches" subdirectory. Thus, the URLS of the binary caches
for the channels added by root appear in
/nix/var/nix/profiles/per-user/eelco/channels/binary-caches/*. The
binary cache substituter reads these and adds them to the list of
binary caches.
2012-08-01 17:56:11 -04:00
Eelco Dolstra
79bba3782c
Doh
2012-08-01 17:21:47 -04:00
Eelco Dolstra
ca94b38371
nix-env: Ignore manifest.nix when recursing into ~/.nix-defexpr
...
Channels are implemented using a profile now, and profiles contain a
manifest.nix file. This should be ignored to prevent bogus packages
from showing up in nix-env.
2012-08-01 17:17:07 -04:00
Eelco Dolstra
46f852cda0
Use a GNU tar flag to shut up warnings about implausibly old timestamp
2012-08-01 16:42:51 -04:00
Eelco Dolstra
afa7e01878
Inline unpack-channel.sh
2012-08-01 16:34:17 -04:00
Eelco Dolstra
234ce610e0
Doh
2012-08-01 16:09:47 -04:00
Eelco Dolstra
7b10562370
Make ‘nix-store --optimise’ interruptible
2012-08-01 16:06:49 -04:00
Eelco Dolstra
8a25d787d7
download-from-binary-cache: Remove duplicate URLs
2012-08-01 11:33:15 -04:00
Eelco Dolstra
c770a2422a
Report substituter errors to clients of the Nix daemon
2012-08-01 11:19:24 -04:00
Eelco Dolstra
4d1b64f118
Allow daemon users to override ‘binary-caches’
...
For security reasons, daemon users can only specify caches that appear
in the ‘binary-caches’ and ‘trusted-binary-caches’ options in
nix.conf.
2012-07-31 18:56:22 -04:00
Eelco Dolstra
eb7849e3a2
Prevent an injection attack in passing untrusted options to substituters
2012-07-31 18:50:32 -04:00
Eelco Dolstra
90d9c58d4d
Pass all --option flags to the daemon
2012-07-31 18:19:44 -04:00
Eelco Dolstra
89a8207029
Add an option ‘build-fallback’ (equivalent to the --fallback flag)
2012-07-31 17:56:02 -04:00
Eelco Dolstra
157170059d
Manual: Remove reference to non-existent -I option
2012-07-30 22:29:42 -04:00
Eelco Dolstra
97421eb5ec
Refactor settings processing
...
Put all Nix configuration flags in a Settings object.
2012-07-30 19:55:41 -04:00
Eelco Dolstra
d50d7a2874
Whitespace
2012-07-30 17:13:25 -04:00
Eelco Dolstra
9cd63d2244
Do some validation of URLs
2012-07-30 17:09:36 -04:00
Eelco Dolstra
f3eb29c653
Fix the test
2012-07-30 17:09:13 -04:00
Eelco Dolstra
9de6d10d11
Get rid of $NIX_BINARY_CACHES
...
You can use ‘--option binary-caches URLs’ instead.
2012-07-30 16:39:31 -04:00
Eelco Dolstra
ab42bf1dab
nix-install-package: Support binary caches
...
The .nixpkg file format is extended to optionally include the URL of a
binary cache, which will be used in preference to the manifest URL
(which can be set to a non-existent value).
2012-07-30 16:11:02 -04:00
Eelco Dolstra
d059bf48e4
Pass configuration settings to the substituters
...
Previously substituters could read nix.conf themselves, but this
didn't take --option flags into account.
2012-07-30 16:09:54 -04:00
Eelco Dolstra
f9613da180
Remove unused variables
2012-07-30 15:43:37 -04:00
Eelco Dolstra
6183cf2f19
Fix whitespace
2012-07-30 15:42:18 -04:00
Eelco Dolstra
f15083c10a
Document the --option flag
...
Pointed out by Daniel Santa Cruz on IRC.
2012-07-29 14:37:40 -04:00
Eelco Dolstra
66a3ac6a56
Allow a binary cache to declare that it doesn't support "nix-env -qas"
...
Querying all substitutable paths via "nix-env -qas" is potentially
hard on a server, since it involves sending thousands of HEAD
requests. So a binary cache must now have a meta-info file named
"nix-cache-info" that specifies whether the server wants this. It
also specifies the store prefix so that we don't send useless queries
to a binary cache for a different store prefix.
2012-07-27 18:16:05 -04:00
Eelco Dolstra
6ecf4f13f6
Use "set -x" in the tests to see where a test fails
2012-07-27 14:33:01 -04:00
Eelco Dolstra
e6ab52cdd1
Test "nix-env -qas" with the binary cache substituter
2012-07-27 14:15:03 -04:00
Eelco Dolstra
73acb8b836
Let build.cc verify the expected hash of a substituter's output
...
Since SubstitutionGoal::finished() in build.cc computes the hash
anyway, we can prevent the inefficiency of computing the hash twice by
letting the substituter tell Nix about the expected hash, which can
then verify it.
2012-07-27 12:16:02 -04:00
Eelco Dolstra
fbf59d95f6
Remove more tabs
2012-07-27 10:56:33 -04:00
Eelco Dolstra
3a8f841612
download-using-manifests: Don't use nix-prefetch-url
...
Instead call curl directly and pipe it into ‘nix-store --restore’.
This saves I/O and prevents creating garbage in the Nix store.
2012-07-27 10:47:36 -04:00
Eelco Dolstra
b4ea83249b
Remove trailing whitespace / tabs
2012-07-27 09:59:18 -04:00
Eelco Dolstra
7f8e805c8e
download-from-binary-cache: Only use the default cache for /nix/store
2012-07-27 09:57:42 -04:00
Eelco Dolstra
67c6f3eded
nix-push: Support generating a manifest again
...
This makes all the tests succeed. Woohoo!
2012-07-26 18:28:12 -04:00
Eelco Dolstra
50395b71a9
Fix the substituter tests
2012-07-26 17:36:07 -04:00
Eelco Dolstra
e3ce54ccee
nix-push: Remove the upload feature
2012-07-26 17:13:38 -04:00
Eelco Dolstra
609586a16d
Add a test for the binary cache substituter
2012-07-26 17:13:14 -04:00
Eelco Dolstra
7861260a5f
Clear NIX_STORE when running the tests
2012-07-26 17:12:42 -04:00
Eelco Dolstra
7892ad15ab
download-from-binary-cache: Support file://
...
The file:// URI schema requires checking for errors in a more general
way. Also, don't cache file:// lookups.
2012-07-26 17:11:11 -04:00
Eelco Dolstra
dbce685e91
Add some .gitignore entries
2012-07-26 17:10:28 -04:00
Eelco Dolstra
8c79100839
Merge branch 'master' into no-manifests
2012-07-26 15:14:33 -04:00
Eelco Dolstra
3a4623afbb
Set permissions on temporary build directories to 0700
...
Fixes #39 .
2012-07-26 15:04:40 -04:00
Eelco Dolstra
2605f4f4e6
nix-profile.sh: Don't set NIX_REMOTE on single user installations
...
Commit 6a214f3e06
reused the NixOS
environment initialisation for nix-profile.sh, but this is
inappropriate on systems that don't have multi-user support enabled.
2012-07-25 17:06:09 -04:00