summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené Nussbaumer <killerfox@gentoo.org>2008-01-11 19:57:48 +0000
committerRené Nussbaumer <killerfox@gentoo.org>2008-01-11 19:57:48 +0000
commit250258ced49483136ec87d81e4acf5b62c3045ff (patch)
tree9e3e085791f83d8557f274de4bbfb990587042a9 /x11-drivers/synaptics
parentFix ${ROOT} issues (diff)
downloadhistorical-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/ChangeLog10
-rw-r--r--x11-drivers/synaptics/Manifest29
-rw-r--r--x11-drivers/synaptics/files/digest-synaptics-0.14.6-r13
-rw-r--r--x11-drivers/synaptics/files/synaptics-fixeventgrab.diff83
-rw-r--r--x11-drivers/synaptics/synaptics-0.14.6-r1.ebuild51
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
+}