Eelco Dolstra
e41b5828db
* Better stats.
2010-04-14 23:48:46 +00:00
Eelco Dolstra
d39d3c6264
* Implemented inherit.
2010-04-14 23:25:05 +00:00
Eelco Dolstra
267dc693d2
* Fix builtins.
2010-04-14 22:59:39 +00:00
Eelco Dolstra
81de12bc8f
* Refactoring: move variable uses to a separate class.
2010-04-14 15:14:23 +00:00
Eelco Dolstra
110d155778
* Implemented withs.
2010-04-14 15:01:04 +00:00
Eelco Dolstra
9985230c00
* After parsing, compute level/displacement pairs for each variable
...
use site, allowing environments to be stores as vectors of values
rather than maps. This should speed up evaluation and reduce the
number of allocations.
2010-04-14 14:42:32 +00:00
Eelco Dolstra
816dd3f061
* Remove more obsolete code.
2010-04-14 12:49:05 +00:00
Eelco Dolstra
011b5da0f4
* Get nix-env to compile again.
2010-04-14 09:39:06 +00:00
Eelco Dolstra
85d13c8f93
* Change the semantics of "with" so that inner "withs" take
...
precedence, i.e. `with {x=1;}; with {x=2;}; x' evaluates to 2'.
This has a simpler implementation and seems more natural. There
doesn't seem to be any code in Nixpkgs or NixOS that relies on the
old behaviour.
2010-04-14 08:37:08 +00:00
Eelco Dolstra
816f9c0f6f
* Use std::tr1::unordered_set instead of std::set for the symbol
...
table. This gives a 10% speed increase on `nix-instantiate
/etc/nixos/nixos -A system --readonly-mode'.
2010-04-13 14:34:11 +00:00
Eelco Dolstra
7d47498b5e
* Evaluate lets directly (i.e. without desugaring to `rec { attrs...;
...
<let-body> = e; }.<let-body>). This prevents the unnecessary
allocation of an attribute set.
2010-04-13 13:42:25 +00:00
Eelco Dolstra
ac1e8f40d4
* Use a symbol table to represent identifiers and attribute names
...
efficiently. The symbol table ensures that there is only one copy
of each symbol, thus allowing symbols to be compared efficiently
using a pointer equality test.
2010-04-13 12:25:42 +00:00
Eelco Dolstra
10e8b1fd15
* Finished the ATerm-less parser.
2010-04-12 23:33:23 +00:00
Eelco Dolstra
0d272fca79
* Remove some obsolete functions.
2010-04-12 23:31:47 +00:00
Eelco Dolstra
d4f0b0fc6c
* Indented strings.
2010-04-12 22:03:27 +00:00
Eelco Dolstra
a60317f20f
* More missing constructs.
2010-04-12 21:21:24 +00:00
Eelco Dolstra
4d6ad5be17
* Don't use ATerms for the abstract syntax trees anymore. Not
...
finished yet.
2010-04-12 18:30:11 +00:00
Eelco Dolstra
ed711f73bc
* Don't use ATerms to represent integers in the lexer.
2010-04-12 10:38:18 +00:00
Eelco Dolstra
db90b88e65
* Hack to support builderDefs expressions.
2010-04-12 09:50:20 +00:00
Eelco Dolstra
4e49002576
* Doh.
2010-04-12 09:45:00 +00:00
Eelco Dolstra
c3f228f296
2010-04-12 09:14:27 +00:00
Ludovic Courtès
aac5fcfbb5
Re-add drvPath' and
outPath' attributes to <derivation> XML nodes.
...
This fixes a regression introduced in r20882 ("Add source location
information to the XML output.").
* src/libexpr/expr-to-xml.cc (nix::printTermAsXML): Dereference the
attribute RHS from "drvPath" and "outPath".
2010-04-09 21:30:55 +00:00
Eelco Dolstra
f3dc7ab877
* Keep more statistics about stack space usage.
...
* Reduce stack space usage.
2010-04-09 12:00:49 +00:00
Eelco Dolstra
b7b3dd55f9
* Remove a lot of dead code.
2010-04-08 11:41:19 +00:00
Eelco Dolstra
7e048eddf5
* Fix blackholing. If evaluation fails due to an assertion failure,
...
then the blackhole has to be removed to ensure that repeated
evaluation of the same value gives an assertion failure again rather
than an "infinite recursion" error.
2010-04-08 11:25:14 +00:00
Eelco Dolstra
af2a372bb0
* Update autoCallFunction() and findAlongAttrPath().
2010-04-07 15:47:06 +00:00
Eelco Dolstra
9a64454faa
* expr-to-xml -> value-to-xml.
2010-04-07 13:59:45 +00:00
Eelco Dolstra
fc92244ba8
* Implemented the primops necessary for generating the NixOS manual.
2010-04-07 13:55:46 +00:00
Eelco Dolstra
a353aef0b1
* In eval(), don't use the target value `v' as a temporary.
...
Overwriting `v' breaks when the expression evaluation to an
assertion failure or throw.
2010-04-06 14:15:29 +00:00
Eelco Dolstra
a5ece7d016
* Removed the `~' operator.
2010-04-01 16:59:07 +00:00
Eelco Dolstra
c172274e17
* Quick hack to make coerceToString work more or less correctly on
...
nested lists. `nix-instantiate' can now evaluate the NixOS system
derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for
the trunk).
2010-04-01 14:35:03 +00:00
Eelco Dolstra
7b851915bf
* Improve sharing.
2010-04-01 12:04:57 +00:00
Eelco Dolstra
95cc417d76
* Functions are incomparable.
2010-04-01 10:55:36 +00:00
Eelco Dolstra
71f026292b
* Make `derivation' lazy again for performance. It also turns out
...
that there are some places in Nixpkgs (php_configurable /
composableDerivation, it seems) that call `derivation' with
incorrect arguments (namely, the `name' attribute missing) but get
away with it because of laziness.
2010-04-01 09:55:57 +00:00
Eelco Dolstra
dc31305b38
* Fixed the trace primop and path comparison.
...
* Removed exprToString and stringToExpr because there is no ATerm
representation to work on anymore (and exposing the internals of the
evaluator like this is not a good idea anyway).
2010-03-31 20:09:20 +00:00
Eelco Dolstra
979f163615
* Handle string contexts. `nix-instantiate' can now correctly compute
...
the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 times
faster than the trunk :-)
2010-03-31 19:52:29 +00:00
Eelco Dolstra
d8cd3115d8
* Get nix-env to compile.
2010-03-31 19:12:08 +00:00
Eelco Dolstra
55e207b2dc
* Cache parse trees to prevent repeated parsing of imported Nix
...
expressions.
2010-03-31 16:14:32 +00:00
Eelco Dolstra
3d94be61ea
* Implemented derivations.
2010-03-31 15:38:03 +00:00
Ludovic Courtès
09381cccff
Make source location info in the XML output optional.
...
* src/libexpr/expr-to-xml.cc (nix::showAttrs): Add `location'
parameter. Provide location XML attributes when it's true. Update
callers.
(nix::printTermAsXML): Likewise.
* src/libexpr/expr-to-xml.hh (nix::printTermAsXML): Update prototype;
have `location' default to `false'.
* src/nix-instantiate/nix-instantiate.cc (printResult, processExpr): Add
`location' parameter; update callers.
(run): Add support for `--no-location'.
* src/nix-instantiate/help.txt: Update accordingly.
* tests/lang.sh: Invoke `nix-instantiate' with `--no-location' for the
XML tests.
* tests/lang/eval-okay-toxml.exp, tests/lang/eval-okay-to-xml.nix: New
files.
2010-03-31 12:38:31 +00:00
Eelco Dolstra
13c2adc897
* Implemented `rec { inherit ...; }'.
2010-03-31 11:05:39 +00:00
Eelco Dolstra
4c53ca2692
* Compare nulls.
2010-03-31 09:54:12 +00:00
Ludovic Courtès
471419d1fa
Add source location information to the XML output.
...
* src/libexpr/expr-to-xml.cc (nix::showAttrs): Dereference the attribute
RHS. Add "path", "line", and "column" XML attributes to the node when
source location information is available.
(nix::printTermAsXML): Likewise for functions.
2010-03-31 08:29:05 +00:00
Ludovic Courtès
eb07a4f1ee
Escape `>' signs in the XML output.
...
* src/libutil/xml-writer.cc (nix::XMLWriter::writeAttrs): Escape `>'.
2010-03-31 08:29:01 +00:00
Eelco Dolstra
7f19e03c65
* More primops.
2010-03-30 22:39:48 +00:00
Eelco Dolstra
47df476daa
* More operators / primops.
2010-03-30 18:05:54 +00:00
Eelco Dolstra
c9170be2bd
* More primops.
2010-03-30 15:18:20 +00:00
Eelco Dolstra
c3aa615a5f
* More primops.
2010-03-30 14:39:27 +00:00
Eelco Dolstra
5b72d8a749
* Implemented `map'.
2010-03-30 13:47:59 +00:00
Eelco Dolstra
d78a05ab40
* Make `import' work.
2010-03-30 09:22:33 +00:00
Eelco Dolstra
31428c3a06
* Started integrating the new evaluator.
2010-03-29 14:37:56 +00:00
Eelco Dolstra
52090d2418
2010-03-29 10:13:51 +00:00
Eelco Dolstra
e3f32ac5af
2010-03-29 09:43:55 +00:00
Eelco Dolstra
807a67bc74
2010-03-29 09:43:39 +00:00
Eelco Dolstra
392811eb8f
* Strings.
2010-03-28 18:27:07 +00:00
Eelco Dolstra
d96cdcea6b
2010-03-28 16:57:16 +00:00
Eelco Dolstra
3d2b835f30
* Implemented multi-argument primops.
2010-03-28 16:37:39 +00:00
Eelco Dolstra
45d822f29c
* Primops (not yet finished).
2010-03-26 15:45:53 +00:00
Eelco Dolstra
cad8726b2c
* Implemented the ==' and
!=' operators. These now use a deep
...
equality test, so they also work for (finite) attribute sets and
lists.
2010-03-26 13:27:26 +00:00
Eelco Dolstra
8da118e4d0
* Measure stack usage.
2010-03-25 16:35:24 +00:00
Eelco Dolstra
c2ba4313fb
* Implemented lists.
2010-03-25 15:38:37 +00:00
Eelco Dolstra
25eedf085d
* Quick and dirty implementation of with'.
with e1; e2' is
...
basically desugared to `let <with> = e1; e2', and `lookupVar' looks
in each <with> in the environment chain for an attribute with the
specified name.
2010-03-25 14:51:04 +00:00
Eelco Dolstra
3c9f8fc9b6
* Don't convert variable names to strings.
2010-03-25 13:10:04 +00:00
Eelco Dolstra
f450384ded
* Implement blackholing.
2010-03-25 12:51:14 +00:00
Eelco Dolstra
ef8bd919fc
* Implement `...' and default function arguments.
2010-03-25 12:45:23 +00:00
Eelco Dolstra
8a10360c91
* Simplify @-patterns: only {attrs}@name' or
name@{attrs}' are now
...
allowed. So `name1@name2', `{attrs1}@{attrs2}' and so on are now no
longer legal. This is no big loss because they were not useful
anyway.
This also changes the output of builtins.toXML for @-patterns
slightly.
2010-03-25 12:19:41 +00:00
Eelco Dolstra
7482349fe8
* Implemented attribute set pattern matches.
2010-03-24 23:40:00 +00:00
Eelco Dolstra
0fd3648d34
* Store values in environments.
2010-03-24 12:41:08 +00:00
Eelco Dolstra
b70bd8fe56
* Reduce the number of value allocations in eval() by moving
...
responsibility for allocation of the result to the caller.
2010-03-24 12:11:38 +00:00
Eelco Dolstra
d31c59eb17
* Plain lambdas.
2010-03-24 11:06:05 +00:00
Eelco Dolstra
e8f7978274
2010-03-23 19:19:52 +00:00
Eelco Dolstra
0910ae9568
* Start of an evaluator that uses call-by-need (with thunk updating)
...
instead of (memoised) call-by-name.
2010-03-23 17:30:50 +00:00
Eelco Dolstra
141294ff38
* Clean up error messages in killUser().
2010-03-19 11:36:34 +00:00
Eelco Dolstra
f0c473c5f7
* Fix building on Cygwin ( http://hydra.nixos.org/build/325071 ).
2010-03-16 13:01:52 +00:00
Nicolas Pierron
741b7577c1
Merge r20344 & r20346.
2010-03-14 11:58:07 +00:00
Lluís Batlle i Rossell
2fb0df83e9
Uh. somehow a Makefile tab got in as spaces. Fixing.
2010-03-11 21:22:52 +00:00
Lluís Batlle i Rossell
13cce8ec45
Making 'bin2c' to be built with the compiler for the local system.
...
I copied the configure.ac code about CC_FOR_BUILD from libX11.
2010-03-11 20:56:25 +00:00
Eelco Dolstra
e020d80e4e
* Sync with the trunk.
2010-03-11 15:45:05 +00:00
Ludovic Courtès
05e15049a5
Show the build user's group in /etc/group in chroots.
...
* src/libstore/build.cc (nix::DerivationGoal::startBuilder): Create
/etc/group showing the build user's group.
2010-03-11 14:47:04 +00:00
Eelco Dolstra
070057c1b9
* Sync with the trunk.
2010-03-11 10:52:52 +00:00
Ludovic Courtès
c752c9f41a
Fix thinko in r20547.
...
* src/libstore/build.cc (nix::DerivationGoal::startBuilder): Fix the GID
of the build user in /etc/passwd.
2010-03-11 10:33:04 +00:00
Ludovic Courtès
2e8eaca573
Clear supplementary groups of `nixbld' in /etc/passwd in chroots.
...
* src/libstore/build.cc (nix::DerivationGoal::startBuilder): Don't
display any supplementary groups for `nixbld' in /etc/passwd.
2010-03-11 10:21:23 +00:00
Eelco Dolstra
1a65142ec4
* Remove a debug statement.
2010-03-10 12:46:25 +00:00
Eelco Dolstra
4c356acd04
* In `nix-store --export', abort if the contents of a path has
...
changed. This prevents corrupt paths from spreading to other
machines. Note that checking the hash is cheap because we're
hashing anyway (because of the --sign feature).
2010-03-09 14:32:03 +00:00
Eelco Dolstra
44f6e6de77
* Set gc-keep-outputs' or
gc-keep-derivations' to false with
...
`--delete --ignore-liveness'.
2010-03-08 21:31:42 +00:00
Eelco Dolstra
2e4ef03aa3
* Increase the sqlite timeout.
2010-03-08 10:35:45 +00:00
Eelco Dolstra
04791840f4
* Emit warning='1' or error='1' attributes for lines marked as
...
warnings or errors with \e[w or \e[e.
2010-03-05 12:54:58 +00:00
Eelco Dolstra
bc6f7fc139
* Remove some unused functions.
2010-03-04 13:03:26 +00:00
Eelco Dolstra
fb6e223ddc
* Synced with the trunk.
2010-03-04 12:15:00 +00:00
Eelco Dolstra
e14e2399ed
* Prevent a potential memory corruption problem if an ATerm garbage
...
collection happens during fixAttrs().
2010-03-02 20:23:42 +00:00
Eelco Dolstra
56af8e86e3
* Protect the true',
false' and `__overrides' constants. Without
...
an ATprotect call, these could be garbage collected, leading to
weird crashes or wrong results.
2010-03-02 20:09:12 +00:00
Eelco Dolstra
3f9e647ae8
* checkInterrupt() shouldn't be called from a destructor.
2010-03-02 19:04:17 +00:00
Eelco Dolstra
594eaddd11
* When using the included sqlite/aterm libraries, build with
...
--enable-shared.
* In libutil/libstore/libexpr etc., link against sqlite and aterm.
* Some more header file hygiene.
2010-03-02 15:58:13 +00:00
Eelco Dolstra
24035b98b1
* Implement RemoteStore::queryValidPaths().
2010-02-26 12:05:01 +00:00
Eelco Dolstra
e42401ee7b
* Implement RemoteStore::queryDerivationOutputs().
2010-02-25 15:52:22 +00:00
Eelco Dolstra
af565c348a
* Support read-only access to the database.
2010-02-24 16:44:43 +00:00
Eelco Dolstra
e33f67ff0b
* Refactor the upgrade / database initialisation logic a bit.
2010-02-24 16:30:20 +00:00
Eelco Dolstra
84a4dd5ff0
* Don't use fdatasync since it doesn't work on Snow Leopard.
...
* Don't refer to config.h in util.hh, because config.h is not
installed (http://hydra.nixos.org/build/303053 ).
2010-02-24 15:46:06 +00:00
Eelco Dolstra
cfe742cfc5
* A function to query just the database id of a valid path.
2010-02-24 15:07:23 +00:00
Eelco Dolstra
6baa2a2f5e
2010-02-24 14:39:52 +00:00
Eelco Dolstra
9fd85c94de
* Use `truncate' journal mode, which should be a bit faster.
2010-02-24 14:22:34 +00:00
Eelco Dolstra
fefd467539
* `helpText' is now zero-terminated.
2010-02-24 13:24:27 +00:00
Eelco Dolstra
a3c63d0d6c
* Disable fsync() in SQLite if the fsync-metadata option is set to
...
false.
* Change the default for `fsync-metadata' to true.
* Disable `fsync-metadata' in `make check'.
2010-02-24 13:12:57 +00:00
Eelco Dolstra
90b6352d0a
* Do registerValidPaths() in one transaction, which is much faster.
...
E.g. it cuts the runtime of the referrers test from 50s to 23s.
2010-02-24 12:48:00 +00:00
Eelco Dolstra
fae0427324
* ADDITIONAL_NETWORK_LIBS -> LIBS.
2010-02-24 12:25:48 +00:00
Eelco Dolstra
fa6a4fcb11
* Add ${sqlite_lib} everywhere. Just adding it in `libstore' doesn't
...
work on x86_64 when sqlite is compiled statically.
2010-02-24 12:18:48 +00:00
Eelco Dolstra
5954eadf67
* Remove the fdatasync check since it's no longer needed.
2010-02-24 12:16:50 +00:00
Eelco Dolstra
462bd50aef
* Use normal (rather than full) synchronous mode, which I gather from
...
the description at http://www.sqlite.org/atomiccommit.html should be
safe enough.
2010-02-24 10:57:57 +00:00
Eelco Dolstra
63b09c5e41
2010-02-23 22:31:38 +00:00
Eelco Dolstra
b4e6d98fc3
* configure: flag --with-sqlite.
2010-02-23 22:12:46 +00:00
Eelco Dolstra
2b20318b0e
2010-02-22 14:24:37 +00:00
Eelco Dolstra
9cda616949
* The database needs a trigger to get rid of self-references to
...
prevent a foreign key constraint violation on the Refs table when
deleting a path.
2010-02-22 14:18:55 +00:00
Eelco Dolstra
c4d388add4
* Get derivation outputs from the database instead of the .drv file,
...
which requires more I/O.
2010-02-22 12:44:36 +00:00
Eelco Dolstra
103cfee056
* Revert r19650 (implement gc-keep-outputs by looking for derivations
...
with the same name as the output) and instead use the
DerivationOutputs table in the database, which is the correct way to
to do things.
2010-02-22 11:44:17 +00:00
Eelco Dolstra
299ff64812
* Put the derivation outputs in the database. This is useful for the
...
garbage collector.
2010-02-22 11:15:50 +00:00
Eelco Dolstra
1930570ad9
* Foreign key support in SQLite is not a persistent setting, so enable
...
it at startup.
* Implement negative caching. Now `make check' passes.
2010-02-19 17:15:22 +00:00
Eelco Dolstra
9c9a88e9e2
* Implement more stuff.
2010-02-19 16:43:25 +00:00
Eelco Dolstra
762cee72cc
* Implement registerValidPath().
2010-02-19 16:04:51 +00:00
Eelco Dolstra
268f9aaf28
* Implemented queryValidPaths() and verifyStore().
2010-02-18 16:51:27 +00:00
Eelco Dolstra
836e5b6f57
* Implemented queryReferrers().
2010-02-18 16:21:59 +00:00
Eelco Dolstra
77cb9e3fb1
* Implement queryPathInfo().
2010-02-18 15:52:57 +00:00
Eelco Dolstra
885e22b16e
* Implement isValidPath().
2010-02-18 15:11:08 +00:00
Eelco Dolstra
cfb09e0fad
* Automatically abort transactions if they go out of scope without
...
committing.
2010-02-18 14:40:07 +00:00
Eelco Dolstra
e0305bb7a8
* Some wrapper objects to ensure that SQLite objects are properly
...
destroyed.
2010-02-18 14:30:42 +00:00
Eelco Dolstra
a053d2d8e5
* Add the deriver to the ValidPaths table. In principle we could now
...
store all the derivers of a path efficiently. But that opens a big
can of worms with respect to garbage collector semantics.
2010-02-18 13:48:18 +00:00
Eelco Dolstra
dbddac0fe9
* Assign an integer id to every row in the ValidPaths table in order
...
to make the Refs table more space-efficient. For instance, this
reduces the size of the database on my laptop from 93 MiB to 18
MiB. (It was 72 MiB with the old schema on an ext3 disk with a 1
KiB block size.)
2010-02-18 13:40:46 +00:00
Eelco Dolstra
c1a07f9445
* Convert the Nix database to SQLite.
2010-02-18 13:16:59 +00:00
Ludovic Courtès
20186a4079
Don't rely on `PATH_MAX' on GNU.
2010-02-10 15:55:50 +00:00
Eelco Dolstra
4e17be7981
* Revert r19797, and use a simpler solution: just don't monitor build
...
hooks for silence. It's unnecessary because the remote nix-store
command is already monitoring the real build.
2010-02-03 21:38:41 +00:00
Eelco Dolstra
f859a8d3c3
* While waiting for a lock, print a sign of life every 5 minutes.
...
This prevents remote builders from being killed by the
`max-silent-time' inactivity monitor while they are waiting for a
long garbage collection to finish. This happens fairly often in the
Hydra build farm.
2010-02-03 21:22:57 +00:00
Eelco Dolstra
4bbbe25802
* Remove most Cygwin-specific code. Cygwin 1.7 implements advisory
...
POSIX locks, and simulates Unix-style file deletion semantics
sufficiently. Note that this means that Nix won't work on Cygwin
1.5 anymore.
2010-02-02 15:28:36 +00:00
Eelco Dolstra
2723d9b56e
* If fdatasync() isn't available, use fsync().
2010-02-02 11:57:49 +00:00
Eelco Dolstra
07ffdc2862
* Added an option "fsync-metadata" to fsync() changes to
...
/nix/var/nix/db.
* Removed the function writeStringToFile since it does (almost) the
same thing as writeFile.
2010-01-29 12:22:58 +00:00
Eelco Dolstra
ad529fb89f
* Don't consider a store path valid if its info file exists but is
...
zero bytes long. That makes Nix more robust in case of crashes
(especially on ext4).
2010-01-29 11:53:58 +00:00
Eelco Dolstra
fdcaf37361
* Made `nix-store -qR --include-outputs' much faster if there are
...
multiple paths specified on the command line (from O(n * m) to O(n +
m), where n is the number of arguments and m is the size of the
closure).
2010-01-25 17:18:44 +00:00
Eelco Dolstra
5388944e8d
* Make the garbage collector do the right thing when `gc-keep-outputs'
...
is enabled by not depending on the deriver.
2010-01-25 16:04:32 +00:00
Eelco Dolstra
f0c0277970
* On startup, set the default SIGCHLD handler. This is so that Nix
...
works correctly in weird environments where the SIGCHLD handler is
set to "ignore".
2010-01-12 12:22:38 +00:00
Eelco Dolstra
ef92a14bfe
* Include config.h before the C library headers, because it defines
...
_FILE_OFFSET_BITS=64. Without it, functions like stat() fail on
large file sizes. This happened with a Nix store on squashfs:
$ nix-store --dump /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds > /dev/null
error: getting attributes of path `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds': Value too large for defined data type
$ stat /tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds
File: `/tmp/mnt/46wzqnk4cbdwh1dclhrpqnnz1icak6n7-local-net-cmds'
Size: 0 Blocks: 36028797018963968 IO Block: 1024 regular empty file
(This is a bug in squashfs or mksquashfs, but it shouldn't cause Nix
to fail.)
2009-12-17 14:12:44 +00:00
Eelco Dolstra
945d8218fb
* Build correctly against newer ATerm releases. Fixes "error: 'union'
...
tag used in naming 'struct _ATerm'".
2009-12-16 15:29:50 +00:00
Eelco Dolstra
bcd6cdf0d8
* Give a better error message when trying to build something and
...
readOnlyMode is set.
2009-12-09 17:45:22 +00:00
Eelco Dolstra
13618b191e
* Grrr.
2009-11-24 13:28:46 +00:00
Eelco Dolstra
aa5a768720
* GCC 4.4 is stricter about the EOF macro
...
(http://hydra.nixos.org/build/156340 ).
2009-11-24 12:56:26 +00:00
Eelco Dolstra
9b8fda796b
* Templatise getIntArg / string2Int.
2009-11-24 12:26:25 +00:00
Eelco Dolstra
8022015552
* In the garbage collector, don't count files with a link count > 1 in
...
the "bytes/blocks freed" statistics.
2009-11-24 10:51:52 +00:00
Eelco Dolstra
f9e766db98
* Randomise the order in which we delete entries to make the collector
...
less biased towards deleting paths that come alphabetically first
(e.g. /nix/store/000...). This matters when using --max-freed etc.
2009-11-24 09:53:18 +00:00
Eelco Dolstra
ca50c83fbb
2009-11-23 21:21:29 +00:00
Eelco Dolstra
3d55f1eb57
* A command `nix-store --query --roots <paths>' to find the garbage
...
collector roots that point (directly or indirectly) to the given
paths.
2009-11-23 18:16:25 +00:00
Eelco Dolstra
ae6bf87273
* `nix-store --gc --print-roots': also print the path of the actual
...
root symlink, not just its target. E.g.:
/nix/var/nix/profiles/system-99-link -> /nix/store/76kwf88657nq7wgk1hx3l1z5q91zb9wd-system
2009-11-23 17:23:12 +00:00
Eelco Dolstra
c364d5d1e3
* Made the garbage collector a lot faster. It no longer computes the
...
complete set of live and dead paths before starting the actual
deletion, but determines liveness on demand. I.e. for any path in
the store, it first tries to delete all the referrers, and then the
path itself. This means that the collector can start deleting paths
almost immediately.
2009-11-23 16:34:24 +00:00
Eelco Dolstra
8824d60fe5
* Remove the --use-atime / --max-atime garbage collector flags. Many
...
(Linux) machines no longer maintain the atime because it's too
expensive, and on the machines where --use-atime is useful (like the
buildfarm), reading the atimes on the entire Nix store takes way too
much time to make it practical.
2009-11-20 17:12:38 +00:00