Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2003-07-24 | * Don't sync the database on close. This was killing performance. | Eelco Dolstra | 1 | -1/+1 | |
(Of course, the real problem is that we open the database for *every* operation; we should only open it once. And we should use transactions.) | |||||
2003-07-23 | * Incorporated Berkeley DB and ATerm into the source tree. | Eelco Dolstra | 1 | -2/+6 | |
* `make dist'. | |||||
2003-07-22 | * libdb_cxx-4 -> libdb_cxx | Eelco Dolstra | 1 | -4/+4 | |
2003-07-22 | * Substitutes now should produce a path with the same id as they are | Eelco Dolstra | 6 | -46/+72 | |
substituting for (obvious, really). * For greater efficiency, nix-pull/unnar will place the output in a path that is probably the same as what is actually needed, thus preventing a path copy. * Even if a output id is given in a Fix package expression, ensure that the resulting Nix derive expression has a different id. This is because Nix expressions that are semantically equivalent (i.e., build the same result) might be different w.r.t. efficiency or divergence. It is absolutely vital for the substitute mechanism that such expressions are not used interchangeably. | |||||
2003-07-22 | * `nix --query --expansion' (`-qe') to get any path with content | Eelco Dolstra | 1 | -3/+13 | |
corresponding to the given id. | |||||
2003-07-21 | * In `--query --generators', print out paths, not ids. | Eelco Dolstra | 1 | -1/+1 | |
(There should really be a switch for this). | |||||
2003-07-21 | * Check for errors. | Eelco Dolstra | 1 | -1/+1 | |
2003-07-21 | * Canonicalise path. | Eelco Dolstra | 1 | -1/+1 | |
2003-07-21 | * Allow the output/expression id to be forced to a certain | Eelco Dolstra | 4 | -12/+19 | |
value; this potentially dangerous feature enables better sharing for those paths for which the content is known in advance (e.g., because a content hash is given). * Fast builds: if we can expand all output paths of a derive expression, we don't have to build. | |||||
2003-07-21 | * Changes to the command line syntax of Nix. | Eelco Dolstra | 5 | -78/+117 | |
* A function to find all Nix expressions whose output ids are completely contained in some set. Useful for uploading relevant Nix expressions to a shared cache. | |||||
2003-07-21 | * Memoize the evaluation of Fix expressions to speed up computation. | Eelco Dolstra | 2 | -25/+47 | |
2003-07-20 | * Argh, another short-write problem. Added wrappers around | Eelco Dolstra | 8 | -36/+43 | |
read()/write() to fix this once and for all. | |||||
2003-07-20 | * Remove accidentally added file. | Eelco Dolstra | 1 | -0/+0 | |
2003-07-20 | * Refactorings. | Eelco Dolstra | 13 | -587/+609 | |
2003-07-17 | * For debugging: `nix --verify' to check the consistency of the | Eelco Dolstra | 7 | -14/+139 | |
database and store. | |||||
2003-07-17 | * Preserve the executable bit. | Eelco Dolstra | 1 | -0/+13 | |
2003-07-16 | * The write() system call can write less than the requested | Eelco Dolstra | 1 | -3/+7 | |
number of bytes, e.g., in case of a signal like SIGSTOP. This caused `nix --dump' to fail sometimes. Note that this bug went unnoticed because the call to `nix --dump' is in a pipeline, and the shell ignores non-zero exit codes from all but the last element in the pipeline. Is there any way to check the result of the initial elements in the pipeline? (In other words, is it at all possible to write reliable shell scripts?) | |||||
2003-07-16 | * Bug fix: slices are transitive, so if we detect that an | Eelco Dolstra | 1 | -5/+10 | |
input path is referenced in an output paths, we also have to add all ids referenced by that input path. * Better debug assertions to catch these sorts of errors. | |||||
2003-07-16 | * Substitute fixes. | Eelco Dolstra | 4 | -17/+68 | |
2003-07-16 | * Fix the -qr query. | Eelco Dolstra | 3 | -15/+40 | |
2003-07-16 | * Fix self-referential outputs. | Eelco Dolstra | 5 | -30/+28 | |
* Fix -qp query. | |||||
2003-07-15 | * Get Fix and Nix to work again. | Eelco Dolstra | 6 | -268/+93 | |
2003-07-15 | * The new normaliser now passes the unit tests. | Eelco Dolstra | 7 | -34/+179 | |
2003-07-15 | * Basic work on allowing derive expressions to build multiple paths. | Eelco Dolstra | 7 | -193/+366 | |
This is not entirely trivial since this introduces the possibility of mutual recursion. * Made normal forms self-contained. * Use unique ids, not content hashes, for content referencing. | |||||
2003-07-14 | * After building, scan for actual file system references as | Eelco Dolstra | 7 | -12/+149 | |
opposed to declared references. This prunes the reference graph, thus allowing better garbage collection and more efficient derivate distribution. | |||||
2003-07-13 | * Don't check for staleness by default. | Eelco Dolstra | 1 | -0/+3 | |
2003-07-13 | * Pass $(prefix) and other variables through -D..., not | Eelco Dolstra | 1 | -9/+17 | |
through config.h, to prevent silly Autoconf problems. | |||||
2003-07-13 | * Generate the scripts so that we can substitute the prefix | Eelco Dolstra | 1 | -3/+0 | |
etc. correctly. * Fixed nix-switch. | |||||
2003-07-11 | * Fix a bug that caused Fix not to be deterministic (due to addToStore | Eelco Dolstra | 3 | -9/+9 | |
returning different paths if the hash of the path to be added was already available in the store under a different name). | |||||
2003-07-11 | * Fix handling of pipes (read(2) may not return the required | Eelco Dolstra | 1 | -5/+7 | |
number of bytes in one call). | |||||
2003-07-10 | * A command to register successor fstate expressions. | Eelco Dolstra | 3 | -1/+28 | |
Unifying substitutes and successors isn't very feasible for now, since substitutes are only used when no path with a certain is known. Therefore, a normal form of some expression stored as a substitute would not be used unless the expression itself was missing. | |||||
2003-07-10 | * The policy-free derivate sharing now *almost* works. :-) For any | Eelco Dolstra | 5 | -9/+73 | |
hash for which no local expansion is available, Nix can execute a `substitute' which should produce a path with such a hash. This is policy-free since Nix does not in any way specify how the substitute should work, i.e., it's an arbitrary (unnormalised) fstate expression. For example, `nix-pull' registers substitutes that fetch Nix archives from the network (through `wget') and unpack them, but any other method is possible as well. This is an improvement over the old Nix sharing scheme, which had a policy (fetching through `wget') built in. The sharing scheme doesn't work completely yet because successors from fstate rewriting have to be registered on the receiving side. Probably the whole successor stuff can be folded up into the substitute mechanism; this would be a nice simplification. | |||||
2003-07-10 | * Get `nix-push' working again. It now uses Nix/Fix to create Nix | Eelco Dolstra | 8 | -51/+69 | |
archives (using the package in corepkgs/nar). * queryPathByHash -> expandHash, and it takes an argument specifying the target path (which may be empty). * Install the core Fix packages in $prefix/share/fix. TODO: bootstrap Nix and install Nix as a Fix package. | |||||
2003-07-10 | * Actually go through the search directories when looking for files. | Eelco Dolstra | 1 | -9/+23 | |
2003-07-09 | * Outline of the new scheme for derivate distribution. | Eelco Dolstra | 4 | -4/+35 | |
2003-07-09 | * When computing the set of paths referenced by an expression, also | Eelco Dolstra | 4 | -44/+68 | |
include the paths of the subterms. | |||||
2003-07-08 | * Canonicalise paths so that Fix produces identical Nix | Eelco Dolstra | 3 | -3/+4 | |
expressions for identical inputs. | |||||
2003-07-08 | * A path canonicaliser that doesn't depend on the existence of paths | Eelco Dolstra | 2 | -5/+42 | |
(i.e., it doesn't use realpath(3), which is broken in any case). Therefore it doesn't resolve symlinks. | |||||
2003-07-08 | * The output of a Derive() node is not a referenced path. | Eelco Dolstra | 2 | -3/+1 | |
2003-07-08 | * A command to query the paths referenced by an fstate expression. | Eelco Dolstra | 6 | -97/+198 | |
* Use a temporary directory for build actions. | |||||
2003-07-08 | * Get `--dump' and `--delete' to work again. | Eelco Dolstra | 1 | -51/+17 | |
2003-07-08 | * Renamed `id' -> `name' to remove the implication of uniqueness. | Eelco Dolstra | 1 | -5/+5 | |
2003-07-08 | * deletePath() now removes the path from the hash2paths mapping. | Eelco Dolstra | 1 | -1/+22 | |
2003-07-08 | * BaseName() primitive for the generation of more sensible names | Eelco Dolstra | 1 | -0/+8 | |
(especially in fetchurl.fix). | |||||
2003-07-08 | * Get rid of the `netsources' database. | Eelco Dolstra | 3 | -23/+10 | |
* Rename the `refs' database to `hash2paths'. | |||||
2003-07-07 | * `--realise' -> `--install'. | Eelco Dolstra | 2 | -8/+5 | |
2003-07-07 | * Make dbRefs a mapping from Hash to [Path]. | Eelco Dolstra | 11 | -49/+172 | |
2003-07-07 | * Fixed `make check' as well. | Eelco Dolstra | 1 | -2/+2 | |
2003-07-07 | * Refactoring on the file names. | Eelco Dolstra | 7 | -60/+17 | |
2003-07-06 | * A utility `nix-hash' to compute Nix path hashes. | Eelco Dolstra | 3 | -4/+21 | |