Changeset 5683
- Timestamp:
- 03/12/09 18:15:13 (4 years ago)
- Files:
-
- 1 modified
-
lm-sensors/trunk/prog/detect/sensors-detect (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/prog/detect/sensors-detect
r5682 r5683 2251 2251 ############ 2252 2252 2253 use vars qw(%dmi); 2253 use vars qw(%dmi $dmidecode_ok); 2254 2255 # Returns: 1 if dmidecode is recent enough, 0 if not 2256 # Cache the result in case it is needed again later. 2257 sub check_dmidecode_version 2258 { 2259 return $dmidecode_ok if defined $dmidecode_ok; 2260 2261 my $version; 2262 if (open(local *DMIDECODE, "dmidecode --version 2>/dev/null |")) { 2263 $version = <DMIDECODE>; 2264 close(DMIDECODE); 2265 chomp $version if defined $version; 2266 } 2267 2268 if (!defined $version 2269 || !($version =~ m/^(\d+).(\d+)$/) 2270 || !(($1 == 2 && $2 >= 7) || $1 > 2)) { 2271 print "# DMI data unavailable, please consider installing dmidecode 2.7\n". 2272 "# or later for better results.\n"; 2273 $dmidecode_ok = 0; 2274 } else { 2275 $dmidecode_ok = 1; 2276 } 2277 2278 return $dmidecode_ok; 2279 } 2254 2280 2255 2281 sub initialize_dmi_data … … 2280 2306 } else { 2281 2307 # Else fallback on calling dmidecode 2282 my $version; 2283 if (open(local *DMIDECODE, "dmidecode --version 2>/dev/null |")) { 2284 $version = <DMIDECODE>; 2285 close(DMIDECODE); 2286 chomp $version if defined $version; 2287 } 2288 2289 if (!defined $version 2290 || !($version =~ m/^(\d+).(\d+)$/) 2291 || !(($1 == 2 && $2 >= 7) || $1 > 2)) { 2292 print "# DMI data unavailable, please consider installing dmidecode 2.7\n". 2293 "# or later for better results.\n"; 2294 return; 2295 } 2308 return unless check_dmidecode_version(); 2296 2309 2297 2310 foreach my $k (keys %items) { … … 5013 5026 my ($version, $if, @ipmi_if); 5014 5027 5015 if (open(local *DMIDECODE, "dmidecode --version 2>/dev/null |")) { 5016 $version = <DMIDECODE>; 5017 close(DMIDECODE); 5018 chomp $version if defined $version; 5019 } 5020 5021 if (!defined $version 5022 || !($version =~ m/^(\d+).(\d+)$/) 5023 || !(($1 == 2 && $2 >= 7) || $1 > 2)) { 5024 print "# DMI data unavailable, please consider installing dmidecode 2.7\n". 5025 "# or later for better results.\n"; 5026 return; 5027 } 5028 return 0 unless check_dmidecode_version(); 5028 5029 5029 5030 # Parse the output of dmidecode into an array of IPMI interfaces.
