about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2007-03-19 * Terminate build hooks and substitutes with a TERM signal, not a KILLEelco Dolstra3-10/+27
signal. This is necessary because those processes may have joined the BDB environment, so they have to be given a chance to clean up. (NIX-85)
2007-03-19 * Undocumented option `gc-check-reachability' to allow reachabilityEelco Dolstra1-7/+9
checking to be turned off on machines with way too many roots.
2007-03-13 * Remove old generations in all directories underEelco Dolstra1-6/+15
/nix/var/nix/profiles, not just in that directory itself. (NixOS puts profiles in /nix/var/nix/profiles/per-user.)
2007-03-07 * Delete the output paths before invoking the build hook.Eelco Dolstra1-14/+14
2007-03-01 * Get rid of those stupid --login tricks, it's the responsibility ofEelco Dolstra1-2/+2
the remote system to make sure that Nix is in the $PATH.
2007-03-01 * sh -> bash.Eelco Dolstra1-2/+2
2007-03-01 * Look for the openssl program at compile time. If not found, callEelco Dolstra2-2/+6
openssl through $PATH at runtime.
2007-03-01 * Don't check the signature unless we have to.Eelco Dolstra1-21/+23
2007-02-27 * Doh! The deriver can be empty.Eelco Dolstra1-1/+2
2007-02-27 * Greatly reduced the amount of stack space used by the Nix expressionEelco Dolstra1-188/+274
evaluator. This was important because the NixOS expressions started to hit 2 MB default stack size on Linux. GCC is really dumb about stack space: it just adds up all the local variables and temporaries of every scope into one huge stack frame. This is really bad for deeply recursive functions. For instance, every `throw Error(format("error message"))' causes a format object of a few hundred bytes to be allocated on the stack. As a result, every recursive call to evalExpr2() consumed 4680 bytes. By splitting evalExpr2() and by moving the exception-throwing code out of the main functions, evalExpr2() now only consumes 40 bytes. Similar for evalExpr().
2007-02-27 * When NIX_SHOW_STATS=1, show the amount of stack space consumed byEelco Dolstra1-2/+10
the Nix expression evaluator.
2007-02-26 * Error message to stdout.Eelco Dolstra1-1/+1
2007-02-22 * Handle EINTR in select().Eelco Dolstra1-3/+3
2007-02-22 * /man -> /share/manEelco Dolstra1-1/+0
2007-02-22 * nix-copy-closure: force a login shell on the remote machine to makeEelco Dolstra1-3/+11
sure that nix-store is in the PATH. * nix-copy-closure: option --gzip to compress data.
2007-02-22 * nix-copy-closure: option --sign.Eelco Dolstra1-2/+20
* nix-copy-closure: set SSH options through NIX_SSHOPTS..
2007-02-21 * New command `nix-copy-closure' to copy a closure to a Nix store onEelco Dolstra2-1/+58
another machine through ssh. E.g., $ nix-copy-closure xyzzy $(which svn) copies the closure of Subversion to machine `xyzzy'. This is like `nix-pack-closure $(which svn) | ssh xyzzy', but it's much more efficient since it only copies those paths that are missing on the target machine.
2007-02-21 * Flush cout to show progress.Eelco Dolstra1-1/+1
2007-02-21 * Export/import many paths in one go.Eelco Dolstra1-3/+8
2007-02-21 * `nix-store -qR' and friends: print the paths sorted topologicallyEelco Dolstra3-40/+12
under the references relation. This is useful for commands that want to copy paths to another Nix store in the right order.
2007-02-21 * Flag `--print-invalid' in `nix-store --check-validity' to print outEelco Dolstra1-3/+14
which paths specified on the command line are invalid (i.e., don't barf when encountering an invalid path, just print it). This is useful for build-remote.pl to figure out which paths need to be copied to a remote machine. (Currently we use rsync, but that's rather inefficient.)
2007-02-21 * Check that the file containing the secret key is secret.Eelco Dolstra1-1/+14
2007-02-21 * `nix-store --import' now also works in remote mode. The workerEelco Dolstra4-9/+62
always requires a signature on the archive. This is to ensure that unprivileged users cannot add Trojan horses to the Nix store.
2007-02-21 * Support exportPath() in remote mode.Eelco Dolstra4-5/+42
2007-02-21 * importPath(): set the deriver.Eelco Dolstra1-3/+13
* exportPath(): lock the path, use a transaction.
2007-02-21 * `nix-store --import': import an archive created by `nix-storeEelco Dolstra8-10/+142
--export' into the Nix store, and optionally check the cryptographic signatures against /nix/etc/nix/signing-key.pub. (TODO: verify against a set of public keys.)
2007-02-21 * `nix-store --export --sign': sign the Nix archive using the RSA keyEelco Dolstra8-31/+124
in /nix/etc/nix/signing-key.sec
2007-02-21 * Don't use $SHELL.Eelco Dolstra3-10/+2
2007-02-20 * Start of `nix-store --export' operation for serialising a storeEelco Dolstra6-0/+50
path. This is like `nix-store --dump', only it also dumps the meta-information of the store path (references, deriver). Will add a `--sign' flag later to add a cryptographic signature, which we will use for exchanging store paths between build farm machines in a secure manner.
2007-02-20 * Temporary notes on how we're going to use OpenSSL.Eelco Dolstra1-0/+24
2007-02-20 * Close the file - just in case.Eelco Dolstra1-0/+3
2007-02-06 * Fix 64-bit compiler warnings.Eelco Dolstra2-4/+4
2007-02-05 * Compatibility with docbook5-xsl.Eelco Dolstra7-7/+8
2007-02-02 * nix-env now maintains meta info (from the `meta' derivationEelco Dolstra6-16/+105
attribute) about installed packages in user environments. Thus, an operation like `nix-env -q --description' shows useful information not only on available packages but also on installed packages. * nix-env now passes the entire manifest as an argument to the Nix expression of the user environment builder (not just a list of paths), so that in particular the user environment builder has access to the meta attributes. * New operation `--set-flag' in nix-env to change meta info of installed packages. This will be useful to pass per-package policies to the user environment builder (e.g., how to resolve collision or whether to disable a package (NIX-80)) or upgrade policies in nix-env (e.g., that a package should be "masked", that is, left untouched by upgrade actions). Example: $ nix-env --set-flag enabled false ghc-6.4
2007-01-29 * Doh!Eelco Dolstra1-2/+0
2007-01-29 * computeStorePathForText: take the references into account whenEelco Dolstra5-6/+18
computing the store path (NIX-77). This is an important security property in multi-user Nix stores. Note that this changes the store paths of derivations (since the derivation aterms are added using addTextToStore), but not most outputs (unless they use builtins.toFile).
2007-01-29 * Don't capitalise the primop functions.Eelco Dolstra1-76/+81
2007-01-29 * Organise primops.cc a bit better.Eelco Dolstra1-321/+376
2007-01-29 New primitives:Eelco Dolstra8-6/+88
* `sub' to subtract two numbers. * `stringLength' to get the length of a string. * `substring' to get a substring of a string. These should be enough to allow most string operations to be expressed.
2007-01-29 * filterSource: pass strings to the predicate function instead ofEelco Dolstra1-1/+1
paths. Paths can have unexpected semantics.
2007-01-24 * Nasty: Glibc clears the TMPDIR environment variable in setuidEelco Dolstra1-1/+8
programs, so if a builder uses TMPDIR, then it will fail when executed through nix-setuid-helper. In fact Glibc clears a whole bunch of variables (see sysdeps/generic/unsecvars.h in the Glibc sources), but only TMPDIR should matter in practice. As a workaround, we reinitialise TMPDIR from NIX_BUILD_TOP.
2007-01-23 * exportReferencesGraph: work on paths within store paths as well.Eelco Dolstra1-2/+10
2007-01-23 * New kind of manifest object: "localPath", which denotes that a storeEelco Dolstra8-22/+73
path can be created by copying it from another location in the file system. This is useful in the NixOS installation.
2007-01-23 * Successors have been gone for ages.Eelco Dolstra8-32/+15
2007-01-22 * nix-prefetch-url: change the default hash to SHA-256 (in base-32).Eelco Dolstra1-1/+1
2007-01-15 * Handle multiple indirect symlinks when loading a Nix expression.Eelco Dolstra3-7/+22
2007-01-15 * builtins.filterSource: pass the type of the file ("regular",Eelco Dolstra3-2/+23
"directory", "symlink") as the second argument to the filter predicate.
2007-01-14 * `nix-store --verify': revive checking the referrers table. This isEelco Dolstra1-42/+56
important to get garbage collection to work if there is any inconsistency in the database (because the referrer table is used to determine whether it is safe to delete a path). * `nix-store --verify': show some progress.
2007-01-14 * Make the garbage collector more resilient to certain consistencyEelco Dolstra3-4/+10
errors: in-use paths now cause a warning, not a fatal error.
2007-01-14 * Don't forget the .flags files.Eelco Dolstra1-1/+1