Accepting request 111596 from Base:System

Upgrade to upstream version 3.3.2.

OBS-URL: https://build.opensuse.org/request/show/111596
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/sensors?expand=0&rev=76
This commit is contained in:
Stephan Kulow 2012-03-29 09:42:30 +00:00 committed by Git OBS Bridge
commit 410d0bee79
13 changed files with 29 additions and 268 deletions

View File

@ -2,9 +2,9 @@
prog/detect/sensors-detect | 6 ++++++
1 file changed, 6 insertions(+)
--- lm_sensors-3.3.0.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.0/prog/detect/sensors-detect
@@ -6416,6 +6416,12 @@ sub write_config
--- lm_sensors-3.3.2.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.2/prog/detect/sensors-detect
@@ -6642,6 +6642,12 @@ sub write_config
or die "Sorry, can't create /etc/sysconfig/lm_sensors ($!)";
print SYSCONFIG "# Generated by sensors-detect on " . scalar localtime() . "\n";
print SYSCONFIG <<'EOT';

View File

@ -6,9 +6,9 @@ package if drivers are found to be missing.
prog/detect/sensors-detect | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
--- lm_sensors-3.3.0.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.0/prog/detect/sensors-detect
@@ -2421,12 +2421,15 @@ sub initialize_conf
--- lm_sensors-3.3.2.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.2/prog/detect/sensors-detect
@@ -2567,12 +2567,15 @@ sub initialize_conf
# [2] -> SUBLEVEL
# [3] -> EXTRAVERSION
#
@ -25,7 +25,7 @@ package if drivers are found to be missing.
chomp($kernel_arch = `uname -m`);
# We only support kernels >= 2.6.5
@@ -6358,7 +6361,11 @@ sub generate_modprobes
@@ -6584,7 +6587,11 @@ sub generate_modprobes
# isn't supported
if ((($? >> 8) == 0) && ! $modulefound) {
print "Warning: the required module $driver is not currently installed\n".

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cfcc783945f7bfd5206e73f8f9d3f353b0dbf22153c0ef2587a8d7a7be7e628f
size 170156

3
lm_sensors-3.3.2.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f13dd885406841a7352ccfb8b9ccb23c4c057abe3de4258da5444c149a9e3ae1
size 171111

View File

@ -1,27 +0,0 @@
---
prog/detect/sensors-detect | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
--- lm_sensors-3.3.1.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.1/prog/detect/sensors-detect
@@ -2767,8 +2767,9 @@ sub initialize_dmi_data
);
# Many BIOS have broken DMI data, filter it out
my %fake = (
- 'System Manufacturer' => 1,
- 'System Name' => 1,
+ 'system manufacturer' => 1,
+ 'system product name' => 1,
+ 'system name' => 1,
);
my $dmi_id_dir;
@@ -2797,7 +2798,7 @@ sub initialize_dmi_data
next;
}
$dmi{$k} =~ s/\s*$//;
- delete $dmi{$k} if $dmi{$k} eq '' || exists $fake{$dmi{$k}};
+ delete $dmi{$k} if $dmi{$k} eq '' || exists $fake{lc($dmi{$k})};
}
}

View File

@ -1,22 +0,0 @@
---
prog/detect/sensors-detect | 2 ++
1 file changed, 2 insertions(+)
--- lm_sensors-3.3.1.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.1/prog/detect/sensors-detect
@@ -2770,6 +2770,7 @@ sub initialize_dmi_data
'system manufacturer' => 1,
'system product name' => 1,
'system name' => 1,
+ 'system version' => 1,
);
my $dmi_id_dir;
@@ -2814,6 +2815,7 @@ sub print_dmi_summary
if (defined $system) {
print "# System: $system";
+ print " [$dmi{product_version}]" if defined $dmi{product_version};
print " (laptop)" if (is_laptop());
print "\n";
}

View File

@ -1,22 +0,0 @@
Fix loading of the cpuid module. On non-udev systems, or even on udev
systems where /dev/cpu/0/cpuid is part of the static device node tree,
the previous test would succeed even when the cpuid module isn't
loaded, resulting in missing detections (of coretemp-supported CPU
models in particuler.) Check if the module is loaded by looking in
sysfs instead, this is much more reliable.
---
prog/detect/sensors-detect | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- lm_sensors-3.3.1.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.1/prog/detect/sensors-detect
@@ -6636,7 +6636,7 @@ sub main
"Do you want to scan for them? This is totally safe. (YES/no): ";
unless (<STDIN> =~ /^\s*n/i) {
# Load the cpuid driver if needed
- unless (-e "/dev/cpu/$cpu[0]->{nr}/cpuid") {
+ unless (-e "$sysfs_root/class/cpuid") {
load_module("cpuid");
udev_settle();
}

View File

@ -1,20 +0,0 @@
Properly handle Super-I/O chips without logical device. Just report
that we can't support the chip yet, instead of spitting I/O errors.
---
prog/detect/sensors-detect | 4 ++++
1 file changed, 4 insertions(+)
--- lm_sensors-3.3.1.orig/prog/detect/sensors-detect
+++ lm_sensors-3.3.1/prog/detect/sensors-detect
@@ -3747,6 +3747,10 @@ sub probe_superio
print "\n (hardware monitoring capabilities accessible via SMBus only)\n";
return FEAT_SMBUS;
}
+ if (!exists $chip->{logdev}) {
+ print "\n (no support yet)\n";
+ return 0;
+ }
# Switch to the sensor logical device
outb($addrreg, $superio{logdevreg});

View File

@ -1,43 +0,0 @@
References: bnc#751180
Upcoming change in sysfs will break the way libsensors detects if
sysfs is mounted. Adjust the implementation so that it still works after
said change.
---
lib/sysfs.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- lm_sensors-3.3.1.orig/lib/sysfs.c
+++ lm_sensors-3.3.1/lib/sysfs.c
@@ -24,6 +24,7 @@
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/vfs.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
@@ -40,6 +41,7 @@
/****************************************************************************/
#define ATTR_MAX 128
+#define SYSFS_MAGIC 0x62656572
/*
* Read an attribute from sysfs
@@ -585,11 +587,11 @@ exit_free:
/* returns !0 if sysfs filesystem was found, 0 otherwise */
int sensors_init_sysfs(void)
{
- struct stat statbuf;
+ struct statfs statfsbuf;
snprintf(sensors_sysfs_mount, NAME_MAX, "%s", "/sys");
- if (stat(sensors_sysfs_mount, &statbuf) < 0
- || statbuf.st_nlink <= 2) /* Empty directory */
+ if (statfs(sensors_sysfs_mount, &statfsbuf) < 0
+ || statfsbuf.f_type != SYSFS_MAGIC)
return 0;
return 1;

View File

@ -1,70 +0,0 @@
References: bnc#751177
Fix memory leaks in sensord revealed by valgrind.
The leak in daemonize() is harmless, we're about to exit anyway. Fix
it still to make valgrind happy.
The leak in do_features() is real, as the function is called
periodically by the daemon, for all actions. If the intervals at set
low and the system has many sensors, the leak could be significant,
maybe 150 kB/day.
---
prog/sensord/sense.c | 22 +++++++++++++---------
prog/sensord/sensord.c | 6 +++++-
2 files changed, 18 insertions(+), 10 deletions(-)
--- lm_sensors-3.3.1.orig/prog/sensord/sense.c
+++ lm_sensors-3.3.1/prog/sensord/sense.c
@@ -132,14 +132,7 @@ static int do_features(const sensors_chi
const FeatureDescriptor *feature, int action)
{
char *label;
- int alrm, beep;
-
- label = sensors_get_label(chip, feature->feature);
- if (!label) {
- sensorLog(LOG_ERR, "Error getting sensor label: %s/%s",
- chip->prefix, feature->feature->name);
- return -1;
- }
+ int alrm, beep, ret;
alrm = get_flag(chip, feature->alarmNumber);
if (alrm == -1)
@@ -151,7 +144,18 @@ static int do_features(const sensors_chi
if (beep == -1)
return -1;
- return get_features(chip, feature, action, label, alrm, beep);
+ label = sensors_get_label(chip, feature->feature);
+ if (!label) {
+ sensorLog(LOG_ERR, "Error getting sensor label: %s/%s",
+ chip->prefix, feature->feature->name);
+ return -1;
+ }
+
+ ret = get_features(chip, feature, action, label, alrm, beep);
+
+ free(label);
+
+ return ret;
}
static int doKnownChip(const sensors_chip_name *chip,
--- lm_sensors-3.3.1.orig/prog/sensord/sensord.c
+++ lm_sensors-3.3.1/prog/sensord/sensord.c
@@ -204,7 +204,11 @@ static void daemonize(void)
} else if (pid != 0) {
fprintf(file, "%d\n", pid);
fclose(file);
- unloadLib();
+
+ freeChips();
+ if (unloadLib())
+ exit(EXIT_FAILURE);
+
exit(EXIT_SUCCESS);
}

View File

@ -1,39 +0,0 @@
Fix power interval output
Power interval is measured in seconds, not Watt.
---
prog/sensors/chips.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
--- lm_sensors-3.3.1.orig/prog/sensors/chips.c
+++ lm_sensors-3.3.1/prog/sensors/chips.c
@@ -564,11 +564,25 @@ static void print_chip_power(const senso
} else
printf(" N/A ");
- for (i = 0; i < sensor_count; i++)
- scale_value(&sensors[i].value, &sensors[i].unit);
+ for (i = 0; i < sensor_count; i++) {
+ /*
+ * Unit is W and needs to be scaled for all attributes except
+ * interval, which does not need to be scaled and is reported in
+ * seconds.
+ */
+ if (strcmp(sensors[i].name, "interval")) {
+ char *tmpstr;
+ tmpstr = alloca(4);
+ scale_value(&sensors[i].value, &unit);
+ snprintf(tmpstr, 4, "%sW", unit);
+ sensors[i].unit = tmpstr;
+ } else {
+ sensors[i].unit = "s";
+ }
+ }
print_limits(sensors, sensor_count, alarms, alarm_count,
- label_size, "%s = %6.2f %sW");
+ label_size, "%s = %6.2f %s");
printf("\n");
}

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue Mar 20 18:08:30 CET 2012 - jdelvare@suse.de
- Update to lm_sensors 3.3.2
* Support for many subfeatures implemented by new hwmon drivers.
* Fix to support a sysfs implementation change in upcoming kernels.
* Better printing of power sensors in sensors.
* Memory leaks fixed in sensord.
* New chips known by sensors-detect, as usual.
- lm_sensors-r5991-improve-filtering-of-fake-DMI-data.patch,
lm_sensors-r5992-print-DMI-product-version.patch,
lm_sensors-r5993-fix-loading-of-cpuid-module.patch,
lm_sensors-r6016-handle-superio-wo-logdev.patch,
lm_sensors-r6017-fix-sysfs-detection.patch,
lm_sensors-r6025-sensord-fix-memory-leaks.patch,
lm_sensors-r6030-fix-power-interval-output.patch: Removes,
obsolete.
-------------------------------------------------------------------
Thu Mar 8 10:35:17 CET 2012 - jdelvare@suse.de

View File

@ -21,7 +21,7 @@
Name: sensors
BuildRequires: bison flex rrdtool-devel
Url: http://www.lm-sensors.org/
Version: 3.3.1
Version: 3.3.2
Release: 1
Summary: Hardware health monitoring for Linux
License: GPL-2.0+
@ -35,13 +35,6 @@ Patch1: lm_sensors-3.1.1-build.patch
Patch2: lm_sensors-3.0.0-sensord-separate.patch
Patch3: lm_sensors-3.0.0-sysconfig_metadata.patch
Patch4: lm_sensors-3.0.3-hint-at-kernel-extra-package.patch
Patch5: lm_sensors-r5991-improve-filtering-of-fake-DMI-data.patch
Patch6: lm_sensors-r5992-print-DMI-product-version.patch
Patch7: lm_sensors-r5993-fix-loading-of-cpuid-module.patch
Patch8: lm_sensors-r6016-handle-superio-wo-logdev.patch
Patch9: lm_sensors-r6017-fix-sysfs-detection.patch
Patch10: lm_sensors-r6025-sensord-fix-memory-leaks.patch
Patch11: lm_sensors-r6030-fix-power-interval-output.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExcludeArch: s390 s390x
@ -144,13 +137,6 @@ Authors:
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%build
RPM_OPT_FLAGS="$RPM_OPT_FLAGS"