about summary refs log tree commit diff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2006-03-09 * Ugh, printHash() was very inefficient because it usedEelco Dolstra1-5/+7
ostringstreams. Around 11% of execution time was spent here (now it's 0.5%).
2006-03-09 * Regression: semantics of the result of getDerivation() changed.Eelco Dolstra1-2/+2
2006-03-09 * Big speedup (factor > 2.5) in all nix-env operations that do actualEelco Dolstra2-3/+14
instantiation, e.g. "nix-env -i" and "nix-env -qas" (but not "nix-env -qa"). It turns out that many redundant calls to addToStore(path) were made, which reads and hashes the entire path. For instance, the bash bootstrap binary in Nixpkgs would be read and hashed many times. As a result nix-env would spend around 92% of its time in the function sha256_block (according to callgrind). Some simple memoization fixes this.
2006-03-08 * When obtaining derivations from Nix expressions, ignore allEelco Dolstra3-70/+98
expressions that cause an assertion failure (like `assert system == "i686-linux"'). This allows all-packages.nix in Nixpkgs to be used on all platforms, even if some Nix expressions don't work on all platforms. Not sure if this is a good idea; it's a bit hacky. In particular, due to laziness some derivations might appear in `nix-env -qa' but disappear in `nix-env -qas' or `nix-env -i'. Commit 5000!
2006-03-08 * Some refactoring of the exception handling code so that we can catchEelco Dolstra5-22/+45
Nix expression assertion failures.
2006-03-06 * GCC 4.1 compatibility.Eelco Dolstra1-1/+1
2006-03-06 * `nix-env (-i|-u) --dry-run' now shows exactly which missing pathsEelco Dolstra9-22/+120
will be built or substituted.
2006-03-06 * Regularise help text a bit.Eelco Dolstra4-4/+4
2006-03-01 * Flags `--to-base32' and `--to-base16' to convert between hex andEelco Dolstra1-2/+19
base-32 hashes.
2006-03-01 * Ouch, parseHash32 was completely broken. All digits >= 4 wereEelco Dolstra1-1/+1
parsed as 4. For a moment I worried that printHash32 was broken, and that would have been really, *really* bad ;-)
2006-03-01 * db.hh shouldn't depend on the Berkeley DB headers.Eelco Dolstra5-3/+13
2006-03-01 * Close the database before the destructor runs.Eelco Dolstra4-0/+15
2006-03-01 * Uninitialised variable. Fixes the --delete test.Eelco Dolstra1-1/+1
2006-03-01 * Wrong delete. Thanks valgrind.Eelco Dolstra1-1/+1
2006-03-01 * Generate valid HTML.Eelco Dolstra1-15/+22
2006-03-01 * Remove dead code.Eelco Dolstra1-30/+0
2006-02-17 * In "nix-env -i", print a warning if there are multiple derivationsEelco Dolstra1-24/+16
with the same name *and* version number, and pick the first one (this means that the order in which channels appear in ~/.nix-channels matters). E.g.: $ nix-env ii aterm warning: there are multiple derivations named `aterm-2.4.2'; using the first one installing `aterm-2.4.2'
2006-02-17 * Fix for NIX-31: "nix-env -i foo" installing all derivations namedEelco Dolstra1-8/+62
foo. Now it will only install the one with the highest version number.
2006-02-17 * Fix the infamous NIX-17: nix-env -i prints misleading messagesEelco Dolstra1-7/+9
("installing `foo'" followed by "uninstalling `foo'").
2006-02-16 * Allow the size of the GC reserved file to be specified in nix.confEelco Dolstra3-9/+18
through the new `gc-reserved-space' option.
2006-02-16 * A simple hack to fix NIX-18: the garbage collector cannot run whenEelco Dolstra3-4/+24
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.
2006-02-13 * Optional switch "--with-openssl=<PATH>" to use OpenSSL'sEelco Dolstra6-40/+48
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.
2006-02-13 * Use a union.Eelco Dolstra1-2/+1
2006-02-13 * Override YYMALLOC and YYFREE so that we can call AT[un]protectMemoryEelco Dolstra1-0/+20
on the Bison parse stack. Otherwise, a garbage collect during parsing could lead to a crash.
2006-02-10 * Enable the --attr in nix-build as well (and add -A as an alias).Eelco Dolstra1-1/+1
Example: $ nix-build ./all-packages.nix -A xlibs.libX11 So finally it's easy to perform a test build of a Nix expression!
2006-02-10 * In nix-instantiate, allow us to specify a "path" to theEelco Dolstra3-31/+87
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.
2006-02-10 * Make --parse-only work when *not* reading from stdin.Eelco Dolstra1-2/+4
2006-02-10 * Cleanup: use the code shared with nix-env.Eelco Dolstra1-64/+15
2006-02-08 * When querying all derivations, filter out syntactically equal derivations.Eelco Dolstra1-12/+36
2006-02-08 * When evaluating, automatically call functions with default arguments.Eelco Dolstra1-4/+23
2006-02-08 * Oops, fix breakage.Eelco Dolstra1-0/+2
2006-02-08 * Refactoring: move derivation evaluation to libexpr.Eelco Dolstra4-187/+209
2006-02-03 * Use setsid instead of setpgrp in child processes. This not onlyEelco Dolstra1-6/+8
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).
2006-02-02 * When killing a build hook, kill the entire process group (asEelco Dolstra1-0/+1
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.)
2006-02-01 * Print a better error message when writing the patched file (e.g.,Eelco Dolstra1-2/+21
"No space left on device" instead of "Success"). Reported by Karina Olmos.
2006-02-01 * bsdiff updated to 4.3. This makes Nix depend on libbz2.Eelco Dolstra13-522/+448
2006-02-01 * The "S" bit should be based on the output path, not the derivation path.Eelco Dolstra1-1/+1
2006-01-26 * Oops, the "I" bit in "nix-env -qas" was broken. Reported by Nicolae Vintila.Eelco Dolstra1-1/+1
2006-01-19 * Don't show cycles, they're not very useful.Eelco Dolstra1-2/+4
2006-01-09 * dirOf: return "/", not "", for paths in the root directory. Fixes NIX-26.Eelco Dolstra2-3/+3
2006-01-08 * Resolve all symlink components in the location of the temporaryEelco Dolstra2-4/+25
build directory (TMPDIR, i.e., /tmp). Fixes NIX-26.
2005-12-25 * More GCC 2.95 compatibility.Eelco Dolstra1-1/+1
2005-12-25 * Hack around a GCC 2.95 bug.Eelco Dolstra1-2/+2
2005-12-24 * GCC 2.95 compatibility.Eelco Dolstra1-1/+1
2005-12-24 * Documentation fixes.Eelco Dolstra1-2/+2
2005-12-23 * Added a flag `--ignore-liveness' to `nix-store --delete'. ItEelco Dolstra3-6/+12
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).
2005-12-23 * Revived the old "nix-store --delete" operation that deletes theEelco Dolstra4-11/+45
specified paths from the Nix store. However, this operation is safe: it refuses to delete anything that the garbage collector wouldn't delete.
2005-12-15 * `nix-store --gc' prints out the number of bytes freed on stdoutEelco Dolstra7-11/+45
(even when it is interrupted by a signal).
2005-12-15 * Split the database upgrade into multiple transactions to preventEelco Dolstra1-2/+11
Berkeley DB from running out of locks.
2005-12-13 * Change `referer' to `referrer' throughout. In particular, theEelco Dolstra7-49/+50
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).