about summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2007-10-09 * New command `nix-store --optimise' to reduce Nix store disk spaceEelco Dolstra1-91/+0
usage by finding identical files in the store and hard-linking them to each other. It typically reduces the size of the store by something like 25-35%. This is what the optimise-store.pl script did, but the new command is faster and more correct (it's safe wrt garbage collection and concurrent builds).
2007-09-18 * Remove garbage.Eelco Dolstra2-2/+2
2007-09-17 * nix-env: allow ~/.nix-defexpr to be a directory. If it is, then theEelco Dolstra1-3/+8
Nix expressions in that directory are combined into an attribute set {file1 = import file1; file2 = import file2; ...}, i.e. each Nix expression is an attribute with the file name as the attribute name. Also recurses into directories. * nix-env: removed the "--import" (-I) option which set the ~/.nix-defexpr symlink. * nix-channel: don't use "nix-env --import", instead symlink ~/.nix-defexpr/channels. So finally nix-channel --update doesn't override any default Nix expressions but combines with them. This means that you can have (say) a local Nixpkgs SVN tree and use it as a default for nix-env: $ ln -s .../path-to-nixpkgs-tree ~/.nix-defexpr/nixpkgs_svn and be subscribed to channels (including Nixpkgs) at the same time. (If there is any ambiguity, the -A flag can be used to disambiguate, e.g. "nix-env -i -A nixpkgs_svn.pan".)
2007-09-04 * nix-push / generate-patches: bzip the manifest.Eelco Dolstra2-0/+12
2007-08-22 * nix-channel: supports users who don't have write permission to theEelco Dolstra1-12/+21
manifests directory. In that case, we don't do a nix-pull, so the user gets pure source deployment. The directory /nix/var/nix/gcroots/per-user/$USER should be writable. (It's created automatically if /nix/var/nix/gcroots/per-user is writable, e.g. if it has 1777 permission.)
2007-08-15 * Show errors in nix-prefetch-url.Eelco Dolstra3-4/+5
2007-08-14 * Fix the tests.Eelco Dolstra1-1/+2
2007-08-12 * Get rid of the substitutes database table (NIX-47). Instead, if weEelco Dolstra3-52/+48
need any info on substitutable paths, we just call the substituters (such as download-using-manifests.pl) directly. This means that it's no longer necessary for nix-pull to register substitutes or for nix-channel to clear them, which makes those operations much faster (NIX-95). Also, we don't have to worry about keeping nix-pull manifests (in /nix/var/nix/manifests) and the database in sync with each other. The downside is that there is some overhead in calling an external program to get the substitutes info. For instance, "nix-env -qas" takes a bit longer. Abolishing the substitutes table also makes the logic in local-store.cc simpler, as we don't need to store info for invalid paths. On the downside, you cannot do things like "nix-store -qR" on a substitutable but invalid path (but nobody did that anyway). * Never catch interrupts (the Interrupted exception).
2007-08-10 * nix-pull: support bzipped manifests: when doing a nix-pull on $url,Eelco Dolstra1-8/+32
try $url.bz2 first.
2007-08-10 * Enable nix-prefetch-url caching in nix-channel.Eelco Dolstra2-3/+9
2007-08-10 * Don't rely on /dev/stdin.Eelco Dolstra1-1/+2
2007-08-09 * nix-pull: using nix-prefetch-url (so that we get caching for free),Eelco Dolstra1-8/+9
and store the manifests in the Nix store. (So now /nix/var/nix/manifests/ just contains symlinks to the store and is searched for GC roots.)
2007-08-09 * nix-prefetch-url: support caching. If the environment variableEelco Dolstra3-13/+58
NIX_DOWNLOAD_CACHE is set, then nix-prefetch-url will store the hash and timestamp of downloaded files in the directory $NIX_DOWNLOAD_CACHE. This allows it to figure out if the file is still in the Nix store.
2007-06-11 * Check against creation of GC roots in the store. Those roots don'tEelco Dolstra1-2/+2
work, because findRoots() stops when it encounters a symlink to the store. And of course the store is supposed to be read-only.
2007-06-04 * Remove debug statement.Eelco Dolstra1-1/+0
2007-05-02 (no commit message)Eelco Dolstra1-1/+0
2007-05-01 * Give unpacked channels more sensible names than 0, 1, ... They nowEelco Dolstra1-8/+9
get the basename of the channel URL (e.g., nixpkgs-unstable). The top-level Nix expression of the channel is now an attribute set, the attributes of which are the individual channels (e.g., {nixpkgs_unstable = ...; strategoxt_unstable = ...}). This makes attribute paths ("nix-env -qaA" and "nix-env -iA") more sensible, e.g., "nix-env -iA nixpkgs_unstable.subversion".
2007-03-30 * Make the maximum patch size configurable.Eelco Dolstra1-3/+9
2007-03-27 * Forgot a @bindir@.Eelco Dolstra1-1/+1
2007-03-26 * `nix-copy-closure --from': copy from a remote machine instead of toEelco Dolstra1-12/+62
a remote machine.
2007-03-26 * Refactoring.Eelco Dolstra1-35/+53
2007-03-20 * Scan /proc/sys/kernel/modprobe for roots to prevent the kernelEelco Dolstra1-0/+17
modules for the running kernel from being garbage-collected. Idem for /proc/sys/kernel/fbsplash.
2007-03-13 * Remove old generations in all directories underEelco Dolstra1-6/+15
/nix/var/nix/profiles, not just in that directory itself. (NixOS puts profiles in /nix/var/nix/profiles/per-user.)
2007-03-01 * Get rid of those stupid --login tricks, it's the responsibility ofEelco Dolstra1-2/+2
the remote system to make sure that Nix is in the $PATH.
2007-03-01 * sh -> bash.Eelco Dolstra1-2/+2
2007-02-26 * Error message to stdout.Eelco Dolstra1-1/+1
2007-02-22 * nix-copy-closure: force a login shell on the remote machine to makeEelco Dolstra1-3/+11
sure that nix-store is in the PATH. * nix-copy-closure: option --gzip to compress data.
2007-02-22 * nix-copy-closure: option --sign.Eelco Dolstra1-2/+20
* nix-copy-closure: set SSH options through NIX_SSHOPTS..
2007-02-21 * New command `nix-copy-closure' to copy a closure to a Nix store onEelco Dolstra2-1/+58
another machine through ssh. E.g., $ nix-copy-closure xyzzy $(which svn) copies the closure of Subversion to machine `xyzzy'. This is like `nix-pack-closure $(which svn) | ssh xyzzy', but it's much more efficient since it only copies those paths that are missing on the target machine.
2007-02-20 * Close the file - just in case.Eelco Dolstra1-0/+3
2007-01-23 * New kind of manifest object: "localPath", which denotes that a storeEelco Dolstra8-22/+73
path can be created by copying it from another location in the file system. This is useful in the NixOS installation.
2007-01-23 * Successors have been gone for ages.Eelco Dolstra8-32/+15
2007-01-22 * nix-prefetch-url: change the default hash to SHA-256 (in base-32).Eelco Dolstra1-1/+1
2007-01-13 * nix-pack-closure: store the top-level store paths in the closure.Eelco Dolstra2-0/+16
* nix-unpack-closure: extract the top-level paths from the closure and print them on stdout. This allows them to be installed, e.g., "nix-env -i $(nix-unpack-closure)". (NIX-64)
2007-01-13 * Removed chroot support.Eelco Dolstra2-5/+0
2007-01-11 (no commit message)Eelco Dolstra1-1/+2
2007-01-11 * Install generate-patches into libexec.Eelco Dolstra1-0/+1
2007-01-08 * Reject patches that are larger than a certain fraction of the full archiveEelco Dolstra1-4/+13
(currently 60%). Large patches aren't very economical.
2007-01-08 * Huge speedup in patch propagation (20 minutes or so to 3 seconds).Eelco Dolstra1-8/+15
2006-12-15 * Handle weird cases when the server redirects us while setting a cookie.Eelco Dolstra1-1/+1
2006-12-08 * Kill a build if it has gone for more than a certain number ofEelco Dolstra1-0/+6
seconds without producing output on stdout or stderr (NIX-65). This timeout can be specified using the `--max-silent-time' option or the `build-max-silent-time' configuration setting. The default is infinity (0). * Fix a tricky race condition: if we kill the build user before the child has done its setuid() to the build user uid, then it won't be killed, and we'll potentially lock up in pid.wait(). So also send a conventional kill to the child.
2006-11-18 * Show more progress.Eelco Dolstra1-1/+3
2006-10-31 * Oops, `nix-build --no-out-link' was broken.Eelco Dolstra1-1/+1
2006-10-28 * Don't use EPSV.Eelco Dolstra1-1/+1
2006-10-19 * nix-build: check the exit status of `nix-store -r'.Eelco Dolstra1-4/+6
2006-10-12 * Reduce the maximum archive size for patch generation to 100 MB toEelco Dolstra2-2/+2
prevent trashing on nix.cs.uu.nl.
2006-10-04 * tmpnam() -> File::Temp::tempdir().Eelco Dolstra7-53/+41
2006-09-25 * Quick hack to let nix-install-package set the package name properlyEelco Dolstra1-1/+1
(e.g., "java-front-0.9pre15899" instead of "java-front"; particularly important when doing upgrades later on).
2006-09-25 * In `nix-channel --update', skip manifests that assume a Nix store atEelco Dolstra2-2/+21
a different location than the user's. This makes channels usable as a source deployment mechanism for people who install Nix under non-standard prefixes. (NIX-57)
2006-09-25 * Clean up calls to system().Eelco Dolstra8-26/+26