diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-02-09T12·57+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-02-09T12·57+0000 |
commit | 98df735b5149bc1e39ce6b0bae13fbf7cebcdc05 (patch) | |
tree | 9a9549e0689400b71e230ba51317a2590969b63d /scripts/nix-push.in | |
parent | 582e01c06f9ecee25a31c34562926b41dc2856eb (diff) |
* Propagate the deriver of a path through the substitute mechanism.
* 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.
Diffstat (limited to 'scripts/nix-push.in')
-rw-r--r-- | scripts/nix-push.in | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/scripts/nix-push.in b/scripts/nix-push.in index 60ccce4edacf..52f4a30123d7 100644 --- a/scripts/nix-push.in +++ b/scripts/nix-push.in @@ -138,7 +138,6 @@ print STDERR "creating manifest...\n"; my %narFiles; my %patches; -my %successors; my @nararchives; for (my $n = 0; $n < scalar @storePaths; $n++) { @@ -169,7 +168,14 @@ for (my $n = 0; $n < scalar @storePaths; $n++) { my $narbz2Size = (stat $narfile)[7]; - my $references = join(" ", split(" ", `$binDir/nix-store --query --references '$storePath'`)); + my $references = `$binDir/nix-store --query --references '$storePath'`; + die "cannot query references for `$storePath'" if $? != 0; + $references = join(" ", split(" ", $references)); + + my $deriver = `$binDir/nix-store --query --deriver '$storePath'`; + die "cannot query deriver for `$storePath'" if $? != 0; + chomp $deriver; + $deriver = "" if $deriver eq "unknown-deriver"; my $url; if ($localCopy) { @@ -184,27 +190,12 @@ for (my $n = 0; $n < scalar @storePaths; $n++) { , narHash => $narHash , hashAlgo => "sha1" , references => $references + , deriver => $deriver } ]; - - if ($storePath =~ /\.store$/) { - open PREDS, "$binDir/nix-store --query --predecessors $storePath |" or die "cannot run nix"; - while (<PREDS>) { - chomp; - die unless (/^\//); - my $pred = $_; - # Only include predecessors that are themselves being - # pushed. - if (defined $storePaths{$pred}) { - $successors{$pred} = $storePath; - } - } - close PREDS; - } - } -writeManifest $manifest, \%narFiles, \%patches, \%successors; +writeManifest $manifest, \%narFiles, \%patches; sub copyFile { |