rpms/ksensors/devel ksensors-0.7.3-fix-min-max.patch, NONE, 1.1 ksensors-0.7.3-lm_sensors-3.x.patch, NONE, 1.1 ksensors.spec, 1.19, 1.20
Hans de Goede (jwrdegoede)
fedora-extras-commits at redhat.com
Mon Nov 12 20:53:07 UTC 2007
Author: jwrdegoede
Update of /cvs/extras/rpms/ksensors/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17719
Modified Files:
ksensors.spec
Added Files:
ksensors-0.7.3-fix-min-max.patch
ksensors-0.7.3-lm_sensors-3.x.patch
Log Message:
* Sun Nov 11 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 0.7.3-14
- Patch for and Rebuild against lm_sensors-3.0.0
ksensors-0.7.3-fix-min-max.patch:
--- NEW FILE ksensors-0.7.3-fix-min-max.patch ---
diff -up ksensors-0.7.3/src/lmsensor.cpp.minmax ksensors-0.7.3/src/lmsensor.cpp
--- ksensors-0.7.3/src/lmsensor.cpp.minmax 2007-11-11 15:12:24.000000000 +0100
+++ ksensors-0.7.3/src/lmsensor.cpp 2007-11-11 15:26:30.000000000 +0100
@@ -40,17 +40,30 @@ bool LMSensor::init(const sensors_featur
char *label;
QString str;
- bool min_max=false;
+ bool min_found=false;
+ bool max_found=false;
while( (*data= sensors_get_all_features(*chip_name, nr1, nr2)) && (*data)->mapping!=SENSORS_NO_MAPPING) {
- str= (*data)->name;
- if(str.find("_min")>=0 || str.find("_low")>=0) {
- sensors_get_feature(*chip_name, (*data)->number, &valMin);
- min_max=true;
- }
- else if(str.find("_max")>=0 || str.find("_over")>=0 || str.find("_high")>=0) {
- sensors_get_feature(*chip_name, (*data)->number, &valMax);
- min_max=true;
+ int len = strlen((*data)->name);
+ const char *postfix = (*data)->name + len - 4;
+
+ if (len < 5)
+ continue;
+
+ if((!strcmp(postfix, "_min") || !strcmp(postfix, "_low")) &&
+ !sensors_get_feature(*chip_name, (*data)->number, &valMin))
+ min_found=true;
+
+ if(!strcmp(postfix, "_max") &&
+ !sensors_get_feature(*chip_name, (*data)->number, &valMax)) {
+ max_found=true;
+ continue;
}
+
+ postfix--;
+
+ if((!strcmp(postfix, "_over") || !strcmp(postfix, "_high")) &&
+ !sensors_get_feature(*chip_name, (*data)->number, &valMax))
+ max_found=true;
}
double newVal;
@@ -87,22 +100,21 @@ bool LMSensor::init(const sensors_featur
sensors_get_label(*chip_name,feature,&label);
setDescription(QString(label));
- if(min_max){
- if(min>max) {
- double pivot= valMin;
- min= max;
- max= pivot;
- }
- setValueMax(max,dgCelsius);
- setValueMin(min,dgCelsius);
- setValue((max+min)/2,dgCelsius);
- }
- else {
- setValueMax(70,dgCelsius);
- setValueMin(0,dgCelsius);
- setValue(newVal,dgCelsius);
+ if(min_found)
+ min = valMin;
+
+ if(max_found)
+ max = valMax;
+
+ if(min>max) {
+ double pivot= min;
+ min= max;
+ max= pivot;
}
+ setValueMax(max,dgCelsius);
+ setValueMin(min,dgCelsius);
+
readConfig();
updateValue();
setValueIdeal(getValue());
ksensors-0.7.3-lm_sensors-3.x.patch:
--- NEW FILE ksensors-0.7.3-lm_sensors-3.x.patch ---
diff -up ksensors-0.7.3/src/lmsensor.cpp.lm_sensors3x ksensors-0.7.3/src/lmsensor.cpp
--- ksensors-0.7.3/src/lmsensor.cpp.lm_sensors3x 2007-11-11 16:34:15.000000000 +0100
+++ ksensors-0.7.3/src/lmsensor.cpp 2007-11-11 16:37:58.000000000 +0100
@@ -30,8 +30,11 @@ LMSensor::LMSensor(SensorsList *parent):
LMSensor::~LMSensor(){
}
-
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
bool LMSensor::init(const sensors_feature_data **data, int *nr1,int *nr2)
+#else
+bool LMSensor::init(const sensors_feature **data, int *nr1, int *nr2)
+#endif
{
double min,max;
const sensors_chip_name *chip_name= getChipName();
@@ -40,6 +43,7 @@ bool LMSensor::init(const sensors_featur
char *label;
QString str;
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
bool min_found=false;
bool max_found=false;
while( (*data= sensors_get_all_features(*chip_name, nr1, nr2)) && (*data)->mapping!=SENSORS_NO_MAPPING) {
@@ -105,7 +109,97 @@ bool LMSensor::init(const sensors_featur
if(max_found)
max = valMax;
-
+
+#else /* libsensors4 code */
+
+ const sensors_subfeature *sub_feature;
+ const sensors_feature *feature_data = *data;
+
+ /* Move to next feature for the loop in LMSensorsChip::createSensors() */
+ *data = sensors_get_features(chip_name, nr1);
+
+ switch(feature_data->type)
+ {
+ case SENSORS_FEATURE_IN:
+ sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_IN_INPUT);
+
+ if (!sub_feature)
+ return false;
+
+ feature = sub_feature->number;
+
+ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_IN_MIN)) ||
+ sensors_get_value(chip_name, sub_feature->number, &min))
+ min = -16;
+
+ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_IN_MAX)) ||
+ sensors_get_value(chip_name, sub_feature->number, &max))
+ max = 16;
+
+ setType(lmVoltage);
+ break;
+
+ case SENSORS_FEATURE_FAN:
+ sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_FAN_INPUT);
+
+ if (!sub_feature)
+ return false;
+
+ feature = sub_feature->number;
+
+ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_FAN_MIN)) ||
+ sensors_get_value(chip_name, sub_feature->number, &min))
+ min = 3000;
+
+ max = 10000;
+
+ setType(lmFan);
+ break;
+
+ case SENSORS_FEATURE_TEMP:
+ sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_TEMP_INPUT);
+
+ if (!sub_feature)
+ return false;
+
+ feature = sub_feature->number;
+
+ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_TEMP_MIN)) ||
+ sensors_get_value(chip_name, sub_feature->number, &min))
+ min = 0;
+
+ if ((!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_TEMP_MAX)) &&
+ !(sub_feature = sensors_get_subfeature(chip_name, feature_data,
+ SENSORS_SUBFEATURE_TEMP_CRIT))) ||
+ sensors_get_value(chip_name, sub_feature->number, &max))
+ max = 65;
+
+ setType(lmTemp);
+ break;
+
+ default:
+ return false;
+ }
+
+ str.sprintf("%s.%s", chip_name->prefix, main_name);
+ setName( str.latin1() );
+
+ label = sensors_get_label(chip_name, feature_data);
+ if (label)
+ setDescription(QString(label));
+ else
+ setDescription( str.latin1() );
+
+#endif /* libsensors3 / libsensors4 code */
+
if(min>max) {
double pivot= min;
min= max;
@@ -131,7 +225,11 @@ double LMSensor::readSensorValue()
{
double newVal;
const sensors_chip_name *chip_name= getChipName();
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
sensors_get_feature(*chip_name, feature, &newVal);
+#else
+ sensors_get_value(chip_name, feature, &newVal);
+#endif
return newVal;
}
diff -up ksensors-0.7.3/src/lmsensorschip.cpp.lm_sensors3x ksensors-0.7.3/src/lmsensorschip.cpp
--- ksensors-0.7.3/src/lmsensorschip.cpp.lm_sensors3x 2003-12-27 22:52:12.000000000 +0100
+++ ksensors-0.7.3/src/lmsensorschip.cpp 2007-11-11 16:34:15.000000000 +0100
@@ -50,10 +50,15 @@ const sensors_chip_name *LMSensorsChip::
void LMSensorsChip::createSensors()
{
if(!chip_name) return;
- const sensors_feature_data *data;
int nr1= 0;
int nr2= 0;
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ const sensors_feature_data *data;
data= sensors_get_all_features(*chip_name, &nr1, &nr2);
+#else
+ const sensors_feature *data;
+ data= sensors_get_features(chip_name, &nr1);
+#endif
while(data) {
LMSensor *sensor= new LMSensor(this);
if( !sensor->init(&data,&nr1,&nr2) )
diff -up ksensors-0.7.3/src/lmsensor.h.lm_sensors3x ksensors-0.7.3/src/lmsensor.h
--- ksensors-0.7.3/src/lmsensor.h.lm_sensors3x 2003-12-27 22:52:12.000000000 +0100
+++ ksensors-0.7.3/src/lmsensor.h 2007-11-11 16:34:15.000000000 +0100
@@ -51,7 +51,11 @@ protected:
double calculateIdealValue();
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
bool init(const sensors_feature_data **data, int *nr1,int *nr2);
+#else
+ bool init(const sensors_feature **data, int *nr1,int *nr2);
+#endif
const sensors_chip_name *getChipName();
private:
diff -up ksensors-0.7.3/src/lmsensors.cpp.lm_sensors3x ksensors-0.7.3/src/lmsensors.cpp
--- ksensors-0.7.3/src/lmsensors.cpp.lm_sensors3x 2007-11-11 16:34:15.000000000 +0100
+++ ksensors-0.7.3/src/lmsensors.cpp 2007-11-11 16:34:15.000000000 +0100
@@ -45,17 +45,23 @@ LMSensors::~LMSensors()
bool LMSensors::initSensors()
{
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
FILE *fp=fopen("/etc/sensors.conf","r");
if(!fp) {
qWarning("KSensors error: /etc/sensors.conf not found !");
return false;
}
+#else
+ FILE *fp=NULL;
+#endif
int err= sensors_init(fp);
if(err) {
qWarning("KSensors error: sensors_init fail, error code %d",err);
return false;
}
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
fclose(fp);
+#endif
return true;
}
@@ -63,6 +69,7 @@ void LMSensors::createLMSensors()
{
const sensors_chip_name *chip_name;
int err= 0;
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
while( (chip_name= sensors_get_detected_chips(&err)) )
{
if( existSensor(chip_name,"temp") ||
@@ -71,6 +78,10 @@ void LMSensors::createLMSensors()
(void)new LMSensorsChip(chip_name,this);
}
}
+#else
+ while( (chip_name= sensors_get_detected_chips(NULL, &err)) )
+ (void)new LMSensorsChip(chip_name,this);
+#endif
}
void LMSensors::createHDSensors()
@@ -86,6 +97,7 @@ void LMSensors::createI8KSensors()
}
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
int LMSensors::existSensor(const sensors_chip_name *chip_name,const char *sensor_name)
{
int nr1,nr2;
@@ -99,6 +111,7 @@ const sensors_feature_data *sensor_data;
}
return 0;
}
+#endif
void LMSensors::setMonitorized(bool enable)
{
diff -up ksensors-0.7.3/src/lmsensors.h.lm_sensors3x ksensors-0.7.3/src/lmsensors.h
--- ksensors-0.7.3/src/lmsensors.h.lm_sensors3x 2003-12-27 22:52:12.000000000 +0100
+++ ksensors-0.7.3/src/lmsensors.h 2007-11-11 16:34:15.000000000 +0100
@@ -65,7 +65,9 @@ private:
void createI8KSensors();
void childEvent ( QChildEvent *e );
+#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
static int existSensor(const sensors_chip_name *chip_name,const char *sensor_name);
+#endif
};
#endif
Index: ksensors.spec
===================================================================
RCS file: /cvs/extras/rpms/ksensors/devel/ksensors.spec,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- ksensors.spec 13 Aug 2007 15:17:33 -0000 1.19
+++ ksensors.spec 12 Nov 2007 20:52:34 -0000 1.20
@@ -1,6 +1,6 @@
Name: ksensors
Version: 0.7.3
-Release: 12%{?dist}
+Release: 14%{?dist}
Summary: KDE frontend to lm_sensors
Group: Applications/System
License: GPLv2+
@@ -9,6 +9,8 @@
Patch1: %{name}-desktop.patch
Patch2: http://ftp.debian.org/debian/pool/main/k/ksensors/ksensors_0.7.3-14.diff.gz
Patch3: %{name}-0.7.3-po.patch
+Patch4: %{name}-0.7.3-fix-min-max.patch
+Patch5: %{name}-0.7.3-lm_sensors-3.x.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: kdelibs-devel lm_sensors-devel gettext desktop-file-utils
Requires: hicolor-icon-theme
@@ -26,6 +28,8 @@
%patch1 -p1 -z .desktop
%patch2 -p1
%patch3 -p1 -z .po
+%patch4 -p1 -z .minmax
+%patch5 -p1 -z .lm_sensors3x
sed -i -e 's|$(kde_datadir)/sounds|$(kde_sounddir)|' src/sounds/Makefile.*
for f in ChangeLog LIESMICH LISEZMOI ; do
iconv -f iso-8859-1 -t utf-8 $f > $f.utf8 ; mv $f.utf8 $f
@@ -84,6 +88,12 @@
%changelog
+* Sun Nov 11 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 0.7.3-14
+- Patch for and Rebuild against lm_sensors-3.0.0
+
+* Sun Nov 11 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 0.7.3-13
+- Fix reading of min and max tresholds from libsensors
+
* Mon Aug 13 2007 Hans de Goede <j.w.r.degoede at hhs.nl> 0.7.3-12
- Update License tag for new Licensing Guidelines compliance
More information about the fedora-extras-commits
mailing list