Age | Commit message (Collapse) | Author | Files | Lines |
|
simplifies stuff.
* The format of Nix expressions and the database schema changed
because of this, so it's best to delete old Nix installations.
|
|
fstate -> Nix expression).
* Fix src/test.cc.
|
|
|
|
|
|
slices and derivations w.r.t. order of paths, slice elements, etc.
|
|
option `--keep-failed' to override this behaviour.
|
|
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.
|
|
transaction support (but we don't actually use transactions yet).
|
|
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.
|
|
|
|
this more efficient.
* A flag `-n' in 'nix --query' to normalise the argument. Default is
not to normalise.
|
|
* Some minor refactoring.
|
|
* `nix --query --graph' to print a dot dependency graph of derive
expressions.
|
|
instead (e.g., `-vvvv' for lots of output). Default is to only
print error messages.
|
|
up to the given verbosity levels. These currently are:
lvlError = 0,
lvlNormal = 5,
lvlDebug = 10,
lvlDebugMore = 15
although only lvlError and lvlDebug are actually used right now.
|
|
corresponding to the given id.
|
|
(There should really be a switch for this).
|
|
* 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.
|
|
read()/write() to fix this once and for all.
|
|
|
|
database and store.
|
|
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?)
|
|
|
|
* Fix -qp query.
|
|
|
|
number of bytes in one call).
|
|
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.
|
|
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.
|
|
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.
|
|
include the paths of the subterms.
|
|
|
|
* Use a temporary directory for build actions.
|
|
|
|
|
|
|
|
file.
|
|
|
|
|
|
|
|
|
|
* addValue() can now import any dumpable FS object.
|
|
(--hash, --file, --name).
|
|
|
|
|
|
* Cleaned up command-line syntax.
|
|
* Lots of refactorings.
* Unit tests.
|
|
|
|
|
|
|
|
|