Bug#458989: kdebase: lm-sensors transition
Package: kdebase
Version: 4:3.5.8.dfsg.1-4
Severity: wishlist
Tags: patch
Hi,
A new upstream version of lm-sensors has been released upstream. The API
has changed, so the softwares using libsensors3 have to be modified so
that they can use libsensors4. It is planned to keep both versions for a
while, but the goal is to get rid of libsensors3 in Lenny.
You will find attached a patch for kdebase that changes both upstream
code and debian/ directory. Could you please apply this patch in your
next upload?
Thanks,
Aurelien
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.23-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages kdebase depends on:
ii hal 0.5.10-5 Hardware Abstraction Layer
ii kappfinder 4:3.5.8.dfsg.1-4 non-KDE application finder for KDE
ii kate 4:3.5.8.dfsg.1-4 advanced text editor for KDE
ii kcontrol 4:3.5.8.dfsg.1-4 control center for KDE
ii kdebase-bin 4:3.5.8.dfsg.1-4 core binaries for the KDE base mod
ii kdebase-data 4:3.5.8.dfsg.1-4 shared data files for the KDE base
ii kdebase-kio-plugins 4:3.5.8.dfsg.1-4 core I/O slaves for KDE
ii kdepasswd 4:3.5.8.dfsg.1-4 password changer for KDE
ii kdeprint 4:3.5.8.dfsg.1-4 print system for KDE
ii kdesktop 4:3.5.8.dfsg.1-4 miscellaneous binaries and files f
ii kfind 4:3.5.8.dfsg.1-4 file-find utility for KDE
ii khelpcenter 4:3.5.8.dfsg.1-4 help center for KDE
ii kicker 4:3.5.8.dfsg.1-4 desktop panel for KDE
ii klipper 4:3.5.8.dfsg.1-4 clipboard utility for KDE
ii kmenuedit 4:3.5.8.dfsg.1-4 menu editor for KDE
ii konqueror 4:3.5.8.dfsg.1-4 KDE's advanced file manager, web b
ii konqueror-nsplugins 4:3.5.8.dfsg.1-4 Netscape plugin support for Konque
ii konsole 4:3.5.8.dfsg.1-4 X terminal emulator for KDE
ii kpager 4:3.5.8.dfsg.1-4 desktop pager for KDE
ii kpersonalizer 4:3.5.8.dfsg.1-4 installation personalizer for KDE
ii ksmserver 4:3.5.8.dfsg.1-4 session manager for KDE
ii ksplash 4:3.5.8.dfsg.1-4 the KDE splash screen
ii ksysguard 4:3.5.8.dfsg.1-4 system guard for KDE
ii ktip 4:3.5.8.dfsg.1-4 useful tips for KDE
ii kwin 4:3.5.8.dfsg.1-4 the KDE window manager
ii libkonq4 4:3.5.8.dfsg.1-4 core libraries for Konqueror
ii pmount 0.9.17-1 mount removable devices as normal
Versions of packages kdebase recommends:
ii kdm 4:3.5.8.dfsg.1-4 X display manager for KDE
-- no debconf information
diff -u kdebase-3.5.8.dfsg.1/debian/control kdebase-3.5.8.dfsg.1/debian/control
--- kdebase-3.5.8.dfsg.1/debian/control
+++ kdebase-3.5.8.dfsg.1/debian/control
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Uploaders: Ana Beatriz Guerrero Lopez <ana@debian.org>, Armin Berres <trigger+debian@space-based.de>, Fathi Boudra <fboudra@free.fr>, Modestas Vainius <geromanas@mailas.com>, Sune Vuorela <debian@pusling.com>
-Build-Depends: cdbs (>= 0.4.39-0.1), debhelper (>= 5.0.31), autotools-dev, gawk, gettext, kdelibs4-dev (>= 4:3.5.8), libdbus-qt-1-dev (>= 0.60), libldap2-dev, libhal-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhal-storage-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libncurses5-dev, libpam0g-dev, libpopt-dev, libraw1394-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsensors-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsmbclient-dev, libusb-dev, libxtst-dev, libfontenc-dev, libxss-dev, libxxf86misc-dev, libxcomposite-dev, libxdamage-dev, libxkbfile-dev, xutils, sharutils, texinfo, libavahi-compat-libdnssd-dev (>= 0.4)
+Build-Depends: cdbs (>= 0.4.39-0.1), debhelper (>= 5.0.31), autotools-dev, gawk, gettext, kdelibs4-dev (>= 4:3.5.8), libdbus-qt-1-dev (>= 0.60), libldap2-dev, libhal-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhal-storage-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libncurses5-dev, libpam0g-dev, libpopt-dev, libraw1394-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsensors4-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsmbclient-dev, libusb-dev, libxtst-dev, libfontenc-dev, libxss-dev, libxxf86misc-dev, libxcomposite-dev, libxdamage-dev, libxkbfile-dev, xutils, sharutils, texinfo, libavahi-compat-libdnssd-dev (>= 0.4)
Build-Depends-Indep: doxygen, qt3-doc, graphviz, gsfonts-x11, kdelibs4-doc
Build-Conflicts: nvidia-glx (<< 1.0.8774-6)
Standards-Version: 3.7.2
diff -u kdebase-3.5.8.dfsg.1/debian/control.in kdebase-3.5.8.dfsg.1/debian/control.in
--- kdebase-3.5.8.dfsg.1/debian/control.in
+++ kdebase-3.5.8.dfsg.1/debian/control.in
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: @@@MAINTAINER@@@
Uploaders: @@@UPLOADERS@@@
-Build-Depends: cdbs (>= 0.4.39-0.1), debhelper (>= 5.0.31), autotools-dev, gawk, gettext, kdelibs4-dev (>= 4:3.5.8), libdbus-qt-1-dev (>= 0.60), libldap2-dev, libhal-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhal-storage-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libncurses5-dev, libpam0g-dev, libpopt-dev, libraw1394-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsensors-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsmbclient-dev, libusb-dev, libxtst-dev, libfontenc-dev, libxss-dev, libxxf86misc-dev, libxcomposite-dev, libxdamage-dev, libxkbfile-dev, xutils, sharutils, texinfo, libavahi-compat-libdnssd-dev (>= 0.4)
+Build-Depends: cdbs (>= 0.4.39-0.1), debhelper (>= 5.0.31), autotools-dev, gawk, gettext, kdelibs4-dev (>= 4:3.5.8), libdbus-qt-1-dev (>= 0.60), libldap2-dev, libhal-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhal-storage-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libncurses5-dev, libpam0g-dev, libpopt-dev, libraw1394-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsensors4-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsmbclient-dev, libusb-dev, libxtst-dev, libfontenc-dev, libxss-dev, libxxf86misc-dev, libxcomposite-dev, libxdamage-dev, libxkbfile-dev, xutils, sharutils, texinfo, libavahi-compat-libdnssd-dev (>= 0.4)
Build-Depends-Indep: doxygen, qt3-doc, graphviz, gsfonts-x11, kdelibs4-doc
Build-Conflicts: nvidia-glx (<< 1.0.8774-6)
Standards-Version: 3.7.2
only in patch2:
unchanged:
--- kdebase-3.5.8.dfsg.1.orig/debian/patches/80_lm-sensors-3.diff
+++ kdebase-3.5.8.dfsg.1/debian/patches/80_lm-sensors-3.diff
@@ -0,0 +1,126 @@
+diff -up kdebase-3.5.8/ksysguard/ksysguardd/Linux/lmsensors.c.lmsens3x kdebase-3.5.8/ksysguard/ksysguardd/Linux/lmsensors.c
+--- kdebase-3.5.8/ksysguard/ksysguardd/Linux/lmsensors.c.lmsens3x 2005-10-10 17:04:31.000000000 +0200
++++ kdebase-3.5.8/ksysguard/ksysguardd/Linux/lmsensors.c 2008-01-01 22:05:09.000000000 +0100
+@@ -36,7 +36,12 @@ typedef struct
+ {
+ char* fullName;
+ const sensors_chip_name* scn;
++#if SENSORS_API_VERSION & 0x400
++ const sensors_feature *sf;
++ const sensors_subfeature *sfd;
++#else
+ const sensors_feature_data* sfd;
++#endif
+ } LMSENSOR;
+
+ static CONTAINER LmSensors;
+@@ -65,6 +70,82 @@ static LMSENSOR* findMatchingSensor( con
+ return s;
+ }
+
++#if SENSORS_API_VERSION & 0x400
++void initLmSensors( struct SensorModul* sm )
++{
++ const sensors_chip_name* scn;
++ int nr = 0;
++
++ if ( sensors_init( NULL ) ) {
++ LmSensorsOk = -1;
++ return;
++ }
++
++ LmSensors = new_ctnr();
++ while ( ( scn = sensors_get_detected_chips( NULL, &nr ) ) != NULL ) {
++ int nr1 = 0;
++ const sensors_feature* sf;
++
++ while ( ( sf = sensors_get_features( scn, &nr1 ) ) != 0 ) {
++ const sensors_subfeature *ssubf;
++ LMSENSOR *p;
++ char *s, *label;
++
++ switch( sf->type )
++ {
++ case SENSORS_FEATURE_IN:
++ ssubf = sensors_get_subfeature( scn, sf,
++ SENSORS_SUBFEATURE_IN_INPUT );
++ break;
++
++ case SENSORS_FEATURE_FAN:
++ ssubf = sensors_get_subfeature( scn, sf,
++ SENSORS_SUBFEATURE_FAN_INPUT );
++ break;
++
++ case SENSORS_FEATURE_TEMP:
++ ssubf = sensors_get_subfeature( scn, sf,
++ SENSORS_SUBFEATURE_TEMP_INPUT );
++ break;
++ }
++
++ if ( !ssubf )
++ continue;
++
++ label = sensors_get_label( scn, sf );
++ 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 proper characters. */
++ for ( s = p->fullName; *s; s++ )
++ if ( *s == ' ' )
++ *s = '_';
++
++ p->scn = scn;
++ p->sf = sf;
++ p->sfd = ssubf;
++
++ /* Note a name collision should never happen with the lm_sensors-3x code,
++ but it does in the case of k8temp, when there are 2 identical labeled
++ sensors per CPU. This are really 2 distinct sensors measuring the
++ same thing, but fullName must be unique so we just drop the second
++ sensor */
++ if ( search_ctnr( LmSensors, sensorCmp, p ) < 0 ) {
++ push_ctnr( LmSensors, p );
++ registerMonitor( p->fullName, "float", printLmSensor, printLmSensorInfo, sm );
++ } else {
++ free( p->fullName );
++ free( p );
++ }
++ free( label );
++ }
++ }
++ bsort_ctnr( LmSensors, sensorCmp );
++}
++#else /* SENSORS_API_VERSION & 0x400 */
+ void initLmSensors( struct SensorModul* sm )
+ {
+ const sensors_chip_name* scn;
+@@ -117,11 +198,13 @@ void initLmSensors( struct SensorModul*
+ free( p->fullName );
+ free( p );
+ }
++ free( label );
+ }
+ }
+ }
+ bsort_ctnr( LmSensors, sensorCmp );
+ }
++#endif /* SENSORS_API_VERSION & 0x400 */
+
+ void exitLmSensors( void )
+ {
+@@ -137,8 +220,11 @@ void printLmSensor( const char* cmd )
+ fprintf( CurrentClient, "0\n" );
+ return;
+ }
+-
++#if SENSORS_API_VERSION & 0x400
++ sensors_get_value( s->scn, s->sfd->number, &value );
++#else
+ sensors_get_feature( *(s->scn), s->sfd->number, &value );
++#endif
+ fprintf( CurrentClient, "%f\n", value );
+ }
+
Reply to: