Age | Commit message (Collapse) | Author |
|
|
|
("installing `foo'" followed by "uninstalling `foo'").
|
|
through the new `gc-reserved-space' option.
|
|
the disk is full (because to delete something from the Nix store, we
need a Berkeley DB transaction, which takes up disk space). Under
normal operation, we make sure that there exists a file
/nix/var/nix/db/reserved of 1 MB. When running the garbage
collector, we delete that file before we open the Berkeley DB
environment.
|
|
implementations of MD5, SHA-1 and SHA-256. The main benefit is that
we get assembler-optimised implementations of MD5 and SHA-1 (though
not SHA-256 (at least on x86), unfortunately). OpenSSL's SHA-1
implementation on Intel is twice as fast as ours.
|
|
|
|
on the Bison parse stack. Otherwise, a garbage collect during
parsing could lead to a crash.
|
|
a conservative garbage collector that scans the stack and parts of
the heap for pointers to ATerms. This scan can touch uninitialised
memory, which is harmless. Use:
$ valgrind --suppressions=aterm-gc.supp ...
|
|
|
|
Example:
$ nix-build ./all-packages.nix -A xlibs.libX11
So finally it's easy to perform a test build of a Nix expression!
|
|
derivation(s) we're interested, e.g.,
$ nix-instantiate ./all-packages.nix --attr xlibs.libX11
List elements can also be selected:
$ nix-instantiate ./build-for-release.nix --attr 0.subversion
This allows a non-ambiguous specification of a derivation. Of
course, this should also be added to nix-env and nix-build.
|
|
|
|
|
|
|
|
|
|
|
|
provided that all arguments have defaults.
|
|
|
|
|
|
|
|
|
|
creates a new process group but also a new session. New sessions
have no controlling tty, so child processes like ssh cannot open
/dev/tty (which is bad).
|
|
intended). This ensures that any ssh child processes to remote
machines are also killed, and thus the Nix process on the remote
machine also exits. Without this, the remote Nix process will
continue until it exists or until its stdout buffer gets full and it
locks up. (Partially fixes NIX-35.)
|
|
"No space left on device" instead of "Success"). Reported by Karina
Olmos.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useful way to transfer the closure of a store path to another
machine.
These commands provide functionality previously possible through
`nix-push --copy'. However, they are much more convenient in many
situations (though possibly less efficient).
Example:
$ nix-pack-closure /nix/store/hj232g1r...-subversion-1.3.0 > svn.closure
(on another machine:)
$ nix-unpack-closure < svn.closure
Note that Subversion is added to the store, but not installed into a
user environment. One should do `nix-env -i
/nix/store/hj232g1r...-subversion-1.3.0' for that.
Another example: copy the application Azureus to the machine
`scratchy' through ssh:
$ nix-pack-closure $(which azureus) | ssh scratchy nix-unpack-closure
|
|
|
|
build directory (TMPDIR, i.e., /tmp). Fixes NIX-26.
|
|
|
|
|
|
|
|
|
|
deletes a path even if it is reachable from a root. However, it
won't delete a path that still has referrers (since that would
violate store invariants).
Don't try this at home. It's a useful hack for recovering from
certain situations in a somewhat clean way (e.g., holes in closures
due to disk corruption).
|
|
specified paths from the Nix store. However, this operation is
safe: it refuses to delete anything that the garbage collector
wouldn't delete.
|
|
|
|
(even when it is interrupted by a signal).
|
|
|
|
Berkeley DB from running out of locks.
|
|
|
|
nix-store query options `--referer' and `--referer-closure' have
been changed to `--referrer' and `--referrer-closure' (but the old
ones are still accepted for compatibility).
|
|
|
|
mapping. The referer table is replaced by a referrer table (note
spelling fix) that stores each referrer separately. That is,
instead of having
referer[P] = {Q_1, Q_2, Q_3, ...}
we store
referer[(P, Q_1)] = ""
referer[(P, Q_2)] = ""
referer[(P, Q_3)] = ""
...
To find the referrers of P, we enumerate over the keys with a value
lexicographically greater than P. This requires the referrer table
to be stored as a B-Tree rather than a hash table.
(The tuples (P, Q) are stored as P + null-byte + Q.)
Old Nix databases are upgraded automatically to the new schema.
|
|
(de)registration, in particular garbage collection (NIX-23).
|