From de7c9fe6b0d706453db02334ff35e46980c35601 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Fri, 5 Dec 2008 17:58:47 +0000 Subject: [PATCH] Suggest installing dmidecode if needed and missing. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@5528 7894878c-1315-0410-8ee3-d5d059ff63e0 --- prog/detect/sensors-detect | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index 33ab8e56..d5810677 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -2158,16 +2158,20 @@ sub initialize_dmi_data } } else { # Else fallback on calling dmidecode - return unless open(local *DMIDECODE, - "dmidecode --version 2>/dev/null |"); - my $version = ; - close(DMIDECODE); - return unless defined $version; + my $version; + if (open(local *DMIDECODE, "dmidecode --version 2>/dev/null |")) { + $version = ; + close(DMIDECODE); + chomp $version if defined $version; + } - # We need at least version 2.7 - chomp $version; - return unless $version =~ m/^(\d+).(\d+)$/; - return unless (($1 == 2 && $2 >= 7) || $1 > 2); + if (!defined $version + || !($version =~ m/^(\d+).(\d+)$/) + || !(($1 == 2 && $2 >= 7) || $1 > 2)) { + print "# DMI data unavailable, please consider installing dmidecode 2.7\n". + "# or later for better results.\n"; + return; + } foreach my $k (keys %items) { next unless open(local *DMIDECODE, @@ -5151,9 +5155,9 @@ sub main chip_special_cases(); initialize_modules_supported(); initialize_cpu_list(); - initialize_dmi_data(); print "# sensors-detect revision $revision\n"; + initialize_dmi_data(); print_dmi_summary(); print "\n"; print "This program will help you determine which kernel modules you need\n",