[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Preliminary success reported in fixing this bug



On Thu, May 10, 2007 at 02:44:10PM +0200, Attilio Fiandrotti wrote:
> Hi
> 
> Yesterday Luca Suriano managed to rebuild directfb-0.9.25 applying 
> Ville's patch for linux_input module on his power mac and reported a 
> preliminary success by copying "on the fly" the new input driver in the 
> g-i environment.
> 
> Luca is now trying to building a custom gtk-miniiso including the 
> patched directfb udeb to allow wider testing of Ville's patch.
> If the patch should prove to be definitively ok, then we'll be able to 
> drop a lot of startup scripts in rootskel :)

in case anyone were interested, I've attached  Ville's patch compatible
with directfb-0.9.25 source package currently in Debian.


> 
> The gtk-miniiso seems to be anyway broken [1] because of the libc 
> dependancy, so i guess he has to defer building until that's fixed, is 
> this correct?

here's the workaround I've used to build the iso:

Index: config/common
===================================================================
--- config/common       (revision 46741)
+++ config/common       (working copy)
@@ -27,7 +27,7 @@
 PRESEED_SUITE ?= unstable.cfg

 # The library reducer to use. Can be mklibs.sh or mklibs.py.
-MKLIBS = mklibs
+MKLIBS = mklibs-copy

 # Normally the sources.list for building d-i will be derived from your
 # "normal" sources.list. However, you can specify a mirror here to override


regards,
Davide
#DPATCHLEVEL=0
--- inputdrivers/linux_input/linux_input.c	2007-05-09 01:11:18.000000000 +0200
+++ inputdrivers/linux_input/linux_input.c	2007-05-09 01:15:41.000000000 +0200
@@ -789,13 +789,13 @@
                DFB_INPUT_DEVICE_DESC_VENDOR_LENGTH, "Linux" );
 
      /* get event type bits */
-     ioctl( fd, EVIOCGBIT(0, EV_MAX), evbit );
+     ioctl( fd, EVIOCGBIT(0, sizeof(evbit)), evbit );
 
      if (test_bit( EV_KEY, evbit )) {
           int i;
 
           /* get keyboard bits */
-          ioctl( fd, EVIOCGBIT(EV_KEY, KEY_MAX), keybit );
+	  ioctl( fd, EVIOCGBIT(EV_KEY, sizeof(keybit)), keybit );
 
 	  /**  count typical keyboard keys only */
           for (i=KEY_Q; i<KEY_M; i++)
@@ -815,7 +815,7 @@
           int i;
 
           /* get bits for relative axes */
-          ioctl( fd, EVIOCGBIT(EV_REL, REL_MAX), relbit );
+	  ioctl( fd, EVIOCGBIT(EV_REL, sizeof(relbit)), relbit );
 
           for (i=0; i<REL_MAX; i++)
                if (test_bit( i, relbit ))
@@ -826,7 +826,7 @@
           int i;
 
           /* get bits for absolute axes */
-          ioctl( fd, EVIOCGBIT(EV_ABS, ABS_MAX), absbit );
+	  ioctl( fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit );
 
           for (i=0; i<ABS_PRESSURE; i++)
                if (test_bit( i, absbit ))
@@ -997,7 +997,7 @@
      data->vt     = dfb_fbdev->vt;
 
      /* check if the device has LEDs */
-     ret = ioctl( fd, EVIOCGBIT(EV_LED, LED_MAX), ledbit );
+     ret = ioctl( fd, EVIOCGBIT(EV_LED, sizeof(ledbit)), ledbit );
      if (ret < 0)
           D_PERROR( "DirectFB/linux_input: could not get LED bits" );
      else
@@ -1007,7 +1007,7 @@
 
      if (data->has_leds) {
           /* get LED state */
-          ret = ioctl( fd, EVIOCGLED(LED_MAX), data->led_state );
+          ret = ioctl( fd, EVIOCGLED(sizeof(data->led_state)), data->led_state );
           if (ret < 0) {
                D_PERROR( "DirectFB/linux_input: could not get LED state" );
                ioctl( fd, EVIOCGRAB, 0 );

Attachment: signature.asc
Description: Digital signature


Reply to: