about summary refs log tree commit diff
path: root/src/libutil
AgeCommit message (Collapse)AuthorFilesLines
2004-03-27 * Disallow the Nix store or any of its parents from being symlinks.Eelco Dolstra1-5/+8
This is because the contents of these symlinks are not incorporated into the hashes of derivations, and could therefore cause a mismatch between the build system and the target system. E.g., if `/nix/store' is a symlink to `/data/nix/store', then a builder could expand this path and store the result. If on the target system `/nix/store' is not a symlink, or is a symlink that points somewhere else, we have a dangling pointer. The trigger for this change is that gcc 3.3.3 does exactly that (it applies realpath() to some files, such as libraries, which causes our impurity checker to bail out.) An annoying side-effect of this change is that it makes it harder to move the Nix store to a different file system. On Linux, bind mounts can be used instead of symlink for this purpose (e.g., `mount -o bind /data/nix/store /nix/store').
2004-03-27 * Do not close a nesting level twice after close() has beenEelco Dolstra1-0/+1
called explicitly on a Nest object.
2004-03-22 * Some more nesting.Eelco Dolstra2-10/+27
2004-03-22 * Nix now has three different formats for the log information itEelco Dolstra2-6/+34
writes to stderr: - `pretty': the old nested style (default) - `escapes': uses escape codes to indicate nesting and message level; can be processed using `log2xml' - `flat': just plain text, no nesting These can be set using `--log-type TYPE' or the NIX_LOG_TYPE environment variable.
2004-02-16 * Allow linking against an external Berkeley DB / ATerm library.Eelco Dolstra1-2/+2
2004-02-06 * Use the profile pointed to by ~/.nix-profile if no --profileEelco Dolstra1-1/+1
argument is specified.
2004-01-15 * Catch SIGINT to terminate cleanly when the user tries to interruptEelco Dolstra3-0/+36
Nix. This is to prevent Berkeley DB from becoming wedged. Unfortunately it is not possible to throw C++ exceptions from a signal handler. In fact, you can't do much of anything except change variables of type `volatile sig_atomic_t'. So we set an interrupt flag in the signal handler and check it at various strategic locations in the code (by calling checkInterrupt()). Since this is unlikely to cover all cases (e.g., (semi-)infinite loops), sometimes SIGTERM may now be required to kill Nix.
2004-01-05 * Implemented Eelco V.'s `nix-env -I' command to specify the defaultEelco Dolstra3-4/+19
path of the Nix expression to be used with the import, upgrade, and query commands. For instance, $ nix-env -I ~/nixpkgs/pkgs/system/i686-linux.nix $ nix-env --query --available [aka -qa] sylpheed-0.9.7 bison-1.875 pango-1.2.5 subversion-0.35.1 ... $ nix-env -i sylpheed $ nix-env -u subversion There can be only one default at a time. * If the path to a Nix expression is a symlink, follow the symlink prior to resolving relative path references in the expression.
2003-12-22 * Upgrade operation in `nix-env'. For instance, you can sayEelco Dolstra1-1/+2
nix-env -u foo.nix strategoxt to replace the installed `strategoxt' derivation with the one from `foo.nix', if the latter has a higher version number. This is a no-op if `strategoxt' is not installed. Wildcards are also accepted, so nix-env -u foo.nix '*' will replace any installed derivation with newer versions from `foo.nix', if available. The notion of "version number" is somewhat ad hoc, but should be useful in most cases, as evidenced by the following unit tests for the version comparator: TEST("1.0", "2.3", -1); TEST("2.1", "2.3", -1); TEST("2.3", "2.3", 0); TEST("2.5", "2.3", 1); TEST("3.1", "2.3", 1); TEST("2.3.1", "2.3", 1); TEST("2.3.1", "2.3a", 1); TEST("2.3pre1", "2.3", -1); TEST("2.3pre3", "2.3pre12", -1); TEST("2.3a", "2.3c", -1); TEST("2.3pre1", "2.3c", -1); TEST("2.3pre1", "2.3q", -1); (-1 = less, 0 = equal, 1 = greater) * A new verbosity level `lvlInfo', between `lvlError' and `lvlTalkative'. This is the default for `nix-env', so without any `-v' flags users should get useful output, e.g., $ nix-env -u foo.nix strategoxt upgrading `strategoxt-0.9.2' to `strategoxt-0.9.3'
2003-12-01 * Fix `make check'.Eelco Dolstra1-1/+1
2003-12-01 * Use a system name that does not include the OS manufacturer (i.e.,Eelco Dolstra1-1/+1
"i686-linux" instead of "i686-suse-linux").
2003-11-25 * More `make dist' fixes.Eelco Dolstra1-3/+2
2003-11-25 * Allow integer bindings in derivations.Eelco Dolstra2-1/+17
2003-11-22 * Fix the garbage collector.Eelco Dolstra2-0/+16
2003-11-19 * nix-env: a tool to manage user environments.Eelco Dolstra3-37/+33
* Replace all directory reading code by a generic readDirectory() function.
2003-11-18 * "Nix expression" -> "store expression".Eelco Dolstra2-0/+18
* More refactoring.
2003-11-18 * Source tree refactoring.Eelco Dolstra12-0/+1904