diff options
author | René Nussbaumer <killerfox@gentoo.org> | 2008-01-11 19:57:48 +0000 |
---|---|---|
committer | René Nussbaumer <killerfox@gentoo.org> | 2008-01-11 19:57:48 +0000 |
commit | 250258ced49483136ec87d81e4acf5b62c3045ff (patch) | |
tree | 9e3e085791f83d8557f274de4bbfb990587042a9 /x11-drivers/synaptics | |
parent | Fix ${ROOT} issues (diff) | |
download | historical-250258ced49483136ec87d81e4acf5b62c3045ff.tar.gz historical-250258ced49483136ec87d81e4acf5b62c3045ff.tar.bz2 historical-250258ced49483136ec87d81e4acf5b62c3045ff.zip |
Revision bump fixing event device grabbing.
Package-Manager: portage-2.1.3.19
Diffstat (limited to 'x11-drivers/synaptics')
-rw-r--r-- | x11-drivers/synaptics/ChangeLog | 10 | ||||
-rw-r--r-- | x11-drivers/synaptics/Manifest | 29 | ||||
-rw-r--r-- | x11-drivers/synaptics/files/digest-synaptics-0.14.6-r1 | 3 | ||||
-rw-r--r-- | x11-drivers/synaptics/files/synaptics-fixeventgrab.diff | 83 | ||||
-rw-r--r-- | x11-drivers/synaptics/synaptics-0.14.6-r1.ebuild | 51 |
5 files changed, 160 insertions, 16 deletions
diff --git a/x11-drivers/synaptics/ChangeLog b/x11-drivers/synaptics/ChangeLog index 04e8aea450ed..86438b8f7055 100644 --- a/x11-drivers/synaptics/ChangeLog +++ b/x11-drivers/synaptics/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-drivers/synaptics -# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/synaptics/ChangeLog,v 1.29 2007/10/09 07:57:35 dberkholz Exp $ +# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/synaptics/ChangeLog,v 1.30 2008/01/11 19:57:47 killerfox Exp $ + +*synaptics-0.14.6-r1 (11 Jan 2008) + + 11 Jan 2008; René Nussbaumer <killerfox@gentoo.org> + +files/synaptics-fixeventgrab.diff, +synaptics-0.14.6-r1.ebuild: + Revision bump fixing event device grabbing. 09 Oct 2007; Donnie Berkholz <dberkholz@gentoo.org>; synaptics-0.14.5-r1.ebuild, synaptics-0.14.6.ebuild: diff --git a/x11-drivers/synaptics/Manifest b/x11-drivers/synaptics/Manifest index 5feb704fd128..9a919de3a2f0 100644 --- a/x11-drivers/synaptics/Manifest +++ b/x11-drivers/synaptics/Manifest @@ -1,6 +1,3 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - AUX rc.conf 330 RMD160 75825d70b749ae4e8b59b4066428d73815b19d70 SHA1 639736e2b424fcd3d6a78d0e6a3f90bed49ee6f4 SHA256 1776915a739c2f1432ab1602717cac1ff2464160a9d33d20124853a93605f6a5 MD5 31817e2d99f1b5c23a2bb0594627752b files/rc.conf 330 RMD160 75825d70b749ae4e8b59b4066428d73815b19d70 files/rc.conf 330 @@ -29,6 +26,10 @@ AUX synaptics-0.14.x-gcc4-the-sentinels-have-attacked.patch 538 RMD160 aec4ddbe8 MD5 f2c484f02a746852ee1295ca1f092e8d files/synaptics-0.14.x-gcc4-the-sentinels-have-attacked.patch 538 RMD160 aec4ddbe8c93439d2245aeea1909eeb0e9ee555f files/synaptics-0.14.x-gcc4-the-sentinels-have-attacked.patch 538 SHA256 81cd1a662faf37141ca1e731c0ef63ba493a99b2c794d8ceb9510a7367e4f97c files/synaptics-0.14.x-gcc4-the-sentinels-have-attacked.patch 538 +AUX synaptics-fixeventgrab.diff 2826 RMD160 0888ceb9cb2847d336be4c267ee8a4f6aee76a1d SHA1 38de7f5c4c94f89e5170b4ff6306cc6b1d7fac84 SHA256 90f49ad2885202a23ad70e3630d712dc26249c4d3035cff2e0094de2f806dab8 +MD5 8b431aa9d3a11eebd3ffe13af36e1d42 files/synaptics-fixeventgrab.diff 2826 +RMD160 0888ceb9cb2847d336be4c267ee8a4f6aee76a1d files/synaptics-fixeventgrab.diff 2826 +SHA256 90f49ad2885202a23ad70e3630d712dc26249c4d3035cff2e0094de2f806dab8 files/synaptics-fixeventgrab.diff 2826 AUX synaptics_input_api.diff 2181 RMD160 c7adda057b1591721abb4e2cba73e5fca1442361 SHA1 e0ac5c149a4a2899feacc1eaea27b78fa3c4a97b SHA256 0f415142a67a1a2cac51d9e67a33e7cadd9a20846b3f187db1ab5ff280b9c1f8 MD5 0a537b564bcbde21c6b0c89b92e48d84 files/synaptics_input_api.diff 2181 RMD160 c7adda057b1591721abb4e2cba73e5fca1442361 files/synaptics_input_api.diff 2181 @@ -39,14 +40,18 @@ EBUILD synaptics-0.14.5-r1.ebuild 1353 RMD160 d3071d9aae10467cef885a291afe2d53bd MD5 18aabd5f96ae12e6a7e57fc7630f0eef synaptics-0.14.5-r1.ebuild 1353 RMD160 d3071d9aae10467cef885a291afe2d53bda4ed48 synaptics-0.14.5-r1.ebuild 1353 SHA256 d51a03799fe941502ac0431976c543462e19983e9b8eb5d601b1d51131361929 synaptics-0.14.5-r1.ebuild 1353 +EBUILD synaptics-0.14.6-r1.ebuild 1323 RMD160 3fe755a20d5bfe279073b3b4eb316b9eff2dcef3 SHA1 13e0d79ce3137194fe436b60f70c7e02208dc531 SHA256 cf81cd20679c0792df91c9962f16775c515f7a85644899f5f08c90d024fcab61 +MD5 a5d318654377741d6f1161fc90eae23c synaptics-0.14.6-r1.ebuild 1323 +RMD160 3fe755a20d5bfe279073b3b4eb316b9eff2dcef3 synaptics-0.14.6-r1.ebuild 1323 +SHA256 cf81cd20679c0792df91c9962f16775c515f7a85644899f5f08c90d024fcab61 synaptics-0.14.6-r1.ebuild 1323 EBUILD synaptics-0.14.6.ebuild 1266 RMD160 d9bc93d3b1370119950e7b7f70d8273a192441fb SHA1 efd0935366b14afb5f5d2d7913fa03b1dbaccb3e SHA256 146a0ad8a1b0801c2bfad34d315525972094dc828d93359e6937a086b70d2b2a MD5 f61d6835ebfba08d3f7a9ab8b63985d0 synaptics-0.14.6.ebuild 1266 RMD160 d9bc93d3b1370119950e7b7f70d8273a192441fb synaptics-0.14.6.ebuild 1266 SHA256 146a0ad8a1b0801c2bfad34d315525972094dc828d93359e6937a086b70d2b2a synaptics-0.14.6.ebuild 1266 -MISC ChangeLog 14857 RMD160 dc9faaaa819cc1d70c6e8485d209213fbed59c73 SHA1 280334b38223e18e1c0fcfa0c7e0289324a8e388 SHA256 60d9c74aead41fdc6992183fdb77bb29aa1a7be03be5a182347499eaeb6eb426 -MD5 c5516ede20ae3925f419aed92a6ea101 ChangeLog 14857 -RMD160 dc9faaaa819cc1d70c6e8485d209213fbed59c73 ChangeLog 14857 -SHA256 60d9c74aead41fdc6992183fdb77bb29aa1a7be03be5a182347499eaeb6eb426 ChangeLog 14857 +MISC ChangeLog 15062 RMD160 3e294062e7bd412858166a982f7b8678d6cceec6 SHA1 6394ecd8cc61a752483d1cd504f4ab38ef42cba0 SHA256 364c2195e25d34caec09364607303ca880abd83e3d862f8ad52db884c6c853f9 +MD5 811006655c8bdc446bb94ec075dbb1a7 ChangeLog 15062 +RMD160 3e294062e7bd412858166a982f7b8678d6cceec6 ChangeLog 15062 +SHA256 364c2195e25d34caec09364607303ca880abd83e3d862f8ad52db884c6c853f9 ChangeLog 15062 MISC metadata.xml 164 RMD160 063e280135023e17863dd0b1154787fbb13d98d1 SHA1 6b624c0de1c67e3014f357344afe6dbb818f64bd SHA256 8bb377723c4bb750b364a747cc43f6438cd13731e361728f416ab6f4928bcb58 MD5 1f4a7b552c4631b5e826df2324e7f45e metadata.xml 164 RMD160 063e280135023e17863dd0b1154787fbb13d98d1 metadata.xml 164 @@ -57,10 +62,6 @@ SHA256 6969eb41c5136248f5548758049db81116899e04b9b15aad3207762cb68f408c files/di MD5 8913dc965241f6d39631b58687b0b0a0 files/digest-synaptics-0.14.6 253 RMD160 526a69b92c109960b81db5dc30e16ad94a6c8307 files/digest-synaptics-0.14.6 253 SHA256 ee4f94138298baaf8354e3b971efc896c76f0db022dbabbe86e1de5c1c622c4e files/digest-synaptics-0.14.6 253 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.7 (GNU/Linux) - -iD8DBQFHCzR1XVaO67S1rtsRAuNgAKCjkn5eRVCTA5jj255J3/zvLLukegCgs3QZ -jgwRYBPIAH7oJo+rMq87gus= -=aaPb ------END PGP SIGNATURE----- +MD5 8913dc965241f6d39631b58687b0b0a0 files/digest-synaptics-0.14.6-r1 253 +RMD160 526a69b92c109960b81db5dc30e16ad94a6c8307 files/digest-synaptics-0.14.6-r1 253 +SHA256 ee4f94138298baaf8354e3b971efc896c76f0db022dbabbe86e1de5c1c622c4e files/digest-synaptics-0.14.6-r1 253 diff --git a/x11-drivers/synaptics/files/digest-synaptics-0.14.6-r1 b/x11-drivers/synaptics/files/digest-synaptics-0.14.6-r1 new file mode 100644 index 000000000000..5d3ea56e43f5 --- /dev/null +++ b/x11-drivers/synaptics/files/digest-synaptics-0.14.6-r1 @@ -0,0 +1,3 @@ +MD5 1102cd575045640a064ab6f9b1e391af synaptics-0.14.6.tar.bz2 126833 +RMD160 7a8b103aa314eb13dc512c663c501108cc24a574 synaptics-0.14.6.tar.bz2 126833 +SHA256 f88b967258a0484b0aa02f26acfb31a70cc8afd4872608b7f81c44dc29ae8429 synaptics-0.14.6.tar.bz2 126833 diff --git a/x11-drivers/synaptics/files/synaptics-fixeventgrab.diff b/x11-drivers/synaptics/files/synaptics-fixeventgrab.diff new file mode 100644 index 000000000000..8a93988e0120 --- /dev/null +++ b/x11-drivers/synaptics/files/synaptics-fixeventgrab.diff @@ -0,0 +1,83 @@ +diff -urN synaptics-0.14.6.orig/eventcomm.c synaptics-0.14.6/eventcomm.c +--- synaptics-0.14.6.orig/eventcomm.c 2006-07-15 17:54:29.000000000 +0200 ++++ synaptics-0.14.6/eventcomm.c 2008-01-06 23:44:09.000000000 +0100 +@@ -40,16 +40,24 @@ + * Function Definitions + ****************************************************************************/ + +-static void ++static Bool ++grab_event_device(int fd) ++{ ++ int ret; ++ SYSCALL(ret = ioctl(fd, EVIOCGRAB, (pointer)1)); ++ return !(ret < 0); ++} ++ ++static Bool + EventDeviceOnHook(LocalDevicePtr local) + { + /* Try to grab the event device so that data don't leak to /dev/input/mice */ +- int ret; +- SYSCALL(ret = ioctl(local->fd, EVIOCGRAB, (pointer)1)); +- if (ret < 0) { ++ if(!grab_event_device(local->fd)) { + xf86Msg(X_WARNING, "%s can't grab event device, errno=%d\n", + local->name, errno); ++ return FALSE; + } ++ return TRUE; + } + + static void +@@ -247,6 +255,7 @@ + char fname[64]; + int fd = -1; + Bool is_touchpad; ++ Bool is_grabbable; + + sprintf(fname, "%s/%s%d", DEV_INPUT_EVENT, EVENT_DEV_NAME, i); + SYSCALL(fd = open(fname, O_RDONLY)); +@@ -263,8 +272,16 @@ + noent_cnt = 0; + have_evdev = TRUE; + is_touchpad = event_query_is_touchpad(fd); ++ /** ++ * Check whether device can be grabbed. This means there is a race ++ * condition with EventDeviceOnHook, which can't be solved cleanly ++ * the way things are done with the current design. One possible ++ * solution would be to keep the file descriptor open. ++ */ ++ is_grabbable = grab_event_device(fd); ++ + SYSCALL(close(fd)); +- if (is_touchpad) { ++ if (is_touchpad && is_grabbable) { + xf86Msg(X_PROBED, "%s auto-dev sets device to %s\n", + local->name, fname); + xf86ReplaceStrOption(local->options, "Device", fname); +diff -urN synaptics-0.14.6.orig/synaptics.c synaptics-0.14.6/synaptics.c +--- synaptics-0.14.6.orig/synaptics.c 2006-07-15 17:54:29.000000000 +0200 ++++ synaptics-0.14.6/synaptics.c 2008-01-06 23:03:26.000000000 +0100 +@@ -543,7 +543,8 @@ + return !Success; + } + +- priv->proto_ops->DeviceOnHook(local); ++ if(!priv->proto_ops->DeviceOnHook(local)) ++ return !Success; + + priv->comm.buffer = XisbNew(local->fd, 64); + if (!priv->comm.buffer) { +diff -urN synaptics-0.14.6.orig/synproto.h synaptics-0.14.6/synproto.h +--- synaptics-0.14.6.orig/synproto.h 2006-07-09 18:53:02.000000000 +0200 ++++ synaptics-0.14.6/synproto.h 2008-01-06 22:31:19.000000000 +0100 +@@ -76,7 +76,7 @@ + struct CommData; + + struct SynapticsProtocolOperations { +- void (*DeviceOnHook)(LocalDevicePtr local); ++ Bool (*DeviceOnHook)(LocalDevicePtr local); + void (*DeviceOffHook)(LocalDevicePtr local); + Bool (*QueryHardware)(LocalDevicePtr local, struct SynapticsHwInfo *synhw); + Bool (*ReadHwState)(LocalDevicePtr local, struct SynapticsHwInfo *synhw, diff --git a/x11-drivers/synaptics/synaptics-0.14.6-r1.ebuild b/x11-drivers/synaptics/synaptics-0.14.6-r1.ebuild new file mode 100644 index 000000000000..27b51d747a7b --- /dev/null +++ b/x11-drivers/synaptics/synaptics-0.14.6-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/synaptics/synaptics-0.14.6-r1.ebuild,v 1.1 2008/01/11 19:57:47 killerfox Exp $ + +inherit toolchain-funcs eutils + +IUSE="" + +DESCRIPTION="Driver for Synaptics touchpads" +HOMEPAGE="http://w1.894.telia.com/~u89404340/touchpad/" +SRC_URI="http://w1.894.telia.com/~u89404340/touchpad/files/${P}.tar.bz2" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +RDEPEND="x11-libs/libXext" +DEPEND="${RDEPEND} + x11-base/xorg-server + >=sys-apps/sed-4" + +src_unpack() { + unpack ${A} ; cd "${S}" + + # Switch up the CC and CFLAGS stuff. + sed -i \ + -e "s:CC = gcc:CC = $(tc-getCC):g" \ + -e "s:CDEBUGFLAGS = -O2:CDEBUGFLAGS = ${CFLAGS}:g" \ + "${S}"/Makefile + epatch "${FILESDIR}"/synaptics-fixeventgrab.diff + epatch "${FILESDIR}"/synaptics_input_api.diff +} + +src_compile() { + emake || die +} + +src_install() { + make \ + DESTDIR="${D}" \ + PREFIX=/usr \ + MANDIR="${D}"/usr/share/man \ + install || die + + dodoc script/usbmouse script/usbhid alps.patch trouble-shooting.txt + dodoc COMPATIBILITY FILES INSTALL* LICENSE NEWS TODO README* + + # Stupid new daemon, didn't work for me because of shm issues + newinitd "${FILESDIR}"/rc.init syndaemon + newconfd "${FILESDIR}"/rc.conf syndaemon +} |