Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2003-10-08 | * Get rid of identifiers since they are redundant now. This greatly | Eelco Dolstra | 23 | -624/+478 | |
simplifies stuff. * The format of Nix expressions and the database schema changed because of this, so it's best to delete old Nix installations. | |||||
2003-10-07 | * string -> Path. | Eelco Dolstra | 2 | -20/+26 | |
2003-10-07 | * Synchronise terminology with the ICSE paper (e.g., slice -> closure, | Eelco Dolstra | 14 | -266/+252 | |
fstate -> Nix expression). * Fix src/test.cc. | |||||
2003-10-02 | * Include the right files in a distribution. | Eelco Dolstra | 1 | -1/+1 | |
2003-10-02 | * Nix now respects $TMPDIR for the creation of temporary build directories. | Eelco Dolstra | 3 | -5/+24 | |
* Retry creation of a temporary directory (with a different name) in the case of EEXIST. | |||||
2003-09-11 | * Removed references to char_traits so that boost/format also works on | Eelco Dolstra | 1 | -5/+7 | |
GCC 2.95. | |||||
2003-09-11 | * Added some missing #includes. | Eelco Dolstra | 4 | -0/+7 | |
2003-09-03 | * Make nicer dot graphs. Also show the inner structure of slices. | Eelco Dolstra | 2 | -15/+86 | |
2003-09-03 | * Factored out dot graph generation into a separate file. | Eelco Dolstra | 4 | -61/+76 | |
2003-08-29 | * Do not show the output of the builder unless the verbosity is at | Eelco Dolstra | 1 | -1/+5 | |
least at debug level (-vvv). The output is still appended to the build log in /nix/var/log/nix. | |||||
2003-08-28 | * Do not try to remove write permission from symlinks, since chmod() | Eelco Dolstra | 2 | -3/+3 | |
follows symlinks. (Note that the permissions on symlinks are ignored anyway.) | |||||
2003-08-25 | * Fix the atrocious (exponential? factorial?) time complexity in | Eelco Dolstra | 1 | -4/+9 | |
`nix --query --requisites'. | |||||
2003-08-22 | * Remove write permission from output paths after they have been built. | Eelco Dolstra | 3 | -6/+52 | |
* Point $HOME to a non-existing path when building to prevent certain tools (such as wget) from falling back on /etc/passwd to locate the home directory (which we don't want them to look at since it's not declared as an input). | |||||
2003-08-20 | * Use maps and sets in the FState data type. This ensures normalisation of | Eelco Dolstra | 5 | -105/+86 | |
slices and derivations w.r.t. order of paths, slice elements, etc. | |||||
2003-08-20 | * Change the abstract syntax of slices. It used to be that ids were used as | Eelco Dolstra | 4 | -61/+59 | |
keys to reference slice elements, e.g., Slice(["1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["8c99..."]), ...]) This was wrong, since ids represent contents, not locations. Therefore we now have: Slice(["/nix/store/1ef7..."], [("/nix/store/1ef7...-foo", "1ef7", ["/nix/store/8c99-..."]), ...]) * Fix a bug in the computation of slice closures that could cause slice elements to be duplicated. | |||||
2003-08-20 | * Fixed a serious bug in the computation of slices. Sometimes the slices | Eelco Dolstra | 1 | -20/+61 | |
would not be properly closed under the path reference relation. | |||||
2003-08-19 | * Pipe /dev/null into stdin. | Eelco Dolstra | 1 | -0/+10 | |
2003-08-19 | * Delete the temporary directories of failed builds by default, and an | Eelco Dolstra | 5 | -1/+17 | |
option `--keep-failed' to override this behaviour. | |||||
2003-08-18 | * Allow lists in package bindings, e.g., | Eelco Dolstra | 1 | -0/+12 | |
("srcs", [Relative("foo/bar.c"), Relative("foo/baz.h")]) The result is an environment variable that contains the path names of the inputs separated by spaces (so this is not safe for values containing spaces). | |||||
2003-08-18 | * Most shells initialise PATH to some default (/bin:/usr/bin:...) | Eelco Dolstra | 1 | -0/+5 | |
when PATH is not set. We don't want this, so fill it in with some dummy value. | |||||
2003-08-15 | * Argument support in Fix. Arguments can be passed through the | Eelco Dolstra | 1 | -20/+43 | |
builder using the `args' binding: ("args", ["bla", True, IncludeFix("aterm/aterm.fix")]) Note that packages can also be declared as inputs by specifying them in the argument list. | |||||
2003-08-15 | * Derivation expressions now can specify arguments to be passed to the | Eelco Dolstra | 5 | -20/+56 | |
builder. Note that this unfortunately causes all Fix-computed hashes to change. | |||||
2003-08-15 | * Fix can now read expressions from stdin (by saying `fix -'). | Eelco Dolstra | 1 | -1/+17 | |
2003-08-14 | * Detect infinite loops using blackholing. | Eelco Dolstra | 1 | -3/+13 | |
2003-08-14 | * Function() takes a list of formals. | Eelco Dolstra | 1 | -4/+14 | |
2003-08-14 | * Lam -> Function. Doh! | Eelco Dolstra | 1 | -1/+1 | |
2003-08-08 | * deletePath(): some operating systems (e.g., Mac OS X) don't like it | Eelco Dolstra | 1 | -1/+8 | |
when we delete entries from a directory while we are reading it. So read the directory into memory, then delete its contents. | |||||
2003-08-06 | * Allow locks on paths to be acquired recursively (that is, if the | Eelco Dolstra | 1 | -2/+4 | |
process is already holding a lock on a path, it may acquire the lock again without blocking or failing). (This might be dangerous, not sure). Necessary for fast builds to work. | |||||
2003-08-06 | * A flag `--flat' to just compute the MD5 checksum of the contents of | Eelco Dolstra | 1 | -3/+7 | |
a regular file. I.e., `nix-hash --flat' is equivalent to the coreutils `md5sum' command (which doesn't exist on all systems). | |||||
2003-08-06 | * App -> Call. | Eelco Dolstra | 1 | -1/+8 | |
* Allow booleans in package environment bindings (True maps to "1", False maps to ""). | |||||
2003-08-05 | * Conditionals. | Eelco Dolstra | 1 | -0/+33 | |
2003-08-05 | * Cache result of fstatePaths(). TODO: do this in fstore.cc. | Eelco Dolstra | 1 | -2/+17 | |
2003-08-05 | * Allow the top-level expression to be a list of expressions that | Eelco Dolstra | 1 | -5/+19 | |
normalise to Nix expression. | |||||
2003-08-05 | * Delete obstructed paths prior to building. | Eelco Dolstra | 1 | -3/+12 | |
2003-08-04 | * Path locking in addToStore() and expandPath(). | Eelco Dolstra | 2 | -1/+16 | |
2003-08-01 | * In normaliseFState(), wrap registration of the output paths and the | Eelco Dolstra | 6 | -28/+44 | |
normal form in a single transaction to ensure that if we crash, either everything is registered or nothing is. This is for recoverability: unregistered paths in the store can be deleted arbitrarily, while registered paths can only be deleted by running the garbage collector. | |||||
2003-08-01 | * Defensive programming against POSIX locking idiocy. | Eelco Dolstra | 3 | -25/+18 | |
* Simplified realiseSlice(). | |||||
2003-08-01 | * normaliseFState() now locks all output paths prior to building, thus | Eelco Dolstra | 5 | -30/+151 | |
ensuring that simultaneous invocations of Nix don't clobber each other's builds. * Fixed a bug in `make install'. | |||||
2003-08-01 | * Don't use substitutes in addToStore(). | Eelco Dolstra | 2 | -15/+21 | |
2003-07-31 | * Put the database verifier in a transaction. | Eelco Dolstra | 1 | -17/+23 | |
2003-07-31 | * Enclose most operations that update the database in transactions. | Eelco Dolstra | 6 | -96/+145 | |
* Open all database tables (Db objects) at initialisation time, not every time they are used. This is necessary because tables have to outlive all transactions that refer to them. | |||||
2003-07-31 | * Use a more reasonable log file size (256 KB instead of 10 MB). | Eelco Dolstra | 1 | -2/+6 | |
* Checkpoint on exit. | |||||
2003-07-31 | * Started using Berkeley DB environments. This is necessary for | Eelco Dolstra | 11 | -100/+249 | |
transaction support (but we don't actually use transactions yet). | |||||
2003-07-31 | * Set execute bit. | Eelco Dolstra | 2 | -0/+0 | |
2003-07-30 | * Don't make the builder executable. | Eelco Dolstra | 1 | -4/+0 | |
2003-07-29 | * Get garbage collection and cache population to work *properly*. | Eelco Dolstra | 5 | -12/+36 | |
Renamed `fstateRefs' to `fstateRequisites'. The semantics of this function is that it returns a list of all paths necessary to realise a given expression. For a derive expression, this is the union of requisites of the inputs; for a slice expression, it is the path of each element in the slice. Also included are the paths of the expressions themselves. Optionally, one can also include the requisites of successor expressions (to recycle intermediate results). * `nix-switch' now distinguishes between an expression and its normal form. Usually, only the normal form is registered as a root of the garbage collector. With the `--source-root' flag, it will also register the original expression as a root. * `nix-collect-garbage' now has a flag `--keep-successors' which causes successors not to be included in the list of garbage paths. * `nix-collect-garbage' now has a flag `--invert' which will print all paths that should *not* be garbage collected. | |||||
2003-07-29 | * Nicer dot graphs. | Eelco Dolstra | 1 | -1/+7 | |
2003-07-29 | * `fstateRefs' now works on derive expressions as well. TODO: make | Eelco Dolstra | 4 | -14/+40 | |
this more efficient. * A flag `-n' in 'nix --query' to normalise the argument. Default is not to normalise. | |||||
2003-07-29 | * Let `nix --install' print out the id of the normal form. | Eelco Dolstra | 5 | -34/+35 | |
* Some minor refactoring. | |||||
2003-07-28 | * `nix --help'. | Eelco Dolstra | 3 | -37/+116 | |
* `nix --query --graph' to print a dot dependency graph of derive expressions. |