about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-06 Process binary caches in order of priorityEelco Dolstra2-7/+25
Binary caches can now specify a priority in their nix-cache-info file. The binary cache substituter checks caches in order of priority. This is to ensure that fast, static caches like nixos.org/binary-cache are processed before slow, dynamic caches like hydra.nixos.org.
2012-11-06 Update nix-push manpage and document the binary cache formatEelco Dolstra2-77/+341
2012-11-06 nix-push: Handle pushing a symlinkEelco Dolstra1-2/+0
2012-11-06 Add an option ‘use-binary-caches’Eelco Dolstra2-0/+14
This allows disabling the use of binary caches, e.g. $ nix-build ... --option use-binary-caches false Note that $ nix-build ... --option binary-caches '' does not disable all binary caches, since the caches defined by channels will still be used.
2012-11-06 Fix "Not an ARRAY reference" errorEelco Dolstra1-1/+1
It's a mystery why this error is not triggered in the build farm (e.g. http://hydra.nixos.org/build/3265602). Ah well.
2012-11-06 canonicalizePathMetaData: Fall-back to utimes if lutimes fails due to ENOSYSShea Levy1-0/+2
2012-10-23 If hashes do not match, print them in base-32 for SHA-1/SHA-256Eelco Dolstra3-1/+10
Fixes #57.
2012-10-23 nix-prefetch-url: Improve option handlingEelco Dolstra3-10/+42
2012-10-23 prim_toPath: Actually make the string a pathShea Levy1-1/+3
2012-10-18 nix-push: Add a flag ‘--manifest-path’ to write the manifest to another ↵Eelco Dolstra1-1/+8
directory
2012-10-17 nix-push: Add ‘--link’ flagEelco Dolstra1-1/+8
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-17 nix-push: Only generate and copy a NAR if it doesn't already existEelco Dolstra6-65/+107
This prevents unnecessary and slow rebuilds of NARs that already exist in the binary cache.
2012-10-12 TypoEelco Dolstra1-2/+2
Reported by Shea.
2012-10-11 download-from-binary-cache: Remove duplicate entries in trustedURLsEelco Dolstra1-1/+1
2012-10-11 Shorten the names of temporary build directoriesEelco Dolstra1-1/+1
2012-10-10 Out-of-tree building of perl modules.Mats Erik Andersson2-1/+2
2012-10-04 getDerivation(): Don't always quietly ignore assertion failureEelco Dolstra5-21/+27
Ignoring assertion failures makes some sense for nix-env -qa, but not for nix-instantiate/nix-build or hydra-eval-jobs.
2012-10-04 XML writer: flush after newlinesEelco Dolstra1-4/+4
This is useful for hydra-eval-jobs.
2012-10-04 Manual: Don't use a store path that actually existsEelco Dolstra1-4/+4
http://hydra.nixos.org/build/3124130
2012-10-04 nix-store --verify: Continue on errorsEelco Dolstra1-2/+4
2012-10-04 Fix regular expressionEelco Dolstra1-1/+1
http://hydra.nixos.org/build/3123177
2012-10-03 Fix the tarball buildEelco Dolstra1-1/+1
2012-10-03 Fix the testEelco Dolstra1-4/+4
2012-10-03 Rename nix-worker to nix-daemonEelco Dolstra15-41/+49
2012-10-03 Drop support for running nix-worker in "slave" modeEelco Dolstra6-146/+9
AFAIK nobody uses this, setuid binaries are evil, and there is no good reason why people can't just run the daemon.
2012-10-03 Remove bin2cEelco Dolstra7-35/+4
2012-10-03 When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra25-329/+51
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-03 Document ‘--repair’Eelco Dolstra3-6/+32
2012-10-03 nix-env: Support ‘--repair’ flagEelco Dolstra3-5/+9
2012-10-03 nix-build: Support ‘--repair’ flagEelco Dolstra1-1/+1
2012-10-03 Add a ‘--repair’ flag to nix-instantiateEelco Dolstra11-25/+36
This allows repairing corrupted derivations and other source files.
2012-10-03 Handle repairing paths that are in build-chroot-dirsEelco Dolstra1-0/+7
2012-10-03 When repairing a derivation, check and repair the entire output closureEelco Dolstra3-6/+91
If we find a corrupted path in the output closure, we rebuild the derivation that produced that particular path.
2012-10-02 Add a --repair flag to ‘nix-store -r’ to repair derivation outputsEelco Dolstra7-64/+116
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-02 nix-store -r: Get rid of an unnecessary call to buildPaths/ensurePathsEelco Dolstra1-4/+4
2012-10-02 nix-store --verify: Add an option ‘--repair’ to repair all ↵Eelco Dolstra4-11/+42
missing/corrupt paths Also, return a non-zero exit code if errors remain after verifying/repairing.
2012-10-02 Add operation ‘nix-store --repair-path’Eelco Dolstra8-36/+151
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-28 Handle octal escapes in /proc/self/mountinfoEelco Dolstra3-2/+24
2012-09-28 Print a more descriptive error message if setting up the build environment failsEelco Dolstra1-3/+14
2012-09-27 Allow dashes in identifiersEelco Dolstra4-4/+9
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-25 Add "on Linux" qualifierEelco Dolstra1-2/+2
2012-09-25 Make the store writable before creating /nix/store/.linksEelco Dolstra1-2/+1
2012-09-25 Document that Nix requires GNU MakeEelco Dolstra1-1/+4
Fixes #44.
2012-09-25 Update release notesEelco Dolstra1-0/+29
2012-09-25 Merge branch 'readonly-store'Eelco Dolstra14-135/+106
2012-09-25 Include <sys/types.h> for off_tEelco Dolstra1-0/+1
Reported by "gio" on IRC.
2012-09-21 Style fixEelco Dolstra2-6/+6
2012-09-19 Support xz compression in the download-using-manifests substituterEelco Dolstra3-8/+21
2012-09-19 Remove setting of the immutable bitEelco Dolstra5-96/+35
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-19 Support having /nix/store as a read-only bind mountEelco Dolstra2-0/+41
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.