Eelco Dolstra
98b07466fb
* Better error checking of the data from the substituters.
2008-08-05 10:57:53 +00:00
Eelco Dolstra
339c142009
* Use optimistic profile locking for nix-env operations like `-i' and
...
`-u'. Instead of acquiring an exclusive lock on the profile for the
entire duration of the operation, we just perform the operation
optimistically (without an exclusive lock), and check at the end
whether the profile changed while we were busy (i.e., the symlink
target changed). If so, the operation is restarted. Restarting is
generally cheap, since the build results are still in the Nix store.
Most of the time, only the user environment has to be rebuilt.
2008-08-04 16:21:45 +00:00
Eelco Dolstra
a87b5256e2
* Fix the tests.
2008-08-04 16:16:49 +00:00
Eelco Dolstra
001b3f06ec
* `nix-env --set': support --dry-run.
2008-08-04 14:58:50 +00:00
Eelco Dolstra
7592f48c83
* nix-build: `--dry-run' flag.
2008-08-04 13:46:01 +00:00
Eelco Dolstra
a1d310b6b5
* `nix-store --realise': print what paths will be built/downloaded,
...
just like nix-env.
* `nix-store --realise': --dry-run option.
2008-08-04 13:44:46 +00:00
Eelco Dolstra
42043953c3
* Doh.
2008-08-04 13:15:47 +00:00
Eelco Dolstra
5adbb0aabe
* build.cc: only use a substituter if it returns info for a path.
2008-08-04 13:15:35 +00:00
Eelco Dolstra
5b1052663a
* Always show what paths we're going to build/download (as in
...
--dry-run). Maybe there should be an option to turn this on/off?
2008-08-04 13:11:09 +00:00
Eelco Dolstra
c4f98941ed
* nix-env --dry-run: show the total size of the substituter
...
downloads.
2008-08-04 12:29:04 +00:00
Eelco Dolstra
03427e76f1
* querySubstitutablePathInfo: work properly when run via the daemon.
...
* --dry-run: print the paths that we don't know how to build/substitute.
2008-08-04 11:44:50 +00:00
Michael Raskin
b3c26180e3
Updates to nix-reduce-build: only realize fixed derivations if user asks so, or only use substituters. Oh, and add possibility to use : for things like /etc/nixos/nixpkgs:-A:gnused
2008-08-02 16:43:25 +00:00
Eelco Dolstra
3c92ea399d
* Make nix-env --dry-run print the paths to be substituted correctly
...
again. (After the previous substituter mechanism refactoring I
didn't update the code that obtains the references of substitutable
paths.) This required some refactoring: the substituter programs
are now kept running and receive/respond to info requests via
stdin/stdout.
2008-08-02 12:54:35 +00:00
Eelco Dolstra
fc691e1cbd
* Print a better error message when a non-derivation attribute set is
...
coerced to a string.
2008-07-24 14:52:25 +00:00
Eelco Dolstra
096198d11f
* A quick hack to make nix-prefetch-url support mirror:// URLs. It
...
requires that $NIXPKGS_ALL points at a Nixpkgs tree.
2008-07-23 16:02:58 +00:00
Eelco Dolstra
660244f65f
* Make sure that copy-from-other-stores.pl is built.
2008-07-23 09:38:38 +00:00
Eelco Dolstra
e139d7fc68
* Fix the tests.
2008-07-18 20:03:12 +00:00
Eelco Dolstra
989176c56e
* Allow read-only access to the store (e.g., non-root users on NixOS
...
can do operations like "nix-store -qR <path>" even without the Nix
daemon).
2008-07-18 15:34:46 +00:00
Eelco Dolstra
8bc591a6f0
* Use the copy-from-other-stores substituter by default. Of course,
...
it only does something if $NIX_OTHER_STORES (not really a good
name...) is set.
* Do globbing on the elements of $NIX_OTHER_STORES. E.g. you could
set it to /mnts/*/nix or something.
* Install substituters in libexec/nix/substituters.
2008-07-18 13:05:10 +00:00
Eelco Dolstra
15f39aba8c
* Quick prototype of a substituter that copies paths from other Nix
...
stores (typically remote Nix stores mounted via e.g. NFS, or the Nix
store on the NixOS installation CD). Example use:
$ sshfs foo@example.org:/ /mnt
$ NIX_OTHER_STORES=/mnt/nix \
NIX_SUBSTITUTERS=.../copy-from-other-stores.pl \
nix-env -i foo
This will be especially useful for the installation CD since it
doesn't require a manifest for the CD contents.
2008-07-12 18:58:24 +00:00
Eelco Dolstra
7cd88b1dec
* Generalised the dependencyClosure primop to builtins.genericClosure,
...
which is hopefully more useful.
* New primops: length, mul, div.
2008-07-11 13:29:04 +00:00
Eelco Dolstra
d567baabbd
* Export the nix-env derivation name parsing and version comparison
...
logic through the `parseDrvName' and `compareVersions' primops.
This will allow expressions to easily check whether some dependency
is a specific needed version or falls in some version range. See
tests/lang/eval-okay-versions.nix for examples.
2008-07-01 10:10:32 +00:00
Eelco Dolstra
b3b0b2a29e
* `make ext-clean': remove the bzip2 build.
2008-06-23 13:52:28 +00:00
Eelco Dolstra
6c8641a542
2008-06-18 19:17:05 +00:00
Eelco Dolstra
5af84139a8
* --max-freed: support values >= 4 GB.
2008-06-18 15:20:33 +00:00
Eelco Dolstra
d3aa183beb
* Garbage collector: option `--max-freed' to stop after at least N
...
bytes have been freed, `--max-links' to stop when the Nix store
directory has fewer than N hard links (the latter being important
for very large Nix stores on filesystems with a 32000 subdirectories
limit).
2008-06-18 14:20:16 +00:00
Eelco Dolstra
a8f3b02092
* `nix-store --optimise': handle files with >= 32000 hard links.
...
(There can easily be more than 32000 occurrences of the empty file.)
2008-06-18 14:13:00 +00:00
Eelco Dolstra
a72709afd8
* Some refactoring: put the GC options / results in separate structs.
...
* The garbage collector now also prints the number of blocks freed.
2008-06-18 09:34:17 +00:00
Eelco Dolstra
934c58aa38
* Use bzip2 1.0.5.
2008-06-17 08:12:12 +00:00
Eelco Dolstra
ee8f15930d
* Test instrumentation.
2008-06-15 15:10:03 +00:00
Eelco Dolstra
f351834f77
* nix-worker: clean up the temporary root for the worker processes
...
in /nix/var/nix/temproots.
2008-06-14 16:03:02 +00:00
Eelco Dolstra
94fd46fa1c
* Note.
2008-06-14 16:02:31 +00:00
Michael Raskin
955b8841cd
Also trying to build derivers in case we cannot get substituters
2008-06-14 08:48:40 +00:00
Michael Raskin
18e27629d3
Added local best-effort builds (i.e. one failure does not ruin all packages you would like to see built)
2008-06-14 08:30:35 +00:00
Eelco Dolstra
826b271d9a
* Garbage collector: don't do a complete topological sort of the Nix
...
store under the reference relation, since that means that the
garbage collector will need a long time to start deleting paths.
Instead just delete the referrers of a path first.
2008-06-13 18:25:24 +00:00
Eelco Dolstra
30c9f909b2
* Print some progress info during the early GC stages.
2008-06-13 17:21:20 +00:00
Michael Raskin
194c66eeeb
Stupid error in script
2008-06-13 14:34:19 +00:00
Michael Raskin
f903d86740
OK, I will believe that fix does no worse..
2008-06-13 13:53:14 +00:00
Michael Raskin
ce85b55cf0
Updated help text
2008-06-12 17:45:38 +00:00
Michael Raskin
4532e4b90d
Added verbosity for nix-reduce-build
2008-06-12 16:26:53 +00:00
Eelco Dolstra
2818b7cee6
* Updated some URLs.
2008-06-11 15:39:38 +00:00
Eelco Dolstra
997b95a4af
* Fixed compatibility with old versions of "wc" that print whitespace
...
before the count.
2008-06-10 10:08:15 +00:00
Eelco Dolstra
b0e92f6d47
* Merged the no-bdb branch (-r10900:HEAD
...
https://svn.nixos.org/repos/nix/nix/branches/no-bdb ).
2008-06-09 13:52:45 +00:00
Eelco Dolstra
4ed01ed791
* Updated some URLs (did this a long time ago but forgot to
...
commit...).
2008-06-09 13:42:13 +00:00
Sander van der Burg
c41a3ec3a9
First attempt to update Nix SDF grammar to match the actual bison grammar
2008-06-04 14:36:46 +00:00
Eelco Dolstra
bd955e15e1
* GCC 4.3.0 (Fedora 9) compatibility fixes. Reported by Gour and
...
Armijn Hemel.
2008-05-21 11:17:31 +00:00
Michael Raskin
9819bb20da
Added support for file:// archive (.nar.gz) repositories to nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK.
2008-05-11 15:54:30 +00:00
Michael Raskin
b4bc8b7616
--proxy=proxy:3128
2008-05-07 14:18:28 +00:00
Michael Raskin
b1e321d6ce
Added http alternative transport for nix-reduce-build
2008-04-29 04:03:54 +00:00
Eelco Dolstra
658816ddc9
* Make really sure that we use bash. The line
...
NEED_PROG(shell, bash)
actually uses the content of $shell if set, which often points at
/bin/sh.
2008-04-10 09:54:23 +00:00