Always record inputs passed through -I in the BuildInputs table

We currently have no way to determine if the Nix evaluator used a
specific -I input, so we need to record all of them as inputs.
This commit is contained in:
Eelco Dolstra 2012-04-03 10:10:45 +00:00
parent 30e2b9046a
commit 2c677ec71a
2 changed files with 10 additions and 0 deletions

View file

@ -903,8 +903,17 @@ sub checkBuild {
print STDERR " added to queue as build ", $build->id, "\n"; print STDERR " added to queue as build ", $build->id, "\n";
} }
# Record which inputs where used.
my %inputs; my %inputs;
$inputs{$jobset->nixexprinput} = $nixExprInput; $inputs{$jobset->nixexprinput} = $nixExprInput;
foreach my $name (keys %{$inputInfo}) {
# Unconditionally include all inputs that were included in
# the Nix search path (through the -I flag). We currently
# have no way to see which ones were actually used.
$inputs{$name} = $inputInfo->{$name}->[0]
if scalar @{$inputInfo->{$name}} == 1
&& defined $inputInfo->{$name}->[0]->{storePath};
}
foreach my $arg (@{$buildInfo->{arg}}) { foreach my $arg (@{$buildInfo->{arg}}) {
$inputs{$arg->{name}} = $inputInfo->{$arg->{name}}->[$arg->{altnr}] $inputs{$arg->{name}} = $inputInfo->{$arg->{name}}->[$arg->{altnr}]
|| die "invalid input"; || die "invalid input";

View file

@ -44,6 +44,7 @@ sub setJobsetError {
sendJobsetErrorNotification($jobset, $errorMsg); sendJobsetErrorNotification($jobset, $errorMsg);
} }
sub sendJobsetErrorNotification() { sub sendJobsetErrorNotification() {
my ($jobset, $errorMsg) = @_; my ($jobset, $errorMsg) = @_;