aboutsummaryrefslogtreecommitdiff
path: root/scripts/nix-pull.in
AgeCommit message (Collapse)Author
2014-08-29Shut up "Wide character" warnings in Perl scriptsEelco Dolstra
2014-08-20Use proper quotes everywhereEelco Dolstra
2014-08-13Use $XDG_RUNTIME_DIR for temporary filesEelco Dolstra
2012-10-03When ‘--help’ is given, just run ‘man’ to show the manual pageEelco Dolstra
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-13Delete manifests in "nix-channel --remove" or when a binary cache is availableEelco Dolstra
2012-05-07Now *really* prevent accumulation of old manifestsEelco Dolstra
2012-04-16Hack to prevent accumulation of old manifestsEelco Dolstra
2012-04-04Follow redirects when checking for the existence of MANIFEST.bz2Eelco Dolstra
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 Dolstra
2011-11-16* nix-pull: update the Nix manifest cache if necessary. Also, don'tEelco Dolstra
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 Dolstra
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 Dolstra
2011-10-10* Set the executable bit on scripts.Eelco Dolstra
2011-10-10* Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm underEelco Dolstra
the Nix:: namespace.
2011-07-20* Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcrootsEelco Dolstra
if it doesn't exist.
2011-04-11* configure: detect whether DBD::SQLite is present. If necessary theEelco Dolstra
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 Dolstra
and redundant anyway.
2010-12-05* Use CamelCase for the Perl modules.Eelco Dolstra
2009-12-09* When doing a nix-pull, remove old manifests downloaded from the sameEelco Dolstra
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 Dolstra
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 Dolstra
2009-02-27* Check the manifest version.Eelco Dolstra
2008-11-20* Urgh.Eelco Dolstra
2007-08-15* Show errors in nix-prefetch-url.Eelco Dolstra
2007-08-14* Fix the tests.Eelco Dolstra
2007-08-12* Get rid of the substitutes database table (NIX-47). Instead, if weEelco Dolstra
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 Dolstra
try $url.bz2 first.
2007-08-09* nix-pull: using nix-prefetch-url (so that we get caching for free),Eelco Dolstra
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 Dolstra
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 Dolstra
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 Dolstra
2006-10-04* tmpnam() -> File::Temp::tempdir().Eelco Dolstra
2006-09-25* In `nix-channel --update', skip manifests that assume a Nix store atEelco Dolstra
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 Dolstra
2006-05-31* This may be useful in the future.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-04-08* nix-store: `--substitute' -> `--register-substitutes'.Eelco Dolstra
2005-02-25* Add a version number to manifests.Eelco Dolstra
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* Make check fixes.Eelco Dolstra
2005-01-25* Really fix the substitute mechanism, i.e., ensure the closureEelco Dolstra
invariant by registering references through the manifest. * Added a test for nix-pull.
2004-12-20* Place manifests in /nix/var/nix/manifests.Eelco Dolstra
* Use the new patch downloader.
2004-12-20* Sync with changed substitute mechanism.Eelco Dolstra
* Accept the NarHash line. * Clear substitutes in `nix-channel --update'.
2004-12-16* Fix nix-pull.Eelco Dolstra
2004-12-16* Remove `prebuilts.conf' file, it's not like anybody was using it.Eelco Dolstra
* Add /nix/var/nix/manifests directory.
2004-12-13* Patch deployment. `download.pl' (intended to be used in theEelco Dolstra
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 Dolstra
2004-04-06* Switched from wget to curl.Eelco Dolstra
* Made the dependencies on bzip2 and the shell explicit.