aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-03-04* Basic blacklist checker. Each element in a user environment isEelco Dolstra
checked against every item in a blacklist.
2005-03-03* Don't use fork() in copyPath(), but a string buffer.Eelco Dolstra
2005-03-03* Channel fix.Eelco Dolstra
2005-03-03* Increase Berkeley DB limits a bit more.Eelco Dolstra
* Maintain the cleanup invariant in clearSubstitutes().
2005-03-02* Concept for a simple blacklist.Eelco Dolstra
2005-03-02* `nix-store -q --hash' to quickly query the hash of the contents of aEelco Dolstra
store path (which is stored in the database).
2005-03-01* Doh!Eelco Dolstra
2005-03-01* Add missing file to dist.Eelco Dolstra
2005-03-01* Use a weighted use heuristic to disambiguate between multipleEelco Dolstra
occurances of a component. If the shortest path distance between a component P and Q in the referers graph is D, then the contribution of Q to the use of P is 1 / R^D, where R >= 1, typically 2. This expresses that distant indirect uses are less important than nearby uses. For instance, this can disambiguate between the bootstrap GCC in Nixpkgs and the GCC of the final stdenv (the former has more uses, but they are further away), and between the GCC of the final stdenv and the GCC+G77 build (the latter has very few uses).
2005-02-28* Added a disambiguation heuristic: if two components have the sameEelco Dolstra
name but differ to much in sice (by more than a factor of 3), then never generate a patch.
2005-02-25* Add a version number to manifests.Eelco Dolstra
2005-02-25* Pause if errors occur.Eelco Dolstra
2005-02-25* nix-install-package: Use the new (trivial) package format generatedEelco Dolstra
by the build farm. See e.g., http://catamaran.labs.cs.uu.nl/dist/nixpkgs-0.8/nixpkgs-0.7pre2302/; the user can click on packages, and they will be installed (assuming the `application/nix-package' MIME type has been associated with `nix-install-package'). Nix expressions are no longer involved: a "package" is just a pointer to a manifest, and the top-level store derivation to be added to the user environment. This makes these packages independent from Nix expression evolution. Note that we install the store derivation ($drvPath), not the resulting output path ($outPath). This is equivalent, except that installing the derivation maintains the back-link from the output path to the derivation that built it. This is useful for maintenance. * Automatically re-exec in an xterm so that the user sees something when `nix-install-package' is run from a browser.
2005-02-24* Properly specify the hash algorithm in the manifests, and read itEelco Dolstra
too. * Change the default hash for nix-prefetch-url back to md5, since that's what we use in Nixpkgs (for now; a birthday attack is rather unlikely there).
2005-02-24* (Unnecessary) refactoring.Eelco Dolstra
2005-02-23* When multiple derivations are specified in `nix-store -r', don'tEelco Dolstra
continue building when one fails unless `--keep-going' is specified. * When `--keep-going' is specified, print out the set of failing derivations at the end (otherwise it can be hard to find out which failed).
2005-02-22* Support for fixed-output hashes over directory trees (i.e., over theEelco Dolstra
NAR dump of the path).
2005-02-22* Compatibility hack so that Nixpkgs can continue to do hash checkingEelco Dolstra
in `fetchurl' in Nix <= 0.7, but doesn't in Nix 0.8.
2005-02-18* Subtle bug in the builder: if a subgoal that is instantiatedEelco Dolstra
multiple times is also a top-level goal, then the second and later instantiations would never be created because there would be a stable pointer to the first one that would keep it alive in the WeakGoalMap. * Some tracing code for debugging this kind of problem.
2005-02-18* `make check' fix.Eelco Dolstra
2005-02-17* `nix-store -q --tree' shows a tree representing the dependency graphEelco Dolstra
of the given derivation. Useful for getting a quick overview of how something was built. E.g., to find out how the `baffle' program in your user environment was built, you can do $ nix-store -q --tree $(nix-store -qd $(which baffle)) Tree nesting depth is minimised (?) by topologically sorting paths under the relation A < B iff A \in closure(B).
2005-02-17* Compatibility hack with older user environments.Eelco Dolstra
2005-02-17* Switch to the calling user context for some more operations in aEelco Dolstra
setuid installation.
2005-02-17* Put build logs in $prefix/var/nix/log/drvs/.Eelco Dolstra
2005-02-17* Fix nix-channel.Eelco Dolstra
* Add `--help' flag; fixes NIX-5. * Add `--remove' flag; fixes NIX-6. * Add `--list' flag.
2005-02-15* Compatibility with older GCCs.Eelco Dolstra
2005-02-15* And yet another installation source: the ability to copy userEelco Dolstra
environment elements from one user environment to another, e.g., $ nix-env -i --from-profile /nix/var/nix/profiles/other-profile aterm copies the `aterm' component installed in the `other-profile' to the user's current profile.
2005-02-15* Fix broken GC test.Eelco Dolstra
2005-02-14* It is now possible to add store derivations or paths directly to aEelco Dolstra
user environment, e.g., $ nix-env -i /nix/store/z58v41v21xd3ywrqk1vmvdwlagjx7f10-aterm-2.3.1.drv or $ nix-env -i /nix/store/hsyj5pbn0d9iz7q0aj0fga7cpaadvp1l-aterm-2.3.1 This is useful because it allows Nix expressions to be bypassed entirely. For instance, if only a nix-pull manifest is provided, plus the top-level path of some component, it can be installed without having to supply the Nix expression (e.g., for obfuscation, or to be independent of Nix expression language changes or context dependencies).
2005-02-14* Added an installation source `--from-expression' (or `-E') toEelco Dolstra
install derivations from a Nix expression specified on the command line. This is particularly useful for disambiguation if there are multiple derivations with the same name. For instance, in Nixpkgs, to install the Firefox wrapper rather than the plain Firefox component: $ nix-env -f .../i686-linux.nix -i -E 'x: x.firefoxWrapper' The Nix expressions should be functions to which the default Nix expression (in this case, `i686-linux.nix') is passed, hence `x: ...'. This might also be a nice way to deal with high-level (user-level) variability, e.g., $ nix-env -f ./server.nix -i -E 'x: x {port = 8080; ssl = false;}'
2005-02-14* Refactoring. Hope this doesn't break the semantics of `-u' ;-)Eelco Dolstra
2005-02-14* Implement the `gc-keep-derivations' global configuretion flag.Eelco Dolstra
2005-02-14* Global configuration option `env-keep-derivations' to store pointerEelco Dolstra
to derivations in user environments. Nice for developers (since it prevents build-time-only dependencies from being GC'ed, in conjunction with `gc-keep-outputs'). Turned off by default.
2005-02-14* Don't keep the derivation symlink when creating profile generations.Eelco Dolstra
2005-02-14* Type error in constructor call (caught by GCC 3.3, but not 3.4!).Eelco Dolstra
2005-02-11* Refactoring to support different installation sources in nix-env.Eelco Dolstra
* Set the references for the user environment manifest properly. * Don't copy the manifest (this was accidental). * Don't store derivation paths in the manifest (maybe this should be made optional). This cleans up the semantics of nix-env, which were weird. * Hash on the output paths of activated components, not on derivation paths. This is because we don't know the derivation path of already installed components anymore, and it allows the installation of components by store path (skipping Nix expressions entirely). * Query options `--out-path' and `--drv-path' to show the output and derivation paths of components, respectively (the latter replaces the `--expr' query).
2005-02-11* Input sources should be in the set of all referenceable paths too.Eelco Dolstra
2005-02-09* Commit more often to prevent out-of-memory errors.Eelco Dolstra
2005-02-09* Propagate the deriver of a path through the substitute mechanism.Eelco Dolstra
* Removed some dead code (successor stuff) from nix-push. * Updated terminology in the tests (store expr -> drv path). * Check that the deriver is set properly in the tests.
2005-02-09* Automatically upgrade <= 0.7 Nix stores to the new schema (so thatEelco Dolstra
existing user environments continue to work). * `nix-store --verify': detect incomplete closures.
2005-02-08* Subflag in `--verify': `nix-store --verify --check-contents' checksEelco Dolstra
that the contents of store paths has not changed by comparing hashes of their current contents to the hashes stored in the database.
2005-02-08* Updated `nix-store --verify' to the new schema.Eelco Dolstra
2005-02-08* Set umask to prevent permission problems.Eelco Dolstra
2005-02-08* Better error reporting in readmanifest.Eelco Dolstra
* Use force flag in `mv' to prevent silly interactive questions (this happens with shared Nix stores).
2005-02-07* `nix-store -qb' to query derivation environment bindings. UsefulEelco Dolstra
for finding build-time dependencies (possibly after a build). E.g., $ nix-store -qb aterm $(nix-store -qd $(which strc)) /nix/store/jw7c7s65n1gwhxpn35j9rgcci6ilzxym-aterm-2.3.1 * Arguments to nix-store can be files within store objects, e.g., /nix/store/jw7c...-aterm-2.3.1/bin/baffle. * Idem for garbage collector roots.
2005-02-07* Maintain a database table (`derivers') that maps output paths to theEelco Dolstra
derivation that produced them. * `nix-store -qd PATH' prints out the derivation that produced a path.
2005-02-01* A GC setting `gc-keep-outputs' to specify whether output paths ofEelco Dolstra
derivations should be kept.
2005-02-01* Added a global configuration file (/nix/etc/nix/nix.conf). ItEelco Dolstra
contains options for the garbage collector right now, but other stuff can be added here later.
2005-02-01* Remove debug code.Eelco Dolstra
2005-02-01* Make check fixes.Eelco Dolstra