aboutsummaryrefslogtreecommitdiff
path: root/scripts/copy-from-other-stores.pl.in
AgeCommit message (Collapse)Author
2016-06-02LocalStore: Allow the physical and logical store directories to differEelco Dolstra
This is primarily to subsume the functionality of the copy-from-other-stores substituter. For example, in the NixOS installer, we can now do (assuming we're in the target chroot, and the Nix store of the installation CD is bind-mounted on /tmp/nix): $ nix-build ... --option substituters 'local?state=/tmp/nix/var&real=/tmp/nix/store' However, unlike copy-from-other-stores, this also allows write access to such a store. One application might be fetching substitutes for /nix/store in a situation where the user doesn't have sufficient privileges to create /nix, e.g.: $ NIX_REMOTE="local?state=/home/alice/nix/var&real=/home/alice/nix/store" nix-build ...
2015-06-04copy-from-other-stores: Use cpEelco Dolstra
2015-01-15Shut up "Wide character in print" warning in copy-from-other-stores.plEelco Dolstra
2014-08-20Use proper quotes everywhereEelco Dolstra
2013-07-01copy-from-other-stores.pl: Respect $NIX_BIN_DIREelco Dolstra
2013-07-01copy-from-other-stores.pl: Report downloaded size as 0Eelco Dolstra
2013-06-20Don't keep "disabled" substituters runningEelco Dolstra
For instance, it's pointless to keep copy-from-other-stores running if there are no other stores, or download-using-manifests if there are no manifests. This also speeds things up because we don't send queries to those substituters.
2012-10-02Add operation ‘nix-store --repair-path’Eelco Dolstra
This operation allows fixing corrupted or accidentally deleted store paths by redownloading them using substituters, if available. Since the corrupted path cannot be replaced atomically, there is a very small time window (one system call) during which neither the old (corrupted) nor the new (repaired) contents are available. So repairing should be used with some care on critical packages like Glibc.
2012-07-27Let build.cc verify the expected hash of a substituter's outputEelco Dolstra
Since SubstitutionGoal::finished() in build.cc computes the hash anyway, we can prevent the inefficiency of computing the hash twice by letting the substituter tell Nix about the expected hash, which can then verify it.
2012-07-11Update the other substitutersEelco Dolstra
2012-01-05* Add a -I flag to the Perl bindings to nix-build and some otherEelco Dolstra
scripts. * Include the version and architecture in the -I flag so that there is at least a chance that a Nix binary built for one Perl version will run on another version.
2011-10-10* Set the executable bit on scripts.Eelco Dolstra
2010-11-17* Before a build, show the disk space that the downloaded store pathsEelco Dolstra
will approximately require.
2010-04-26* Fix the copy-from-other-stores substituter.Eelco Dolstra
2008-11-20* Urgh.Eelco Dolstra
2008-08-04* Doh.Eelco Dolstra
2008-08-02* Make nix-env --dry-run print the paths to be substituted correctlyEelco Dolstra
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-18* Use the copy-from-other-stores substituter by default. Of course,Eelco Dolstra
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 Dolstra
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.