summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)Author
2005-12-13* Change `referer' to `referrer' throughout. In particular, theEelco Dolstra
nix-store query options `--referer' and `--referer-closure' have been changed to `--referrer' and `--referrer-closure' (but the old ones are still accepted for compatibility).
2005-11-17* FreeBSD compatibility fix.Eelco Dolstra
2005-10-29* Turn off build hooks in nix-push because of an impurity (NIX-21).Eelco Dolstra
2005-10-11add @coreutils@ to correctly use coreutils to create a profile. This is neededArmijn Hemel
for NixOS, where we might not know our PATH in advance.
2005-09-21* Remove other uses of IPC::Open2.Eelco Dolstra
2005-09-21* Don't use IPC::Open2, it has a subtle race bug on Mac OS X 10.4. IfEelco Dolstra
the parent runs before the child, it closes some pipe file descriptors which causes the child to fail due to a bad file descriptor. So we just use the normal open() function instead. This fixes NIX-14 (intermittent nix-pull failures).
2005-09-16* Remove dead file.Eelco Dolstra
2005-09-16* Set the current directory to something well-defined. Might help inEelco Dolstra
setuid installations.
2005-09-15* Use a proper temporary directory.Eelco Dolstra
2005-07-13* nix-build: default to `./default.nix' if no paths are specified.Eelco Dolstra
So when using Nix as a build tool, you can just say `nix-build' and it will build the top-level derivation defined in `default.nix'.
2005-06-18* Don't create patches for archives >= 150 MB because bsdiff can'tEelco Dolstra
handle it. It crashed on the 234 MB tetex archive. Probably we will never be able to handle archives of that size on 32-bit machines (because bsdiff does everything in memory requiring max(17*n,9*n+m)+O(1) bytes, so the address space simply isn't there).
2005-05-10* Make unpacking of patch sequences much faster by not doing redundantEelco Dolstra
unpacking and repacking of intermediate paths.
2005-04-12* Argh! The patch downloader was broken due to the renaming of theEelco Dolstra
`--isvalid' flag in nix-store.
2005-04-12* Damn. Disable the USE heuristic for now, since the deriver in theEelco Dolstra
database isn't always in the manifest (so the reference graph cannot be reconstructed fully).
2005-04-08* nix-store: `--substitute' -> `--register-substitutes'.Eelco Dolstra
2005-04-07* Get rid of fetchurl, we don't need it anymore.Eelco Dolstra
2005-04-07* `nix-store --add-fixed' to preload the outputs of fixed-outputEelco Dolstra
derivations. This is mostly to simplify the implementation of nix-prefetch-{url, svn}, which now work properly in setuid installations. * Enforce valid store names in `nix-store --add / --add-fixed'.
2005-04-04* I said it couldn't be done. I was wrong.Eelco Dolstra
2005-03-25* Better error checking.Eelco Dolstra
2005-03-18* Ignore hash conflicts in gc-releases.pl.Eelco Dolstra
2005-03-15* Use SHA-256 for nix-push.Eelco Dolstra
2005-03-14* Idem.Eelco Dolstra
2005-03-14* Pass `--base32' unless using MD5.Eelco Dolstra
2005-03-14* Parse new hash format properly.Eelco Dolstra
2005-03-14* Print SHA-1 hashes in base-32 by default.Eelco Dolstra
2005-03-14* Prefix hash algorithm in patch generator too.Eelco Dolstra
2005-03-14* Set NAR name to content hash; previous nix-push names were notEelco Dolstra
unique. * Drop `hashAlgo' attribute in manifests; prefix hashes with the hash algorithm instead.
2005-03-14* Script to garbage collect nix-push directories. It prints out allEelco Dolstra
file names in the directory not included in any of the manifests specified on the command line.
2005-03-11* nix-install-package: install outPath, not drvPath, for now.Eelco Dolstra
* nix-prefecth-url: print out in base-16.
2005-03-03* Channel fix.Eelco Dolstra
2005-03-01* Doh!Eelco Dolstra
2005-03-01* Add missing file to dist.Eelco Dolstra
2005-03-01* Use a weighted use heuristic to disambiguate between multipleEelco Dolstra
occurances of a component. If the shortest path distance between a component P and Q in the referers graph is D, then the contribution of Q to the use of P is 1 / R^D, where R >= 1, typically 2. This expresses that distant indirect uses are less important than nearby uses. For instance, this can disambiguate between the bootstrap GCC in Nixpkgs and the GCC of the final stdenv (the former has more uses, but they are further away), and between the GCC of the final stdenv and the GCC+G77 build (the latter has very few uses).
2005-02-28* Added a disambiguation heuristic: if two components have the sameEelco Dolstra
name but differ to much in sice (by more than a factor of 3), then never generate a patch.
2005-02-25* Add a version number to manifests.Eelco Dolstra
2005-02-25* Pause if errors occur.Eelco Dolstra
2005-02-25* nix-install-package: Use the new (trivial) package format generatedEelco Dolstra
by the build farm. See e.g., http://catamaran.labs.cs.uu.nl/dist/nixpkgs-0.8/nixpkgs-0.7pre2302/; the user can click on packages, and they will be installed (assuming the `application/nix-package' MIME type has been associated with `nix-install-package'). Nix expressions are no longer involved: a "package" is just a pointer to a manifest, and the top-level store derivation to be added to the user environment. This makes these packages independent from Nix expression evolution. Note that we install the store derivation ($drvPath), not the resulting output path ($outPath). This is equivalent, except that installing the derivation maintains the back-link from the output path to the derivation that built it. This is useful for maintenance. * Automatically re-exec in an xterm so that the user sees something when `nix-install-package' is run from a browser.
2005-02-24* Properly specify the hash algorithm in the manifests, and read itEelco Dolstra
too. * Change the default hash for nix-prefetch-url back to md5, since that's what we use in Nixpkgs (for now; a birthday attack is rather unlikely there).
2005-02-24* (Unnecessary) refactoring.Eelco Dolstra
2005-02-22* Support for fixed-output hashes over directory trees (i.e., over theEelco Dolstra
NAR dump of the path).
2005-02-17* Fix nix-channel.Eelco Dolstra
* Add `--help' flag; fixes NIX-5. * Add `--remove' flag; fixes NIX-6. * Add `--list' flag.
2005-02-09* Propagate the deriver of a path through the substitute mechanism.Eelco Dolstra
* Removed some dead code (successor stuff) from nix-push. * Updated terminology in the tests (store expr -> drv path). * Check that the deriver is set properly in the tests.
2005-02-08* Set umask to prevent permission problems.Eelco Dolstra
2005-02-08* Better error reporting in readmanifest.Eelco Dolstra
* Use force flag in `mv' to prevent silly interactive questions (this happens with shared Nix stores).
2005-02-01* Remove debug code.Eelco Dolstra
2005-02-01* Make check fixes.Eelco Dolstra
2005-02-01* Move root finding from `nix-collect-garbage' to `nix-store --gc'.Eelco Dolstra
This was necessary becase root finding must be done after acquisition of the global GC lock. This makes `nix-collect-garbage' obsolete; it is now just a wrapper around `nix-store --gc'. * Automatically remove stale GC roots (i.e., indirect GC roots that point to non-existent paths).
2005-02-01* nix-build: use an indirection scheme to make it easier for users toEelco Dolstra
get rid of GC roots. Nix-build places a symlink `result' in the current directory. Previously, removing that symlink would not remove the store path being linked to as a GC root. Now, the GC root created by nix-build is actually a symlink in `/nix/var/nix/gcroots/auto' to `result'. So if that symlink is removed the GC root automatically becomes invalid (since it can no longer be resolved). The root itself is not automatically removed - the garbage collector should delete dangling roots.
2005-02-01* nix-store, nix-instantiate: added an option `--add-root' toEelco Dolstra
immediately add the result as a permanent GC root. This is the only way to prevent a race with the garbage collector. For instance, the old style ln -s $(nix-store -r $(nix-instantiate foo.nix)) \ /nix/var/nix/gcroots/result has two time windows in which the garbage collector can interfere (by GC'ing the derivation and the output, respectively). On the other hand, nix-store --add-root /nix/var/nix/gcroots/result -r \ $(nix-instantiate --add-root /nix/var/nix/gcroots/drv \ foo.nix) is safe. * nix-build: use `--add-root' to prevent GC races.
2005-02-01* Get rid of hardcoded paths.Eelco Dolstra