aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-17nix-push: Add ‘--link’ flagEelco Dolstra
If ‘--link’ is given, nix-push will create hard links to the NAR files in the store, rather than copying them. This is faster and requires less disk space. However, it doesn't work if the store is on a different file system.
2012-10-17nix-push: Only generate and copy a NAR if it doesn't already existEelco Dolstra
This prevents unnecessary and slow rebuilds of NARs that already exist in the binary cache.
2012-10-12TypoEelco Dolstra
Reported by Shea.
2012-10-11download-from-binary-cache: Remove duplicate entries in trustedURLsEelco Dolstra
2012-10-11Shorten the names of temporary build directoriesEelco Dolstra
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.