about summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2008-08-06 Updates to nix-reduce-buildMichael Raskin1-26/+50
Common code in local build package sources refactored out in a function; before building the real set of derivations needed is found (slightly slower for only one build strategy, but less garbage on output and better performance for multiple build strategies). Now you have full choice of best-effort build regardless of method (substituters or actual build), using substituters, building only fixed derivations (should get you all the downloads) and local build without even trying substituters. Some minor fix in the help text about behavior with no package sources.
2008-08-04 * nix-build: `--dry-run' flag.Eelco Dolstra1-0/+9
2008-08-04 * Doh.Eelco Dolstra2-0/+3
2008-08-02 Updates to nix-reduce-build: only realize fixed derivations if user asks so, ↵Michael Raskin1-1/+32
or only use substituters. Oh, and add possibility to use : for things like /etc/nixos/nixpkgs:-A:gnused
2008-08-02 * Make nix-env --dry-run print the paths to be substituted correctlyEelco Dolstra2-67/+81
again. (After the previous substituter mechanism refactoring I didn't update the code that obtains the references of substitutable paths.) This required some refactoring: the substituter programs are now kept running and receive/respond to info requests via stdin/stdout.
2008-07-23 * A quick hack to make nix-prefetch-url support mirror:// URLs. ItEelco Dolstra1-0/+22
requires that $NIXPKGS_ALL points at a Nixpkgs tree.
2008-07-23 * Make sure that copy-from-other-stores.pl is built.Eelco Dolstra1-1/+2
2008-07-18 * Allow read-only access to the store (e.g., non-root users on NixOSEelco Dolstra1-1/+2
can do operations like "nix-store -qR <path>" even without the Nix daemon).
2008-07-18 * Use the copy-from-other-stores substituter by default. Of course,Eelco Dolstra2-9/+16
it only does something if $NIX_OTHER_STORES (not really a good name...) is set. * Do globbing on the elements of $NIX_OTHER_STORES. E.g. you could set it to /mnts/*/nix or something. * Install substituters in libexec/nix/substituters.
2008-07-12 * Quick prototype of a substituter that copies paths from other NixEelco Dolstra2-1/+84
stores (typically remote Nix stores mounted via e.g. NFS, or the Nix store on the NixOS installation CD). Example use: $ sshfs foo@example.org:/ /mnt $ NIX_OTHER_STORES=/mnt/nix \ NIX_SUBSTITUTERS=.../copy-from-other-stores.pl \ nix-env -i foo This will be especially useful for the installation CD since it doesn't require a manifest for the CD contents.
2008-06-14 Also trying to build derivers in case we cannot get substitutersMichael Raskin1-1/+9
2008-06-14 Added local best-effort builds (i.e. one failure does not ruin all packages ↵Michael Raskin2-3/+17
you would like to see built)
2008-06-13 Stupid error in scriptMichael Raskin1-1/+1
2008-06-13 OK, I will believe that fix does no worse..Michael Raskin1-1/+1
2008-06-12 Updated help textMichael Raskin1-6/+15
2008-06-12 Added verbosity for nix-reduce-buildMichael Raskin1-0/+3
2008-05-11 Added support for file:// archive (.nar.gz) repositories to ↵Michael Raskin1-0/+5
nix-reduce-build. /tmp/nix-export created by nix-http-export.cgi is OK.
2008-05-07 --proxy=proxy:3128Michael Raskin2-1/+51
2008-04-29 Added http alternative transport for nix-reduce-buildMichael Raskin1-3/+12
2008-03-28 * Fix for NIX-101 (should use an absolute path for call to nix-hash).Eelco Dolstra1-1/+1
2008-03-20 * Cleanup.Eelco Dolstra1-5/+9
2008-02-28 * Don't install nix-reduce-build by default yet please, I first wantEelco Dolstra1-2/+2
to understand better what it does...
2008-02-27 Added nix-reduce-build. You point it to some path you want to build and it ↵Michael Raskin2-2/+71
fetches whatever it can from specified computers via nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or something... You really do want it. It will run separate ssh instances insane number of times.
2007-12-30 * Don't use "store expression", it's obsolete.Eelco Dolstra1-2/+2
2007-11-16 * Flag `--no-build-hook' to disable distributed builds.Eelco Dolstra1-1/+1
* queryDeriver in daemon mode: don't barf if the other side returns an empty string (which means there is no deriver).
2007-11-15 * nix-build: pass --argstr to nix-instantiate.Eelco Dolstra1-3/+3
2007-11-15 * Doh!Eelco Dolstra1-1/+2
2007-11-15 * Add build-remote.pl to the Nix distribution.Eelco Dolstra2-1/+211
2007-11-05 * nix-prefetch-url: don't fail if /tmp/nix-prefetch-url-<pid> exists,Eelco Dolstra1-4/+23
instead use a counter just like we do for temporary build directories.
2007-10-22 (no commit message)Eelco Dolstra2-3/+1
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.