[arch-commits] CVS update of extra/kde/kdebase (PKGBUILD lmsensors.patch)
Tobias Powalowski
tpowa at archlinux.org
Wed Dec 5 16:05:48 UTC 2007
Date: Wednesday, December 5, 2007 @ 11:05:48
Author: tpowa
Path: /home/cvs-extra/extra/kde/kdebase
Added: lmsensors.patch (1.1)
Modified: PKGBUILD (1.88 -> 1.89)
'upgpkg: fixed http://bugs.archlinux.org/task/8776'
-----------------+
PKGBUILD | 13 +++--
lmsensors.patch | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 129 insertions(+), 5 deletions(-)
Index: extra/kde/kdebase/PKGBUILD
diff -u extra/kde/kdebase/PKGBUILD:1.88 extra/kde/kdebase/PKGBUILD:1.89
--- extra/kde/kdebase/PKGBUILD:1.88 Mon Oct 15 08:17:06 2007
+++ extra/kde/kdebase/PKGBUILD Wed Dec 5 11:05:48 2007
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD,v 1.88 2007/10/15 12:17:06 tpowa Exp $
+# $Id: PKGBUILD,v 1.89 2007/12/05 16:05:48 tpowa Exp $
# Contributor: Roman Kreisel <roman.kreisel at epost.de>
# Maintainer: Tobias Powalowski <tpowa at archlinux.org>
pkgname=kdebase
pkgver=3.5.8
kdever=3.5.8 # if minor 0, then without .0
-pkgrel=1
+pkgrel=2
pkgdesc="KDE Base Programs."
arch=(i686 x86_64)
url="http://www.kde.org"
license=('GPL')
groups=('kde')
makedepends=('samba' 'jre' 'imake' 'xorg-font-utils' 'pkgconfig')
-depends=('kdelibs>=3.5.8' 'libldap' 'eject>=2.1.5' 'lm_sensors' 'mtools' 'libusb' 'libraw1394' 'cyrus-sasl' \
+depends=('kdelibs>=3.5.8' 'libldap' 'eject>=2.1.5' 'lm_sensors>=3.0.0' 'mtools' 'libusb' 'libraw1394' 'cyrus-sasl' \
'libxcomposite' 'libxdamage' 'hal>=0.5.8.1-2' 'pmount>=0.9.13-2' 'libxxf86misc' 'libxkbfile' 'libxss' \
'libfontenc' 'dbus-qt3' 'xorg-xauth' 'db>=4.6')
backup=('opt/kde/share/config/kdm/Xservers' 'opt/kde/share/config/kdm/kdmrc' \
@@ -25,7 +25,7 @@
# parallel builds break kcontrol and whatnot
options=(!makeflags)
source=(ftp://$mirror/stable/$kdever/src/$pkgname-$pkgver.tar.bz2
- tango.diff kdm-grub.patch)
+ tango.diff kdm-grub.patch lmsensors.patch)
@@ -39,6 +39,8 @@
cd $startdir/src/$pkgname-$pkgver
patch -Np1 -i ../kdm-grub.patch || return 1
patch -Np0 -i ../tango.diff || return 1
+ # fix sensors
+ patch -Np0 -i ../lmsensors.patch || return 1
sed -i -e 's/applications-merged/kde-applications-merged/g' applnk/Makefile.{am,in}
#make -f admin/Makefile.common || return 1
./configure --prefix=/opt/kde --with-dpms --build="${CHOST}" --host="${CHOST}" \
@@ -77,4 +79,5 @@
}
md5sums=('9990c669229daaaa8fca4c5e354441fd'
'43232dcb916b1d25e0ad7ef3575763a4'
- 'f8645dc5d0044476a01c9c6a95c4853f')
+ 'f8645dc5d0044476a01c9c6a95c4853f'
+ '7fec06bac92febdf0a26dfd72faabf50')
Index: extra/kde/kdebase/lmsensors.patch
diff -u /dev/null extra/kde/kdebase/lmsensors.patch:1.1
--- /dev/null Wed Dec 5 11:05:48 2007
+++ extra/kde/kdebase/lmsensors.patch Wed Dec 5 11:05:48 2007
@@ -0,0 +1,121 @@
+--- ksysguard/ksysguardd/Linux/lmsensors.c~ 2005-10-10 17:04:31.000000000 +0200
++++ ksysguard/ksysguardd/Linux/lmsensors.c 2007-12-05 12:51:39.000000000 +0100
+@@ -29,9 +28,9 @@
+
+ #include "lmsensors.h"
+
+-#ifdef HAVE_SENSORS_SENSORS_H
++#ifdef HAVE_LMSENSORS
+ #include <sensors/sensors.h>
+-
++#define BUFFER_SIZE_LMSEN 300
+ typedef struct
+ {
+ char* fullName;
+@@ -49,11 +48,15 @@
+
+ static LMSENSOR* findMatchingSensor( const char* name )
+ {
+- long idx;
++ INDEX idx;
+ LMSENSOR key;
+ LMSENSOR* s;
+
++ if(name == NULL || name[0] == '\0') return 0;
+ key.fullName = strdup( name );
++ int end = strlen(key.fullName)-1;
++ if(key.fullName[end] == '?')
++ key.fullName[end] = '\0';
+ if ( ( idx = search_ctnr( LmSensors, sensorCmp, &key ) ) < 0 ) {
+ free( key.fullName );
+ return 0;
+@@ -65,9 +68,21 @@
+ return s;
+ }
+
++static const char *chipName(const sensors_chip_name *chip) {
++ static char buffer[256];
++ if (chip->bus == SENSORS_CHIP_NAME_BUS_ISA)
++ sprintf (buffer, "%s-isa-%04x", chip->prefix, chip->addr);
++ else if (chip->bus == SENSORS_CHIP_NAME_BUS_PCI)
++ sprintf (buffer, "%s-pci-%04x", chip->prefix, chip->addr);
++ else
++ sprintf (buffer, "%s-i2c-%d-%02x", chip->prefix, chip->bus, chip->addr);
++ return buffer;
++}
++
+ void initLmSensors( struct SensorModul* sm )
+ {
+ const sensors_chip_name* scn;
++ char buffer[BUFFER_SIZE_LMSEN];
+ int nr = 0;
+
+ FILE* input;
+@@ -90,23 +105,23 @@
+ const sensors_feature_data* sfd;
+ nr1 = nr2 = 0;
+ while ( ( sfd = sensors_get_all_features( *scn, &nr1, &nr2 ) ) != 0 ) {
+- if ( sfd->mapping == SENSORS_NO_MAPPING ) {
++ if ( sfd->mapping == SENSORS_NO_MAPPING && sfd->mode & SENSORS_MODE_R /* readable feature */) {
+ LMSENSOR* p;
+ char* label;
+- char* s;
+
+- sensors_get_label( *scn, sfd->number, &label );
++ if(sensors_get_label( *scn, sfd->number, &label ) != 0)
++ continue; /*error*/
++ if(sensors_get_ignored( *scn, sfd->number) != 1 )
++ continue; /* 1 for not ignored, 0 for ignore, <0 for error */
++ double result;
++ if(sensors_get_feature( *scn, sfd->number, &result) != 0 )
++ continue; /* Make sure this feature actually works. 0 for success, <0 for fail */
++
+ p = (LMSENSOR*)malloc( sizeof( LMSENSOR ) );
+
+- p->fullName = (char*)malloc( strlen( "lmsensors/" ) +
+- strlen( scn->prefix ) + 1 +
+- strlen( label ) + 1 );
+- sprintf( p->fullName, "lmsensors/%s/%s", scn->prefix, label );
+-
+- /* Make sure that name contains only propper characters. */
+- for ( s = p->fullName; *s; s++ )
+- if ( *s == ' ' )
+- *s = '_';
++ snprintf( buffer, BUFFER_SIZE_LMSEN, "lmsensors/%s/%s", chipName(scn), sfd->name );
++
++ p->fullName = strndup(buffer, BUFFER_SIZE_LMSEN);
+
+ p->scn = scn;
+ p->sfd = sfd;
+@@ -123,6 +138,7 @@
+ bsort_ctnr( LmSensors, sensorCmp );
+ }
+
++
+ void exitLmSensors( void )
+ {
+ destr_ctnr( LmSensors, free );
+@@ -152,10 +168,21 @@
+ }
+
+ /* TODO: print real name here */
+- fprintf( CurrentClient, "Sensor Info\t0\t0\t\n" );
++ char *label;
++ if(sensors_get_label( *s->scn, s->sfd->number, &label ) != 0) { /*error*/
++ fprintf( CurrentClient, "0\n" );
++ return;
++ }
++ if( strncmp(s->sfd->name, "temp", sizeof("temp")-1) == 0)
++ fprintf( CurrentClient, "%s\t0\t0\t°C\n", label );
++ else if( strncmp(s->sfd->name, "fan", sizeof("fan")-1) == 0)
++ fprintf( CurrentClient, "%s\t0\t0\trpm\n", label );
++ else
++ fprintf( CurrentClient, "%s\t0\t0\tV\n", label ); /* For everything else, say it's in volts. */
++
+ }
+
+-#else /* HAVE_SENSORS_SENSORS_H */
++#else /* HAVE_LMSENSORS */
+
+ /* dummy version for systems that have no lmsensors support */
+
More information about the arch-commits
mailing list