diff --git a/.cvsignore b/.cvsignore index 476a8c7..8ad11ff 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gkrellm-2.2.9.tar.bz2 +gkrellm-2.2.10.tar.bz2 diff --git a/gkrellm-2.2.9-hwmon.patch b/gkrellm-2.2.9-hwmon.patch deleted file mode 100644 index 3c16d5a..0000000 --- a/gkrellm-2.2.9-hwmon.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- gkrellm-2.2.9/src/sysdeps/linux.c~ 2006-07-05 21:44:55.000000000 +0200 -+++ gkrellm-2.2.9/src/sysdeps/linux.c 2006-07-05 21:55:48.000000000 +0200 -@@ -1888,6 +1888,7 @@ - #define THERMAL_DIR "/proc/acpi/thermal" - #define SENSORS_DIR "/proc/sys/dev/sensors" - #define SYSFS_I2C_DIR "/sys/bus/i2c/devices" -+#define SYSFS_CLASS_DIR "/sys/class/hwmon" - #define UNINORTH_DIR "/sys/devices/temperatures" - - /* mbmon and hddtemp sensor interfaces are handled in sensors-common.c -@@ -2351,15 +2352,24 @@ - gchar *name, *bus_name, *default_label, *vref, - *id_name, *chip_name, *s, *d, *sensor_path; - gchar path[256], buf[256]; -+ gboolean using_i2c_dir = FALSE; - - if (!have_sysfs) - return; - -- if ((dir = g_dir_open(SYSFS_I2C_DIR, 0, NULL)) == NULL) -- return; -+ if ((dir = g_dir_open(SYSFS_CLASS_DIR, 0, NULL)) == NULL) -+ { -+ /* try again with the sysfs i2c dir for older 2.6 kernels */ -+ if ((dir = g_dir_open(SYSFS_I2C_DIR, 0, NULL)) == NULL) -+ return; -+ using_i2c_dir = TRUE; -+ } - while ((bus_name = (gchar *) g_dir_read_name(dir)) != NULL) - { -- snprintf(path, sizeof(path), "%s/%s", SYSFS_I2C_DIR, bus_name); -+ if (using_i2c_dir) -+ snprintf(path, sizeof(path), "%s/%s", SYSFS_I2C_DIR, bus_name); -+ else -+ snprintf(path, sizeof(path), "%s/%s/device", SYSFS_CLASS_DIR, bus_name); - if ((chip_dir = g_dir_open(path, 0, NULL)) == NULL) - continue; - if ((chip_name = sysfs_get_chip_name(path)) == NULL) diff --git a/gkrellm-2.2.9-libsensors.patch b/gkrellm-2.2.9-libsensors.patch deleted file mode 100644 index 258ffb0..0000000 --- a/gkrellm-2.2.9-libsensors.patch +++ /dev/null @@ -1,326 +0,0 @@ ---- gkrellm-2.2.9/src/sysdeps/linux.c.libsensors 2006-07-07 15:13:14.000000000 +0200 -+++ gkrellm-2.2.9/src/sysdeps/linux.c 2006-07-07 15:13:23.000000000 +0200 -@@ -29,8 +29,11 @@ - have_diskstats, - have_partition_stats, - have_sysfs, -- have_sysfs_stats, -- have_sysfs_sensors; -+ have_sysfs_stats; -+#ifndef HAVE_LIBSENSORS -+static gboolean have_sysfs_sensors; -+#endif -+ - static gchar locale_decimal_point; - - -@@ -1912,6 +1915,158 @@ - #define IBM_ACPI_NA2_TEMP 7 - #define IBM_ACPI_FAN 8 - -+#ifdef HAVE_LIBSENSORS -+#include -+ -+static void libsensors_init(void) -+{ -+ int nr, nr1, nr2, len; -+ const sensors_chip_name *name; -+ const sensors_feature_data *feature; -+ char *label; -+ FILE *f; -+ char id_name[512], sensor_path[512]; -+ int type; -+ -+ f = fopen("/etc/sensors.conf", "r"); -+ if (!f) { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors error could not open /etc/sensors.conf\n"); -+ return; -+ } -+ -+ if (sensors_init(f) != 0) { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors init failed!\n"); -+ return; -+ } -+ fclose(f); -+ -+ nr = 0; -+ while ((name = sensors_get_detected_chips(&nr))) { -+ nr1 = 0, nr2 = 0; -+ while ((feature = sensors_get_all_features(*name, &nr1, &nr2))) { -+ if (sensors_get_ignored(*name, feature->number) && -+ feature->mapping == SENSORS_NO_MAPPING) { -+ if (name->bus >= 0) -+ snprintf(id_name, sizeof(id_name), "%s@%d:%x/%s", name->prefix, -+ name->bus, name->addr, feature->name); -+ else -+ snprintf(id_name, sizeof(id_name), "%s@%x/%s", name->prefix, -+ name->addr, feature->name); -+ /* we need to store both the prefix and the busname, but we only -+ have one string, so concat them together seperated by a : */ -+ snprintf(sensor_path, sizeof(sensor_path), "%s:%s", name->prefix, -+ name->busname? name->busname:"NULL"); -+ -+ if (!strncmp(feature->name, "temp", 4)) -+ type = SENSOR_TEMPERATURE; -+ else if (!strncmp(feature->name, "fan", 3)) -+ type = SENSOR_FAN; -+ else if (!strncmp(feature->name, "in", 2)) -+ type = SENSOR_VOLTAGE; -+ else { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors error determining type for: %s\n", id_name); -+ continue; -+ } -+ -+ /* failsafe tests, check if bus and addr fit in 16 bits (signed) */ -+ if (name->bus != ((name->bus<<16)>>16)) { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors error cannot represent bus in 16 bits: %s\n", -+ id_name); -+ continue; -+ } -+ if (name->addr != ((name->addr<<16)>>16)) { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors error cannot represent addr in 16 bits: %s\n", -+ id_name); -+ continue; -+ } -+ -+ if (sensors_get_label(*name, feature->number, &label) != 0) { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors error getting label for: %s\n", id_name); -+ label = NULL; -+ } -+ -+ /* Strip some common post and prefixes to get smaller default labels */ -+ len = strlen(label); -+ switch(type) { -+ case SENSOR_TEMPERATURE: -+ if (len > 5 && !strcasecmp(label+len-5, " Temp")) -+ label[len-5] = 0; -+ if (len > 12 && !strcasecmp(label+len-12, " Temperature")) -+ label[len-12] = 0; -+ break; -+ case SENSOR_FAN: -+ if (len > 4 && !strcasecmp(label+len-4, " Fan")) -+ label[len-4] = 0; -+ if (len > 10 && !strcasecmp(label+len-10, " FAN Speed")) -+ label[len-10] = 0; -+ break; -+ case SENSOR_VOLTAGE: -+ if (len > 8 && !strcasecmp(label+len-8, " Voltage")) -+ label[len-8] = 0; -+ if (!strncmp(label, "ATX ", 4)) -+ memmove(label, label+4, strlen(label+4)+1); -+ break; -+ } -+ /* notice that we store the bus and addr both in iodev as 2 _signed_ -+ 16 bit ints */ -+ gkrellm_sensors_add_sensor(type, sensor_path, id_name, feature->number, -+ (name->bus&0xFFFF) | (name->addr<<16), LM_SENSOR_INTERFACE, 1.0, 0.0, -+ NULL, label); -+ if (label) -+ free(label); -+ } -+ } -+ } -+} -+ -+gboolean libsensors_get_value(char *sensor_path, -+ int id, int iodev, float *value) -+{ -+ char *p; -+ sensors_chip_name name; -+ double val; -+ int result; -+ -+ /* fill name */ -+ p = strchr(sensor_path, ':'); -+ if (!p) { -+ if (_GK.debug_level & DEBUG_SENSORS) -+ printf("libsensors error parsing sensor_path: %s\n", sensor_path); -+ return FALSE; -+ } -+ *p = 0; /* We must undo this !! (or make a copy) */ -+ name.prefix = sensor_path; -+ name.bus = (iodev << 16) >> 16; /* sign extend the low 16 bits */ -+ name.addr = iodev >> 16; -+ name.busname = p + 1; -+ if (!strcmp(name.busname, "NULL")) -+ name.busname = NULL; -+ -+ result = sensors_get_feature(name, id, &val) == 0; -+ -+ if (!result && (_GK.debug_level & DEBUG_SENSORS)) { -+ if (name.bus >= 0) -+ printf("libsensors error getting value for: %s@%d:%x feature: %d\n", -+ name.prefix, name.bus, name.addr, id); -+ else -+ printf("libsensors error getting value for: %s@%x feature: %d\n", -+ name.prefix, name.addr, id); -+ } -+ -+ if (value) -+ *value = val; -+ -+ *p = ':'; /* !!! */ -+ return result; -+} -+ -+#else - typedef struct - { - gchar *name; -@@ -2037,7 +2192,7 @@ - { "+3.3V", 1.0, 0, NULL } - }; - -- -+#endif - - gboolean - gkrellm_sys_sensors_get_temperature(gchar *sensor_path, gint id, -@@ -2046,8 +2201,11 @@ - FILE *f; - gchar buf[128], units[32]; - gint n; -- gfloat T, t[5], ibm_acpi_temp[8]; -+ gfloat T, ibm_acpi_temp[8]; - gboolean result = FALSE; -+#ifndef HAVE_LIBSENSORS -+ gfloat t[5]; -+#endif - - if ( interface == THERMAL_INTERFACE - || interface == THERMAL_ZONE_INTERFACE -@@ -2142,6 +2300,9 @@ - } - } - -+#ifdef HAVE_LIBSENSORS -+ return libsensors_get_value(sensor_path, id, iodev, temp); -+#else - if ((f = fopen(sensor_path, "r")) == NULL) - return FALSE; - fgets(buf, sizeof(buf), f); -@@ -2162,6 +2323,7 @@ - if (temp) - *temp = T; - return TRUE; -+#endif - } - - gboolean -@@ -2170,9 +2332,12 @@ - { - FILE *f; - gchar buf[64]; -- gint n; -- gfloat t[4], T; -+ gfloat T; - gboolean result = FALSE; -+#ifndef HAVE_LIBSENSORS -+ gint n; -+ gfloat t[4]; -+#endif - - if (interface == IBM_ACPI_INTERFACE) - { -@@ -2196,6 +2361,9 @@ - return gkrellm_sys_sensors_mbmon_get_value(sensor_path, fan); - } - -+#ifdef HAVE_LIBSENSORS -+ return libsensors_get_value(sensor_path, id, iodev, fan); -+#else - if ((f = fopen(sensor_path, "r")) == NULL) - return FALSE; - fgets(buf, sizeof(buf), f); -@@ -2210,16 +2378,19 @@ - if (fan) - *fan = t[n - 1]; - return TRUE; -+#endif - } - - gboolean - gkrellm_sys_sensors_get_voltage(gchar *sensor_path, gint id, - gint iodev, gint interface, gfloat *volt) - { -+#ifndef HAVE_LIBSENSORS - FILE *f; - gchar buf[64]; - gfloat V, t[3]; - gint n; -+#endif - - if (interface == MBMON_INTERFACE) - { -@@ -2227,6 +2398,9 @@ - return gkrellm_sys_sensors_mbmon_get_value(sensor_path, volt); - } - -+#ifdef HAVE_LIBSENSORS -+ return libsensors_get_value(sensor_path, id, iodev, volt); -+#else - if ((f = fopen(sensor_path, "r")) == NULL) - return FALSE; - fgets(buf, sizeof(buf), f); -@@ -2247,8 +2421,10 @@ - if (volt) - *volt = V; - return TRUE; -+#endif - } - -+#ifndef HAVE_LIBSENSORS - static void - get_volt_default(gchar *chip_name, VoltDefault **vdf, gint *vdfsize) - { -@@ -2453,17 +2629,22 @@ - | "isa", and besides, probably sysfs will eventually be more common - | so I'll just make its names the standard now (gkrellm 2.1.20). - */ -+#endif -+ - gboolean - gkrellm_sys_sensors_init(void) - { - FILE *f; -- GDir *dir, *chip_dir; -- VoltDefault *voltdefault; -+ GDir *dir; - gint id = 0; -+ gchar *name, *path, *sensor_path, *sensor_name, id_name[128]; -+#ifndef HAVE_LIBSENSORS -+ GDir *chip_dir; -+ VoltDefault *voltdefault; - gint type, voltdefaultsize; - gfloat factor, offset; -- gchar *name, *chip_name, *fixed_chip_name, *path, *default_label; -- gchar *vref, *sensor_path, *sensor_name, id_name[128]; -+ gchar *vref, *chip_name, *fixed_chip_name, *default_label; -+#endif - struct lconv *lc; - - lc = localeconv(); -@@ -2607,7 +2788,9 @@ - g_dir_close(dir); - } - -- -+#ifdef HAVE_LIBSENSORS -+ libsensors_init(); -+#else - if ((dir = g_dir_open(SENSORS_DIR, 0, NULL)) == NULL) - { - sysfs_sensors_init(); -@@ -2690,5 +2873,6 @@ - g_free(fixed_chip_name); - } - g_dir_close(dir); -+#endif - return TRUE; - } diff --git a/gkrellm.spec b/gkrellm.spec index 0cf3b58..4588f14 100644 --- a/gkrellm.spec +++ b/gkrellm.spec @@ -1,6 +1,6 @@ Name: gkrellm -Version: 2.2.9 -Release: 10%{?dist} +Version: 2.2.10 +Release: 1%{?dist} Summary: Multiple stacked system monitors in one process Group: Applications/System License: GPL @@ -14,9 +14,7 @@ Patch1: gkrellm-2.1.28-config.patch Patch2: gkrellm-2.2.4-sansfont.patch Patch3: gkrellm-2.2.7-width.patch Patch4: gkrellm-2.2.9-libdir.patch -Patch5: gkrellm-2.2.9-hwmon.patch -Patch6: gkrellm-2.2.9-libsensors.patch -Patch7: gkrellm-2.2.9-gkrellmd.conf.patch +Patch5: gkrellm-2.2.9-gkrellmd.conf.patch BuildRequires: gtk2-devel openssl-devel libSM-devel desktop-file-utils gettext %ifarch %{ix86} x86_64 BuildRequires: lm_sensors-devel @@ -63,14 +61,12 @@ Development files for the GNU Krell Monitors. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 +%patch0 -p1 -z .libdir +%patch1 -p1 -z .config +%patch2 -p1 -z .sansfont +%patch3 -p1 -z .width +%patch4 -p1 -z .libdir2 +%patch5 -p1 -z .conf-patch for i in gkrellmd.1 gkrellm.1 README Changelog Changelog-plugins.html; do sed -i -e "s@/usr/lib/gkrellm2/plugins@%{_libdir}/gkrellm2/plugins@" $i @@ -184,6 +180,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Oct 31 2006 Hans de Goede 2.2.10-1 +- New upstream release 2.2.10 +- Drop integrated lmsensors and sysfs sensors patches + * Thu Oct 05 2006 Christian Iseli 2.2.9-10 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 diff --git a/sources b/sources index 3f03973..19fdcac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5334155797901724f4eb46a82ad72395 gkrellm-2.2.9.tar.bz2 +57ef0525c0997ac2e7720712811f5a84 gkrellm-2.2.10.tar.bz2