Re: xf86-input-evdev: Changes to 'master'
On Mon, Feb 02, 2009 at 10:39:27PM -0800, Dan Nicholson wrote: On Mon, Feb 2, 2009 at 7:23 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 01:13:35AM -0200, Paulo César Pereira de Andrade wrote: But I think a better approach should be found for pkg-config variables, as creating a configure option is basically only to correct make distcheck. can you please explain what's wrong with make distcheck that it requires fixing? make distcheck can be seen as a test of a build and install in a controlled environment. It checks if the tarball contains all the files required to build the package, among other tests. The problem in the xf86-input-evdev was it attempting to install files outside of DESTDIR. Actually, if you run make distcheck as root user, it will work. As will it work if you specify a wrong destdir but with correct permissions (usually a path not starting with / and installing in the build directory), and not cause any warnings. It will also work if you set up the PKG_CONFIG_PATH correctly. The properties header file is installed where the xserver installs the same header file (xserver-properties.h). Yes, this may be outside of the prefix, but it's where the other xorg header files go too. AFAIC this is the right place to put them. It is the right place to put them. However, part of the distcheck process is checking that make install only installs files under $prefix. I say that's a stupid check, but I also think that having distcheck pass is a good thing because it uncovers a lot of packaging bugs. AFAIK, there isn't a way to override that part of distcheck. I'm happy to add* a configure-time option for those that want the header somewhere else. But auto-guessing just to fix make distcheck on your machine is not the right thing to do. And I would have appreciated if you would have sent the patch to the list for review first before breaking evdev. Attached is a patch that should add the appropriate workaround. No help text is added for the --with-sdkdir option so that people don't get the idea that they want to use this option. applied the patch locally, ran make distcheck and it still fails. Am I doing anything wrong? AFAICT from a quick peek, ${includedir} isn't expanded. Can you double-check this please? Cheers, Peter ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Tue, Feb 3, 2009 at 2:13 AM, Peter Hutterer peter.hutte...@who-t.net wrote: On Mon, Feb 02, 2009 at 10:39:27PM -0800, Dan Nicholson wrote: On Mon, Feb 2, 2009 at 7:23 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 01:13:35AM -0200, Paulo César Pereira de Andrade wrote: But I think a better approach should be found for pkg-config variables, as creating a configure option is basically only to correct make distcheck. can you please explain what's wrong with make distcheck that it requires fixing? make distcheck can be seen as a test of a build and install in a controlled environment. It checks if the tarball contains all the files required to build the package, among other tests. The problem in the xf86-input-evdev was it attempting to install files outside of DESTDIR. Actually, if you run make distcheck as root user, it will work. As will it work if you specify a wrong destdir but with correct permissions (usually a path not starting with / and installing in the build directory), and not cause any warnings. It will also work if you set up the PKG_CONFIG_PATH correctly. The properties header file is installed where the xserver installs the same header file (xserver-properties.h). Yes, this may be outside of the prefix, but it's where the other xorg header files go too. AFAIC this is the right place to put them. It is the right place to put them. However, part of the distcheck process is checking that make install only installs files under $prefix. I say that's a stupid check, but I also think that having distcheck pass is a good thing because it uncovers a lot of packaging bugs. AFAIK, there isn't a way to override that part of distcheck. I'm happy to add* a configure-time option for those that want the header somewhere else. But auto-guessing just to fix make distcheck on your machine is not the right thing to do. And I would have appreciated if you would have sent the patch to the list for review first before breaking evdev. Attached is a patch that should add the appropriate workaround. No help text is added for the --with-sdkdir option so that people don't get the idea that they want to use this option. applied the patch locally, ran make distcheck and it still fails. Am I doing anything wrong? AFAICT from a quick peek, ${includedir} isn't expanded. Can you double-check this please? That part worked for me, but it does fail on ChangeLog somehow. ${includedir} gets expanded by make eventually. Look at the generated Makefile. All the derived directories like bindir are similar unless you've explicitly set it from configure. How is it failing for you? -- Dan ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Tue, Feb 03, 2009 at 05:35:49AM -0800, Dan Nicholson wrote: applied the patch locally, ran make distcheck and it still fails. Am I doing anything wrong? AFAICT from a quick peek, ${includedir} isn't expanded. Can you double-check this please? That part worked for me, but it does fail on ChangeLog somehow. ${includedir} gets expanded by make eventually. Look at the generated Makefile. All the derived directories like bindir are similar unless you've explicitly set it from configure. How is it failing for you? doh. you're right, same here, the changelog is the issue here too. How about the diff below? If that's the right thing, just merge it into your patch and re-send the complete version. (I could do it locally, but I'd like to have the final version of the patch on the list archives) diff --git a/Makefile.am b/Makefile.am index 54814c3..d7a5a65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,6 +33,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-evdev.pc EXTRA_DIST = ChangeLog +DISTCLEANFILES = ChangeLog MAINTAINERCLEANFILES=ChangeLog ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Tue, Feb 3, 2009 at 4:39 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 05:35:49AM -0800, Dan Nicholson wrote: applied the patch locally, ran make distcheck and it still fails. Am I doing anything wrong? AFAICT from a quick peek, ${includedir} isn't expanded. Can you double-check this please? That part worked for me, but it does fail on ChangeLog somehow. ${includedir} gets expanded by make eventually. Look at the generated Makefile. All the derived directories like bindir are similar unless you've explicitly set it from configure. How is it failing for you? doh. you're right, same here, the changelog is the issue here too. How about the diff below? If that's the right thing, just merge it into your patch and re-send the complete version. (I could do it locally, but I'd like to have the final version of the patch on the list archives) diff --git a/Makefile.am b/Makefile.am index 54814c3..d7a5a65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,6 +33,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-evdev.pc EXTRA_DIST = ChangeLog +DISTCLEANFILES = ChangeLog MAINTAINERCLEANFILES=ChangeLog Actually, I updated my macros, and now it's working. http://cgit.freedesktop.org/xorg/util/macros/commit/?id=55e8d740881ef622376440819119641e67aeb285 I don't think we want ChangeLog in DISTCLEANFILES because then a user with the tarball will remove it on distclean. Not the end of the world, but it breaks the distclean notion of get me back to the clean dist state. Does that work for you? -- Dan ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Tue, Feb 03, 2009 at 04:50:17PM -0800, Dan Nicholson wrote: On Tue, Feb 3, 2009 at 4:39 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 05:35:49AM -0800, Dan Nicholson wrote: applied the patch locally, ran make distcheck and it still fails. Am I doing anything wrong? AFAICT from a quick peek, ${includedir} isn't expanded. Can you double-check this please? That part worked for me, but it does fail on ChangeLog somehow. ${includedir} gets expanded by make eventually. Look at the generated Makefile. All the derived directories like bindir are similar unless you've explicitly set it from configure. How is it failing for you? doh. you're right, same here, the changelog is the issue here too. How about the diff below? If that's the right thing, just merge it into your patch and re-send the complete version. (I could do it locally, but I'd like to have the final version of the patch on the list archives) diff --git a/Makefile.am b/Makefile.am index 54814c3..d7a5a65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,6 +33,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-evdev.pc EXTRA_DIST = ChangeLog +DISTCLEANFILES = ChangeLog MAINTAINERCLEANFILES=ChangeLog Actually, I updated my macros, and now it's working. http://cgit.freedesktop.org/xorg/util/macros/commit/?id=55e8d740881ef622376440819119641e67aeb285 I don't think we want ChangeLog in DISTCLEANFILES because then a user with the tarball will remove it on distclean. Not the end of the world, but it breaks the distclean notion of get me back to the clean dist state. Does that work for you? yeah, updating works, thanks. Should we make macros 1.2.1 a requirement then? Cheers, Peter ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Tue, Feb 3, 2009 at 5:00 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 04:50:17PM -0800, Dan Nicholson wrote: On Tue, Feb 3, 2009 at 4:39 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 05:35:49AM -0800, Dan Nicholson wrote: applied the patch locally, ran make distcheck and it still fails. Am I doing anything wrong? AFAICT from a quick peek, ${includedir} isn't expanded. Can you double-check this please? That part worked for me, but it does fail on ChangeLog somehow. ${includedir} gets expanded by make eventually. Look at the generated Makefile. All the derived directories like bindir are similar unless you've explicitly set it from configure. How is it failing for you? doh. you're right, same here, the changelog is the issue here too. How about the diff below? If that's the right thing, just merge it into your patch and re-send the complete version. (I could do it locally, but I'd like to have the final version of the patch on the list archives) diff --git a/Makefile.am b/Makefile.am index 54814c3..d7a5a65 100644 --- a/Makefile.am +++ b/Makefile.am @@ -33,6 +33,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-evdev.pc EXTRA_DIST = ChangeLog +DISTCLEANFILES = ChangeLog MAINTAINERCLEANFILES=ChangeLog Actually, I updated my macros, and now it's working. http://cgit.freedesktop.org/xorg/util/macros/commit/?id=55e8d740881ef622376440819119641e67aeb285 I don't think we want ChangeLog in DISTCLEANFILES because then a user with the tarball will remove it on distclean. Not the end of the world, but it breaks the distclean notion of get me back to the clean dist state. Does that work for you? yeah, updating works, thanks. Should we make macros 1.2.1 a requirement then? Yeah, there should probably be a mass push to 1.2.1 for any packages (all of them, I think) that are using XORG_CHANGELOG. Sounds fun. -- Dan ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
Dan Nicholson wrote: diff --git a/configure.ac b/configure.ac index 4ba5a8a..809799f 100644 --- a/configure.ac +++ b/configure.ac @@ -72,19 +73,22 @@ XORG_DRIVER_CHECK_EXT(XINPUT, inputproto) # Checks for pkg-config packages PKG_CHECK_MODULES(XORG, xorg-server xproto $REQUIRED_MODULES) -sdkdir=$(pkg-config --variable=sdkdir xorg-server) +XORG_CFLAGS=$CWARNFLAGS $XORG_CFLAGS +sdkdir=$(pkg-config --variable=sdkdir xorg-server | + sed -e 's@/usr/incl...@$(includedir)@') AC_SUBST(sdkdir) The sdkdir handling breaks installation of the properties header. This is wrong on many levels. If you want to fix distcheck, please do it like we talked about for the app-defaults directory. configure.ac: AC_ARG_WITH([sdkdir], [AC_HELP_STRING([--with-sdkdir],[the xserver SDK directory (default: from pkg-config)])], [sdkdir=$withval], [sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`]) AC_SUBST([sdkdir]) Makefile.am: DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg' You are right. It was naive of me to only test with --prefix=/usr But I think a better approach should be found for pkg-config variables, as creating a configure option is basically only to correct make distcheck. Paulo ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Tue, Feb 03, 2009 at 12:35:14AM -0200, Paulo César Pereira de Andrade wrote: Dan Nicholson wrote: diff --git a/configure.ac b/configure.ac index 4ba5a8a..809799f 100644 --- a/configure.ac +++ b/configure.ac @@ -72,19 +73,22 @@ XORG_DRIVER_CHECK_EXT(XINPUT, inputproto) # Checks for pkg-config packages PKG_CHECK_MODULES(XORG, xorg-server xproto $REQUIRED_MODULES) -sdkdir=$(pkg-config --variable=sdkdir xorg-server) +XORG_CFLAGS=$CWARNFLAGS $XORG_CFLAGS +sdkdir=$(pkg-config --variable=sdkdir xorg-server | + sed -e 's@/usr/incl...@$(includedir)@') AC_SUBST(sdkdir) The sdkdir handling breaks installation of the properties header. This is wrong on many levels. If you want to fix distcheck, please do it like we talked about for the app-defaults directory. configure.ac: AC_ARG_WITH([sdkdir], [AC_HELP_STRING([--with-sdkdir],[the xserver SDK directory (default: from pkg-config)])], [sdkdir=$withval], [sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`]) AC_SUBST([sdkdir]) Makefile.am: DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg' You are right. It was naive of me to only test with --prefix=/usr But I think a better approach should be found for pkg-config variables, as creating a configure option is basically only to correct make distcheck. can you please explain what's wrong with make distcheck that it requires fixing? Cheers, Peter ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
Peter Hutterer wrote: On Tue, Feb 03, 2009 at 12:35:14AM -0200, Paulo César Pereira de Andrade wrote: Dan Nicholson wrote: diff --git a/configure.ac b/configure.ac index 4ba5a8a..809799f 100644 --- a/configure.ac +++ b/configure.ac @@ -72,19 +73,22 @@ XORG_DRIVER_CHECK_EXT(XINPUT, inputproto) # Checks for pkg-config packages PKG_CHECK_MODULES(XORG, xorg-server xproto $REQUIRED_MODULES) -sdkdir=$(pkg-config --variable=sdkdir xorg-server) +XORG_CFLAGS=$CWARNFLAGS $XORG_CFLAGS +sdkdir=$(pkg-config --variable=sdkdir xorg-server | + sed -e 's@/usr/incl...@$(includedir)@') AC_SUBST(sdkdir) The sdkdir handling breaks installation of the properties header. This is wrong on many levels. If you want to fix distcheck, please do it like we talked about for the app-defaults directory. configure.ac: AC_ARG_WITH([sdkdir], [AC_HELP_STRING([--with-sdkdir],[the xserver SDK directory (default: from pkg-config)])], [sdkdir=$withval], [sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`]) AC_SUBST([sdkdir]) Makefile.am: DISTCHECK_CONFIGURE_FLAGS = --with-sdkdir='$${includedir}/xorg' You are right. It was naive of me to only test with --prefix=/usr But I think a better approach should be found for pkg-config variables, as creating a configure option is basically only to correct make distcheck. can you please explain what's wrong with make distcheck that it requires fixing? make distcheck can be seen as a test of a build and install in a controlled environment. It checks if the tarball contains all the files required to build the package, among other tests. The problem in the xf86-input-evdev was it attempting to install files outside of DESTDIR. Actually, if you run make distcheck as root user, it will work. As will it work if you specify a wrong destdir but with correct permissions (usually a path not starting with / and installing in the build directory), and not cause any warnings. The problen Dan is talking about is that the patch I made was wrong and would only work with something like % ./autogen.sh --prefix=/usr because it broke both normal make install and make distcheck for other prefixes. Paulo ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
On Mon, Feb 2, 2009 at 7:23 PM, Peter Hutterer peter.hutte...@who-t.net wrote: On Tue, Feb 03, 2009 at 01:13:35AM -0200, Paulo César Pereira de Andrade wrote: But I think a better approach should be found for pkg-config variables, as creating a configure option is basically only to correct make distcheck. can you please explain what's wrong with make distcheck that it requires fixing? make distcheck can be seen as a test of a build and install in a controlled environment. It checks if the tarball contains all the files required to build the package, among other tests. The problem in the xf86-input-evdev was it attempting to install files outside of DESTDIR. Actually, if you run make distcheck as root user, it will work. As will it work if you specify a wrong destdir but with correct permissions (usually a path not starting with / and installing in the build directory), and not cause any warnings. It will also work if you set up the PKG_CONFIG_PATH correctly. The properties header file is installed where the xserver installs the same header file (xserver-properties.h). Yes, this may be outside of the prefix, but it's where the other xorg header files go too. AFAIC this is the right place to put them. It is the right place to put them. However, part of the distcheck process is checking that make install only installs files under $prefix. I say that's a stupid check, but I also think that having distcheck pass is a good thing because it uncovers a lot of packaging bugs. AFAIK, there isn't a way to override that part of distcheck. I'm happy to add* a configure-time option for those that want the header somewhere else. But auto-guessing just to fix make distcheck on your machine is not the right thing to do. And I would have appreciated if you would have sent the patch to the list for review first before breaking evdev. Attached is a patch that should add the appropriate workaround. No help text is added for the --with-sdkdir option so that people don't get the idea that they want to use this option. -- Dan evdev-distcheck.patch Description: application/mbox ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
Hi Daniel, Am Tuesday 02 December 2008 10:13:50 schrieb Daniel Stone: On Tue, Dec 02, 2008 at 09:21:33AM +0100, Sascha Hlusiak wrote: Please have a look at xkb/ddxCtrls.c @ XkbDDXUsesSoftRepeat. Software autorepeat will exactly not happen in the server, if delay is set to 660 and rate is set to 25 (interval=40). This is the default setting when starting up the server. Any comments on removing that complete chunk or on setting XKB_ALWAYS_USES_SOFT_REPEAT? Hi, XkbDDXUsesSoftRepeat is pretty weird with checking for the AccessX flags, but based on a quick look at the XkbProcessKeyEvent flow, I think it's pretty safe to always just return 1 from XkbDDXUsesSoftRepeat. We can gut the rest later on, as a continuation of xkb-atkins. I don't have a clean tree around (am in the middle of a big rebase -i with large uncommitted changes), but if you or anyone else feels like committing that, and you've tested that it works: Signed-off-by: Daniel Stone [EMAIL PROTECTED] I did some tests and it turned out that commit 6867652c2c8ad563d5655302d94134592b10265b in xf86-input-evdev did not stop the event from sending repeated events at all. I replaced it with a patch that just ignores all autorepeated events in evdev. Has the same effect. And with kicking out the code of xserver, I get completely working and correct key autorepeat. Delay and rate is correct, default is working as well and modifiers don't repeat, as expected. When applying the evdev patch but not the xserver patch, you get non-working autorepeat when it's set exactly to a delay of 660 and rate of 25 (interval 40), which is the default. I'd rather send the patches to the list first, so you can decide which branches to commit them to. Cheers, Sascha diff --git a/src/evdev.c b/src/evdev.c index 7b06c91..d246eed 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -238,15 +238,10 @@ PostKbdEvent(InputInfoPtr pInfo, struct input_event *ev, int value) int code = ev-code + MIN_KEYCODE; static char warned[KEY_MAX]; -/* filter repeat events for chording keys */ -if (value == 2 -(ev-code == KEY_LEFTCTRL || ev-code == KEY_RIGHTCTRL || - ev-code == KEY_LEFTSHIFT || ev-code == KEY_RIGHTSHIFT || - ev-code == KEY_LEFTALT || ev-code == KEY_RIGHTALT || - ev-code == KEY_LEFTMETA || ev-code == KEY_RIGHTMETA || - ev-code == KEY_CAPSLOCK || ev-code == KEY_NUMLOCK || - ev-code == KEY_SCROLLLOCK)) /* XXX windows keys? */ -return; +/* Filter all repeated events from device. + We'll do softrepeat in the server */ +if (value == 2) + return; if (code 255 ev-code KEY_MAX) { if (!warned[ev-code]) diff --git a/xkb/ddxCtrls.c b/xkb/ddxCtrls.c index 34ea0bd..be269c2 100644 --- a/xkb/ddxCtrls.c +++ b/xkb/ddxCtrls.c @@ -57,27 +57,7 @@ int realRepeat; int XkbDDXUsesSoftRepeat(DeviceIntPtr pXDev) { -#ifndef XKB_ALWAYS_USES_SOFT_REPEAT -if (pXDev pXDev-kbdfeed ) { - if (pXDev-kbdfeed-ctrl.autoRepeat) { - if (pXDev-key pXDev-key-xkbInfo) { - XkbDescPtr xkb; - xkb= pXDev-key-xkbInfo-desc; - if ((xkb-ctrls-repeat_delay == 660) - (xkb-ctrls-repeat_interval == 40) - ((xkb-ctrls-enabled_ctrls(XkbSlowKeysMask| - XkbBounceKeysMask| - XkbMouseKeysMask))==0)) { - return 0; - } - return ((xkb-ctrls-enabled_ctrlsXkbRepeatKeysMask)!=0); - } - } -} -return 0; -#else return 1; -#endif } void signature.asc Description: This is a digitally signed message part. ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg
Re: xf86-input-evdev: Changes to 'master'
[Resending with correct address, sorry Sascha.] On Tue, Dec 02, 2008 at 09:21:33AM +0100, Sascha Hlusiak wrote: Please have a look at xkb/ddxCtrls.c @ XkbDDXUsesSoftRepeat. Software autorepeat will exactly not happen in the server, if delay is set to 660 and rate is set to 25 (interval=40). This is the default setting when starting up the server. Any comments on removing that complete chunk or on setting XKB_ALWAYS_USES_SOFT_REPEAT? Hi, XkbDDXUsesSoftRepeat is pretty weird with checking for the AccessX flags, but based on a quick look at the XkbProcessKeyEvent flow, I think it's pretty safe to always just return 1 from XkbDDXUsesSoftRepeat. We can gut the rest later on, as a continuation of xkb-atkins. I don't have a clean tree around (am in the middle of a big rebase -i with large uncommitted changes), but if you or anyone else feels like committing that, and you've tested that it works: Signed-off-by: Daniel Stone [EMAIL PROTECTED] Thanks for pointing this out. :) Cheers, Daniel signature.asc Description: Digital signature ___ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg