about summary refs log tree commit diff
path: root/scripts/nix-pull.in
AgeCommit message (Collapse)AuthorFilesLines
2014-08-13 Use $XDG_RUNTIME_DIR for temporary filesEelco Dolstra1-4/+0
2012-10-03 When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra1-1/+3
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-09-13 Delete manifests in "nix-channel --remove" or when a binary cache is availableEelco Dolstra1-14/+3
2012-05-07 Now *really* prevent accumulation of old manifestsEelco Dolstra1-2/+4
2012-04-16 Hack to prevent accumulation of old manifestsEelco Dolstra1-1/+1
2012-04-04 Follow redirects when checking for the existence of MANIFEST.bz2Eelco Dolstra1-1/+1
If we don't follow redirects, we might think that MANIFEST.bz2 exists just because the HEAD request succeeds on the redirector URI.
2012-01-03 * Use Nix::Config.Eelco Dolstra1-4/+1
2011-11-16 * nix-pull: update the Nix manifest cache if necessary. Also, don'tEelco Dolstra1-21/+3
read the manifest just to check the version and print the number of paths. This makes nix-pull very fast for the cached cache (speeding up nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).
2011-11-16 * Don't decompress the manifests in /nix/var/nix/manifest. This savesEelco Dolstra1-10/+1
disk space, and, since they're typically only decompressed once (to fill the manifest cache), doesn't make things slower.
2011-10-19 * Print a consistent message.Eelco Dolstra1-1/+1
2011-10-10 * Set the executable bit on scripts.Eelco Dolstra1-0/+0
2011-10-10 * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm underEelco Dolstra1-9/+9
the Nix:: namespace.
2011-07-20 * Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcrootsEelco Dolstra1-0/+8
if it doesn't exist.
2011-04-11 * configure: detect whether DBD::SQLite is present. If necessary theEelco Dolstra1-1/+1
location to DBI and DBD::SQLite can be passed with --with-dbi and --with-dbd-sqlite.
2011-04-06 * Remove the localPaths feature in manifests since it's no longer usedEelco Dolstra1-3/+2
and redundant anyway.
2010-12-05 * Use CamelCase for the Perl modules.Eelco Dolstra1-1/+1
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.