summary refs log tree commit diff
AgeCommit message (Collapse)Author
2007-08-13* Fix the tests.Eelco Dolstra
2007-08-13* Bump the Nix database schema version number; delete the substitutesEelco Dolstra
table.
2007-08-13* Backwards compatibility.Eelco Dolstra
2007-08-12* Get rid of the substitutes database table (NIX-47). Instead, if weEelco Dolstra
need any info on substitutable paths, we just call the substituters (such as download-using-manifests.pl) directly. This means that it's no longer necessary for nix-pull to register substitutes or for nix-channel to clear them, which makes those operations much faster (NIX-95). Also, we don't have to worry about keeping nix-pull manifests (in /nix/var/nix/manifests) and the database in sync with each other. The downside is that there is some overhead in calling an external program to get the substitutes info. For instance, "nix-env -qas" takes a bit longer. Abolishing the substitutes table also makes the logic in local-store.cc simpler, as we don't need to store info for invalid paths. On the downside, you cannot do things like "nix-store -qR" on a substitutable but invalid path (but nobody did that anyway). * Never catch interrupts (the Interrupted exception).
2007-08-10* nix-pull: support bzipped manifests: when doing a nix-pull on $url,Eelco Dolstra
try $url.bz2 first.
2007-08-10* Enable nix-prefetch-url caching in nix-channel.Eelco Dolstra
2007-08-10* Don't rely on /dev/stdin.Eelco Dolstra
2007-08-09* nix-pull: using nix-prefetch-url (so that we get caching for free),Eelco Dolstra
and store the manifests in the Nix store. (So now /nix/var/nix/manifests/ just contains symlinks to the store and is searched for GC roots.)
2007-08-09* nix-prefetch-url: support caching. If the environment variableEelco Dolstra
NIX_DOWNLOAD_CACHE is set, then nix-prefetch-url will store the hash and timestamp of downloaded files in the directory $NIX_DOWNLOAD_CACHE. This allows it to figure out if the file is still in the Nix store.
2007-08-07* Use the new patched version of the aterm library.Eelco Dolstra
2007-08-07* Don't allocate input files on the stack.Eelco Dolstra
2007-08-06* Optionally warn about packages that give an assertion failure.Eelco Dolstra
2007-07-05* Properly keep packages during upgrades.Eelco Dolstra
2007-06-12* Support queryDeriver() in multi-user installations.Eelco Dolstra
2007-06-11* Distribute bzip2 1.0.4.Eelco Dolstra
2007-06-11* Check against creation of GC roots in the store. Those roots don'tEelco Dolstra
work, because findRoots() stops when it encounters a symlink to the store. And of course the store is supposed to be read-only.
2007-06-04* Remove debug statement.Eelco Dolstra
2007-06-02change default NIX_HASH_ALGOArmijn Hemel
2007-05-16(no commit message)Eelco Dolstra
2007-05-16* New builtin function "isFunction". You're not supposed to use itEelco Dolstra
;-) * Channels: fix channels that are plain lists of derivations (like strategoxt-unstable) instead of functions (like nixpkgs-unstable). This fixes the error message "error: the left-hand side of the function call is neither a function nor a primop (built-in operation) but a list".
2007-05-15* Allow empty argument lists in function definitions (e.g., `{}:Eelco Dolstra
bla'). Also allow trailing commas (`{x, y,}: ...') as a unintented consequence. Hopefully the reduce/reduce conflict won't cause any problems.
2007-05-14* Typo (reported by Marc Weber).Eelco Dolstra
2007-05-07* Create the database directory if it doesn't exist.Eelco Dolstra
2007-05-02* Set the right priorities when recovering from a directoryEelco Dolstra
collision.
2007-05-02(no commit message)Eelco Dolstra
2007-05-01* Give unpacked channels more sensible names than 0, 1, ... They nowEelco Dolstra
get the basename of the channel URL (e.g., nixpkgs-unstable). The top-level Nix expression of the channel is now an attribute set, the attributes of which are the individual channels (e.g., {nixpkgs_unstable = ...; strategoxt_unstable = ...}). This makes attribute paths ("nix-env -qaA" and "nix-env -iA") more sensible, e.g., "nix-env -iA nixpkgs_unstable.subversion".
2007-05-01* nix-env -i: instead of breaking package ties by version, break themEelco Dolstra
by priority and version install. That is, if there are multiple packages with the same name, then pick the package with the highest priority, and only use the version if there are multiple packages with the same priority. This makes it possible to mark specific versions/variant in Nixpkgs more or less desirable than others. A typical example would be a beta version of some package (e.g., "gcc-4.2.0rc1") which should not be installed even though it is the highest version, except when it is explicitly selected (e.g., "nix-env -i gcc-4.2.0rc1"). * Idem for nix-env -u, only the semantics are a bit trickier since we also need to take into account the priority of the currently installed package (we never upgrade to a lower priority, unless --always is given).
2007-05-01* Set a terminate() handler to ensure that we leave the BDBEelco Dolstra
environment cleanly even when an exception is thrown from a destructor. We still crash, but we don't take all other Nix processes with us.
2007-05-01* Make --verify more interruptable.Eelco Dolstra
2007-05-01* `nix-env -q --xml --meta' to show all meta attributes.Eelco Dolstra
2007-04-30* Doh.Eelco Dolstra
2007-04-27* Package flag "keep" that prevents a package from being removed fromEelco Dolstra
a user environment by an install or upgrade action. This is particularly useful if you have a version installed that you don't want to upgrade (e.g., because the newer versions are broken). Example: $ nix-env -u zapping --dry-run (dry run; not doing anything) upgrading `zapping-0.9.6' to `zapping-0.10cvs6' $ nix-env --set-flag keep true zapping $ nix-env -u zapping --dry-run (dry run; not doing anything) However, "-e" will still uninstall the package. (Maybe we should require the keep flag to be explicitly set to false before it can be uninstalled.)
2007-04-27* Package conflict resolution through priority levels. If there is aEelco Dolstra
user environment collission between two packages due to overlapping file names, then a package with a higher priority will overwrite the symlinks of a package with a lower priority. E.g., $ nix-env --set-flag priority 5 gcc $ nix-env --set-flag priority 10 binutils gives gcc a higher priority than binutils (higher number = lower priority).
2007-04-27* Allow conflicting packages to be kept in a user environment, andEelco Dolstra
allow switching between them (NIX-80). Example: two versions of Pan: $ nix-env -q pan pan-0.128 pan-0.14.2.91 $ readlink $(which pan) /nix/store/l38jrbilw269drpjkx7kinhrxj6fjh59-pan-0.14.2.91/bin/pan At most one of them can be active any given time. Assuming than 0.14.2.91 is active, you can active 0.128 as follows: $ nix-env --set-flag active false pan-0.14.2.91 $ nix-env --set-flag active true pan-0.128 $ readlink $(which pan) /nix/store/nziqwnlzy7xl385kglxhg75pfl5i936n-pan-0.128/bin/pan More flags to follow.
2007-04-26* nix-env -q now has a flag --prebuilt-only (-b<) that causes nix-envEelco Dolstra
to show only those derivations whose output is already in the Nix store or that can be substituted (i.e., downloaded from somewhere). In other words, it shows the packages that can be installed “quickly”, i.e., don’t need to be built from source.
2007-04-16* Updated dependency information.Eelco Dolstra
2007-04-16* New primop "throw <string>" to throw an error. This is like abort,Eelco Dolstra
only thrown errors are caught by the top-level derivation evaluation in nix-env -qa / -i.
2007-04-16* Remove a warning.Eelco Dolstra
2007-04-16* It seems that svnversion prints a carriage return on Cygwin, so weEelco Dolstra
get a invalid #define VERSION. Use "svnversion -n" to leave out the newline. Fix provided by Marc Weber.
2007-03-30* Work around a bug in Apple's GCC preprocessor.Eelco Dolstra
2007-03-30* Make the maximum patch size configurable.Eelco Dolstra
2007-03-28* Handle ECONNRESET from the client. Also, don't abort() if there areEelco Dolstra
unexpected conditions in the SIGPOLL handler, since that messes up the Berkeley DB environment (which a client must never be able to trigger).
2007-03-27* Forgot a @bindir@.Eelco Dolstra
2007-03-26* `nix-copy-closure --from': copy from a remote machine instead of toEelco Dolstra
a remote machine.
2007-03-26* Refactoring.Eelco Dolstra
2007-03-21* Fix URL/description.Eelco Dolstra
2007-03-20* Override the setuid helper using NIX_SETUID_HELPER.Eelco Dolstra
2007-03-20* Scan /proc/sys/kernel/modprobe for roots to prevent the kernelEelco Dolstra
modules for the running kernel from being garbage-collected. Idem for /proc/sys/kernel/fbsplash.
2007-03-19* Terminate build hooks and substitutes with a TERM signal, not a KILLEelco Dolstra
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 Dolstra
checking to be turned off on machines with way too many roots.