summary refs log tree commit diff
AgeCommit message (Collapse)Author
2012-10-10Out-of-tree building of perl modules.Mats Erik Andersson
2012-10-04getDerivation(): Don't always quietly ignore assertion failureEelco Dolstra
Ignoring assertion failures makes some sense for nix-env -qa, but not for nix-instantiate/nix-build or hydra-eval-jobs.
2012-10-04XML writer: flush after newlinesEelco Dolstra
This is useful for hydra-eval-jobs.
2012-10-04Manual: Don't use a store path that actually existsEelco Dolstra
http://hydra.nixos.org/build/3124130
2012-10-04nix-store --verify: Continue on errorsEelco Dolstra
2012-10-04Fix regular expressionEelco Dolstra
http://hydra.nixos.org/build/3123177
2012-10-03Fix the tarball buildEelco Dolstra
2012-10-03Fix the testEelco Dolstra
2012-10-03Rename nix-worker to nix-daemonEelco Dolstra
2012-10-03Drop support for running nix-worker in "slave" modeEelco Dolstra
AFAIK nobody uses this, setuid binaries are evil, and there is no good reason why people can't just run the daemon.
2012-10-03Remove bin2cEelco Dolstra
2012-10-03When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra
I.e. do what git does. I'm too lazy to keep the builtin help text up to date :-) Also add ‘--help’ to various commands that lacked it (e.g. nix-collect-garbage).
2012-10-03Document ‘--repair’Eelco Dolstra
2012-10-03nix-env: Support ‘--repair’ flagEelco Dolstra
2012-10-03nix-build: Support ‘--repair’ flagEelco Dolstra
2012-10-03Add a ‘--repair’ flag to nix-instantiateEelco Dolstra
This allows repairing corrupted derivations and other source files.
2012-10-03Handle repairing paths that are in build-chroot-dirsEelco Dolstra
2012-10-03When repairing a derivation, check and repair the entire output closureEelco Dolstra
If we find a corrupted path in the output closure, we rebuild the derivation that produced that particular path.
2012-10-02Add a --repair flag to ‘nix-store -r’ to repair derivation outputsEelco Dolstra
With this flag, if any valid derivation output is missing or corrupt, it will be recreated by using a substitute if available, or by rebuilding the derivation. The latter may use hash rewriting if chroots are not available.
2012-10-02nix-store -r: Get rid of an unnecessary call to buildPaths/ensurePathsEelco Dolstra
2012-10-02nix-store --verify: Add an option ‘--repair’ to repair all ↵Eelco Dolstra
missing/corrupt paths Also, return a non-zero exit code if errors remain after verifying/repairing.
2012-10-02Add operation ‘nix-store --repair-path’Eelco Dolstra
This operation allows fixing corrupted or accidentally deleted store paths by redownloading them using substituters, if available. Since the corrupted path cannot be replaced atomically, there is a very small time window (one system call) during which neither the old (corrupted) nor the new (repaired) contents are available. So repairing should be used with some care on critical packages like Glibc.
2012-09-28Handle octal escapes in /proc/self/mountinfoEelco Dolstra
2012-09-28Print a more descriptive error message if setting up the build environment failsEelco Dolstra
2012-09-27Allow dashes in identifiersEelco Dolstra
In Nixpkgs, the attribute in all-packages.nix corresponding to a package is usually equal to the package name. However, this doesn't work if the package contains a dash, which is fairly common. The convention is to replace the dash with an underscore (e.g. "dbus-lib" becomes "dbus_glib"), but that's annoying. So now dashes are valid in variable / attribute names, allowing you to write: dbus-glib = callPackage ../development/libraries/dbus-glib { }; and buildInputs = [ dbus-glib ]; Since we don't have a negation or subtraction operation in Nix, this is unambiguous.
2012-09-25Add "on Linux" qualifierEelco Dolstra
2012-09-25Make the store writable before creating /nix/store/.linksEelco Dolstra
2012-09-25Document that Nix requires GNU MakeEelco Dolstra
Fixes #44.
2012-09-25Update release notesEelco Dolstra
2012-09-25Merge branch 'readonly-store'Eelco Dolstra
2012-09-25Include <sys/types.h> for off_tEelco Dolstra
Reported by "gio" on IRC.
2012-09-21Style fixEelco Dolstra
2012-09-19Support xz compression in the download-using-manifests substituterEelco Dolstra
2012-09-19Remove setting of the immutable bitEelco Dolstra
Using the immutable bit is problematic, especially in conjunction with store optimisation. For instance, if the garbage collector deletes a file, it has to clear its immutable bit, but if the file has additional hard links, we can't set the bit afterwards because we don't know the remaining paths. So now that we support having the entire Nix store as a read-only mount, we may as well drop the immutable bit. Unfortunately, we have to keep the code to clear the immutable bit for backwards compatibility.
2012-09-19Support having /nix/store as a read-only bind mountEelco Dolstra
It turns out that the immutable bit doesn't work all that well. A better way is to make the entire Nix store a read-only bind mount, i.e. by doing $ mount --bind /nix/store /nix/store $ mount -o remount,ro,bind /nix/store (This would typically done in an early boot script, before anything from /nix/store is used.) Since Nix needs to be able to write to the Nix store, it now detects if /nix/store is a read-only bind mount and then makes it writable in a private mount namespace.
2012-09-19Templatise tokenizeString()Eelco Dolstra
2012-09-18Keep build directory if not all expected outputs were producedEelco Dolstra
Fixes issue #123 in Nixpkgs.
2012-09-14Test whether GNU tar understands --warning=no-timestampEelco Dolstra
http://hydra.nixos.org/build/3031618
2012-09-14Fix testEelco Dolstra
http://hydra.nixos.org/build/3031382
2012-09-13nix-collect-garbage: Support --dry-runEelco Dolstra
2012-09-13nix-env --delete-generations: Support --dry-run flagEelco Dolstra
Fixes #43.
2012-09-13Add a test for nix-profile.shEelco Dolstra
2012-09-13nix-profile.sh: Revert to single-user versionEelco Dolstra
Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 copied most of the Nix shell initialisation code from NixOS to nix-profile.sh; however, that code assumes a multi-user install and is Linux-specific (e.g. it calls the "stat" command). So go back to the simple single-user version. Fixes #49.
2012-09-13Remove double Fedora release suffixEelco Dolstra
2012-09-13Put a time-to-live on negative binary cache lookupsEelco Dolstra
Negative lookups are purged from the DB after a day, at most once per day. However, for non-"have" lookups (e.g. all except "nix-env -qas"), negative lookups are ignored after one hour. This is to ensure that you don't have to wait a day for an operation like "nix-env -i" to start using new binaries in the cache. Should probably make this configurable.
2012-09-13DohEelco Dolstra
2012-09-13RemoteStore::connectToDaemon(): Set close-on-exec flagEelco Dolstra
This ensures that "nix-build --run-env" doesn't keep a connection to the worker open, preventing it from exiting.
2012-09-13Vacuum the SQLite DB after running the garbage collectorEelco Dolstra
2012-09-13Delete paths in a component in topologically sorted orderEelco Dolstra
The outputs of a derivation can refer to each other (even though they cannot have cycles), so they have to be deleted in the right order. http://hydra.nixos.org/build/3026118
2012-09-13Fix the store optimisation testEelco Dolstra
http://hydra.nixos.org/build/3026118