about summary refs log tree commit diff
path: root/scripts/nix-pull.in
AgeCommit message (Collapse)AuthorFilesLines
2009-12-09 * When doing a nix-pull, remove old manifests downloaded from the sameEelco Dolstra1-3/+23
URL. This prevents lots of old cruft accumulating in /nix/var/nix/manifests.
2009-11-13 * In nix-pull/nix-channel, create the manifests directory if itEelco Dolstra1-0/+6
doesn't exist. The Debian packages don't include the manifests directory, so nix-channel would silently skip doing a nix-pull, resulting in everything being built from source. Thanks to Juan Pedro Bolívar Puente.
2009-02-27 * nix-install-package: don't pollute /nix/var/nix/manifests.Eelco Dolstra1-10/+5
2009-02-27 * Check the manifest version.Eelco Dolstra1-3/+4
2008-11-20 * Urgh.Eelco Dolstra1-2/+1
2007-08-15 * Show errors in nix-prefetch-url.Eelco Dolstra1-2/+3
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 Dolstra1-38/+0
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-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 Dolstra1-1/+1
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-01-23 * New kind of manifest object: "localPath", which denotes that a storeEelco Dolstra1-12/+26
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 Dolstra1-2/+1
2006-10-04 * tmpnam() -> File::Temp::tempdir().Eelco Dolstra1-7/+4
2006-09-25 * In `nix-channel --update', skip manifests that assume a Nix store atEelco Dolstra1-1/+19
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 Dolstra1-1/+1
2006-05-31 * This may be useful in the future.Eelco Dolstra1-1/+1
2005-09-21 * Don't use IPC::Open2, it has a subtle race bug on Mac OS X 10.4. IfEelco Dolstra1-8/+2
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-04-08 * nix-store: `--substitute' -> `--register-substitutes'.Eelco Dolstra1-1/+1
2005-02-25 * Add a version number to manifests.Eelco Dolstra1-1/+3
2005-02-09 * Propagate the deriver of a path through the substitute mechanism.Eelco Dolstra1-0/+1
* 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 Dolstra1-0/+4
2005-02-08 * Better error reporting in readmanifest.Eelco Dolstra1-1/+1
* Use force flag in `mv' to prevent silly interactive questions (this happens with shared Nix stores).
2005-02-01 * Make check fixes.Eelco Dolstra1-3/+3
2005-01-25 * Really fix the substitute mechanism, i.e., ensure the closureEelco Dolstra1-17/+19
invariant by registering references through the manifest. * Added a test for nix-pull.
2004-12-20 * Place manifests in /nix/var/nix/manifests.Eelco Dolstra1-18/+18
* Use the new patch downloader.
2004-12-20 * Sync with changed substitute mechanism.Eelco Dolstra1-5/+4
* Accept the NarHash line. * Clear substitutes in `nix-channel --update'.
2004-12-16 * Fix nix-pull.Eelco Dolstra1-11/+14
2004-12-16 * Remove `prebuilts.conf' file, it's not like anybody was using it.Eelco Dolstra1-16/+3
* Add /nix/var/nix/manifests directory.
2004-12-13 * Patch deployment. `download.pl' (intended to be used in theEelco Dolstra1-4/+14
substitute mechanism) creates a store path by downloading full NAR archives and/or patches specified in the available manifests. Any combination of present paths, full downloads, and patches can be used to construct the target path. In particular, patches can be chained in sequence; and full NAR archives of the target path can be omitted (i.e., patch-only deployment is possible). A shortest path algorithm is used to find the smallest set of files to be downloaded (the edge weights are currently file sizes, but one can imagine taking the network speed to the various source into account). Patches are binary deltas between two store paths. To be precise, they are the output of the `bsdiff' program applied to the NAR archives obtained by dumping (`nix-store --dump') the two store paths. The advantage of diff'ing NAR archives (and not, say, doing file-by-file diffs) is that file renames/moves are handled automatically. The disadvantage is that we cannot optimise creation of unchanged files (by hard-linking).
2004-06-21 * Adapted nix-pull to use the new substitute mechanism.Eelco Dolstra1-49/+33
2004-04-06 * Switched from wget to curl.Eelco Dolstra1-3/+3
* Made the dependencies on bzip2 and the shell explicit.
2004-03-15 * Make perl a dependency of Nix.Eelco Dolstra1-1/+1
2004-01-14 * Synchronous `nix-pull' with `nix-push'.Eelco Dolstra1-1/+1
* Use curl instead of wget.
2003-12-21 * Missing semicolons.Eelco Dolstra1-3/+3
2003-12-05 * Refactoring: put the manifest-reading code in a separate file.Eelco Dolstra1-87/+35
2003-12-04 * Fix for too long command lines when calling `nix-storeMartin Bravenboer1-4/+16
--register-[substitutes|successors].
2003-12-01 * Help text for all (non-script) programs, so no more:Eelco Dolstra1-1/+1
$ nix-instantiate --help error: unknown flag `--help` Try `nix-instantiate --help' for more information. :-)
2003-12-01 * Use a system name that does not include the OS manufacturer (i.e.,Eelco Dolstra1-2/+2
"i686-linux" instead of "i686-suse-linux").
2003-11-24 * One-click installation :-)Eelco Dolstra1-70/+82
The script nix-install-package takes a `Nix package file' (which contains one or more derivations, along with URLs of Nix caches), unpacks it, pulls the caches, and installs the derivations in the user's environment. For best results, associate the command `xterm -e /nix/bin/nix-install-package' with the MIME type `application/x-nix-package' and visit http://losser.st-lab.cs.uu.nl/~eelco/test/.
2003-11-24 * Fix nix-pull.Eelco Dolstra1-21/+15
2003-11-24 * Get rid of tab characters.Eelco Dolstra1-62/+62
2003-10-27 * Don't cache the manifest.Eelco Dolstra1-1/+1
2003-10-16 * Remove some debug output.Eelco Dolstra1-4/+1
2003-10-16 * Substitutes and nix-pull now work again.Eelco Dolstra1-60/+91
* Fixed a segfault caused by the buffering of stderr. * Fix now allows the specification of the full output path. This should be used with great care, since it by-passes the normal hash generation. * Incremented the version number to 0.4 (prerelease).
2003-08-15 * A script `nix-prefetch-url' to fetch a URL, place it in the NixEelco Dolstra1-3/+4
store, and print its hash.
2003-08-15 * Don't use a temporary file.Eelco Dolstra1-9/+14
2003-08-05 * Made nix-pull much faster by performing all Fix instantiations atEelco Dolstra1-14/+32
the same time.
2003-07-29 * Bug: Fix does not allow empty names, so don't generate them.Eelco Dolstra1-10/+10
2003-07-22 * Substitutes now should produce a path with the same id as they areEelco Dolstra1-4/+13
substituting for (obvious, really). * For greater efficiency, nix-pull/unnar will place the output in a path that is probably the same as what is actually needed, thus preventing a path copy. * Even if a output id is given in a Fix package expression, ensure that the resulting Nix derive expression has a different id. This is because Nix expressions that are semantically equivalent (i.e., build the same result) might be different w.r.t. efficiency or divergence. It is absolutely vital for the substitute mechanism that such expressions are not used interchangeably.