1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-28 22:01:15 +02:00

* 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.
This commit is contained in:
Eelco Dolstra 2005-02-09 12:57:13 +00:00
parent 582e01c06f
commit 98df735b51
18 changed files with 86 additions and 74 deletions

View file

@ -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 {