From 463bd1d6508d073aae7850a30863e06f05e15d5f Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Wed, 2 Apr 2008 19:42:42 +0000 Subject: factorize (and avoid printing harmless error messages) --- lib/Iurt/DKMS.pm | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'lib/Iurt') diff --git a/lib/Iurt/DKMS.pm b/lib/Iurt/DKMS.pm index dd5a017..a7993ef 100644 --- a/lib/Iurt/DKMS.pm +++ b/lib/Iurt/DKMS.pm @@ -122,21 +122,18 @@ sub search_dkms { plog("checking $realmodule-kernel-$modulesdir-$realversion"); next if $cache->{dkms}{"$realmodule-kernel-$modulesdir-$realversion"} && !$run->{ignore_failure}; if (!$modules{$realmodule}{$realversion}{$modulesdir}) { - my ($name, $v) = $kernel =~ /^([^-]+)-.*-(2\..*)/; - my $source = "$name-$v"; - if (!$kernel_source{$source}) { - my ($name) = $kernel =~ /(2\..*)/; - plog('ERR', "ERROR: no source for kernel $kernel (source $source), testing $name"); - $source = $name; - if (!$kernel_source{$source}) { - my $name = $kernel; - plog('ERR', "ERROR: no source for kernel $kernel (source $source), testing $name"); - $source = $name; - if (!$kernel_source{$source}) { - plog('ERR', "ERROR: no source for kernel $kernel (source $source), ignoring"); - next; - } - } + my @choices; + if (my ($name, $v) = $kernel =~ /^([^-]+)-.*-(2\..*)/) { + push @choices, "$name-$v"; + } + if (my ($name) = $kernel =~ /(2\..*)/) { + push @choices, $name; + } + push @choices, $kernel; + my $source = find { $kernel_source{$_} } @choices; + if (!$source) { + plog('ERR', "ERROR: no source for kernel $kernel (tried " . join(", ", @choices) . ")"); + next; } plog("dkms module $module version $version should be compiled for kernel $kernel ($source)"); $nb++; -- cgit v1.2.1