Bug #354921, #343133: Fix overflow for amd64. Bug #301340: Fix suspend behavior....
authorRobin H. Johnson <robbat2@gentoo.org>
Wed, 3 Aug 2011 07:49:50 +0000 (07:49 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Wed, 3 Aug 2011 07:49:50 +0000 (07:49 +0000)
Package-Manager: portage-2.2.0_alpha45/cvs/Linux x86_64

app-misc/g15daemon/ChangeLog
app-misc/g15daemon/Manifest
app-misc/g15daemon/files/20g15daemon [new file with mode: 0644]
app-misc/g15daemon/files/g15daemon-1.9.5.3-overflow-fix.patch [new file with mode: 0644]
app-misc/g15daemon/files/g15daemon-hotplug
app-misc/g15daemon/g15daemon-1.9.5.3-r4.ebuild [new file with mode: 0644]

index 12477856987727c00b68d0cc5a2f947c56d5c6e4..cebb44e50c21384994877bd7df62d63bb254fcc4 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for app-misc/g15daemon
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/g15daemon/ChangeLog,v 1.36 2011/04/16 22:56:19 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/g15daemon/ChangeLog,v 1.37 2011/08/03 07:49:50 robbat2 Exp $
+
+*g15daemon-1.9.5.3-r4 (03 Aug 2011)
+
+  03 Aug 2011; Robin H. Johnson <robbat2@gentoo.org> +files/20g15daemon,
+  +g15daemon-1.9.5.3-r4.ebuild, files/g15daemon-hotplug,
+  +files/g15daemon-1.9.5.3-overflow-fix.patch:
+  Bug #354921, #343133: Fix overflow for amd64. Bug #301340: Fix suspend
+  behavior. Bug #366863: Improve udev interaction.
 
   16 Apr 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
   g15daemon-1.9.5.3-r3.ebuild:
index 282a42097a5d3e3c70e6817ff2d209e860ac0beb..5123f34bfcc877d8d31ca07fde18356ed361e4d5 100644 (file)
@@ -1,30 +1,13 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
+AUX 20g15daemon 173 RMD160 5e7c09483d61f787cabaf0dfd04b4042b5f61de5 SHA1 d78b994fb0e3731db3207e846e1d9e170c494eb7 SHA256 27be8c2dfa6b4b09203b783b64615947434087d405363141b62dd12bdb17bad6
 AUX 99-g15daemon.rules 90 RMD160 35df4086850c7170227e472cc82d7db0d0e2d23b SHA1 fff177b525ba9e7882cc01ae61091c483a3863c1 SHA256 dab916b3cb839bb55f4b6f599f83de2c4dbdd87005394f737dc59ab4df7d4e84
 AUX g15daemon-1.2.7-r2.initd 1107 RMD160 33a13cbbdf3701b6e81fb39dfad5f6ee3318d1bc SHA1 7832d5da216f59b42423d2f9583eb2b3356ae237 SHA256 37d29b422cdc680bd066d8b0dca874781396aded214cf080014454421c9bb26d
 AUX g15daemon-1.2.7.confd 329 RMD160 962088db694d25a6935de80299a45d94787ed251 SHA1 f452f915e6f903e4cdbbfc3db3e2e57ef702425f SHA256 a7977e03f0faaed85f659b077fddc3a589c2e2d4386df1e9afc89133c25bc613
 AUX g15daemon-1.9.5.3-forgotten-open-mode.patch 639 RMD160 04b8ae6d53ccb99a9bba32d0ae93b58d6859c71e SHA1 81c9d08dec32d87bb26836668a6984e0182e24ce SHA256 0d97a53d63052d2da325b39b6186330432fbf1a16be3e09eef4f250410f79e38
-AUX g15daemon-hotplug 187 RMD160 df076cb3c47e976085e362fa1b6c7b1429857684 SHA1 61a1ddf817746e46e48c77186f145c59b5e3256f SHA256 694fcaa68b7de070a257c72b3d9b0736377bbf3102d41c9aadcb9b27d0efcdad
+AUX g15daemon-1.9.5.3-overflow-fix.patch 619 RMD160 5da1767b73fbc5f39d0eeedd615949a316754073 SHA1 044847b92940f18e437131814d24461f86d52188 SHA256 0c9c888c4f2e26cf51981714e917e963b371ed2b8d84c6e00b4c13df371afeda
+AUX g15daemon-hotplug 224 RMD160 a869293418f9e04e8209dc171850eb4cabb6251f SHA1 bdbe06b4ba667a151ae70733105a5bece123664a SHA256 ff7fc4857cab25ab57c9ceca9e4c1f9ca365fc140da21e8cfa9788ee9544ba38
 AUX g15daemon.conf 516 RMD160 50e8da6e93ae52960519c00d0f76ca6ba636f33a SHA1 db3b0b119c1f77dc91a7a9222c45ed3bd65f73df SHA256 94a79cea3ac0fa566cd6515e32eec22bb6a26e353c83608767dc65d1a2404037
 DIST g15daemon-1.9.5.3.tar.gz 414603 RMD160 937362cd75d578e1b992868aeacefa928390ab4d SHA1 bc10775494ff38e78ecb62074869332d96c5cb55 SHA256 40ff07a4186c1fd01ea23d1753a2cb3bef25f92cc496ddddc6abde6a574cd60a
 EBUILD g15daemon-1.9.5.3-r3.ebuild 3978 RMD160 8d8c01b53f712c36b52e381763a167e0037f3baf SHA1 5af1cd345517247407bb669f7c1bf1617647a8fa SHA256 a9fe2935b56303c08282836ce857db559c2225123d2e80230c224d06bae33337
-MISC ChangeLog 7343 RMD160 c0860d67d8903293a2a3af7b10aee14e0a317566 SHA1 2b3dd141396044cc57db4f56ce64eb39d526a1e3 SHA256 a1b92700df18db358ff1a0a8f6a6d90a46daa0b51a25bf31881202ced5a64369
+EBUILD g15daemon-1.9.5.3-r4.ebuild 4132 RMD160 80acbd08cf00631c59fd9276f8449dde71a16ea9 SHA1 91a1afbc6ad3aa6be7ea37d771a14acb3f642ffd SHA256 ff371f8ff9a12eef375bd345e282999cf420c5852dc77994daeb9309cddbfcbd
+MISC ChangeLog 7681 RMD160 7a8284fe486d9331b303ff90986fd34f07caa7c4 SHA1 6695d1cca0be5a371210071d69b565f037a5cf4c SHA256 404c45d574c2d1643b91a954e9b09ef4f98a1335d46965cad9ac97211efb7d2a
 MISC metadata.xml 222 RMD160 f3b76907c0789c67d2e3d9d4073a5911aa8ae42f SHA1 792ac055d4a27ee4d9120df34d5390ac3732ab94 SHA256 edd5f0f934fb8e9338e5a0ce8caaae6f6232dfb8cb4e0c0cfbac0363eb42b7c9
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
-
-iQIcBAEBAgAGBQJNqh6aAAoJENgZr6v6gHY0Yf8P/0OmAVWki8x1SDfb2AscIx42
-aIzqBPTURvstsAUnXiV9/MzJwetuufTC88UkFdLG30VUIbwQERuYtNSSJBez9vCX
-CY1wZo08PfSov5PR77ohBogs3p6zmhZC6/VO2246mu1kJCV3sX4cHji1eFWHoH5V
-u3QgSyMYSz6LT4myrhlsjBvklxz4q4rxPLgghMaYy6dTZ27inDtaaRer+wMKitn3
-yaa+g/NKHdjpyAjQK5EH3GamDrsquh2pRIZ3+VCDM3oZ4nMLhPudxMyDnor4JVEZ
-RGQJNzYM5VbKAJihHFmA+mHjiOY+Lun83osITUv/vt5prP17XC9N+3oRhpj7q0jO
-8w/r38X3QhU/B1is/gEm0QvAsY2XM277xQxT9VnfORZjBcrPVmCf0zoNHqhCe+Nk
-K3aPaLMWJxuFuIoHebvZp/hb5DVzvQhroTEvU3kkYMZGGpD75QCbf2kQJQfr+V/X
-ujjViHx5CPG380Fy90MwjEbiM5yj7h0hzo8AOnwFMSKO/YhlxNakWXIkngeCEyLV
-5YXDsdoNRzqOnJputTN5BlBCPKCUiSq6Dc8JErg3MrkUVrCg0L3M7flh1DR0LVii
-KGzbEV1HWMPw2Yzg4Vvh0bXqHMvUX0VWbDSBlROPlUQSK7DltV0wdYXpcoeCHeyG
-kfY+IWUAXpNAWbIaE+bk
-=rGEb
------END PGP SIGNATURE-----
diff --git a/app-misc/g15daemon/files/20g15daemon b/app-misc/g15daemon/files/20g15daemon
new file mode 100644 (file)
index 0000000..ee14225
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+. "${PM_FUNCTIONS}"
+
+case "$1" in
+       hibernate|suspend)
+               /etc/init.d/g15daemon stop
+               ;;
+       thaw|resume)
+               /etc/init.d/g15daemon start
+               ;;
+       *)
+               exit $NA
+               ;;
+esac
diff --git a/app-misc/g15daemon/files/g15daemon-1.9.5.3-overflow-fix.patch b/app-misc/g15daemon/files/g15daemon-1.9.5.3-overflow-fix.patch
new file mode 100644 (file)
index 0000000..71cbf91
--- /dev/null
@@ -0,0 +1,11 @@
+--- ./g15daemon-1.9.5.3/libg15daemon_client/g15daemon_net.c    2008-01-25 05:45:05.000000000 +0100
++++ ./g15daemon-1.9.5.3/libg15daemon_client/g15daemon_net.c    2011-02-14 22:51:55.203009264 +0100
+@@ -217,7 +217,7 @@
+     if(poll(pfd,1,100)>0){
+        if(pfd[0].revents & POLLPRI && !(pfd[0].revents & POLLERR || pfd[0].revents & POLLHUP || pfd[0].revents & POLLNVAL)) { 
+              memset(packet,0,sizeof(packet));
+-             msgret = recv(sock, packet, 10 , MSG_OOB);
++             msgret = recv(sock, packet, sizeof(packet), MSG_OOB);
+              if (msgret < 1) {
+                   return -1;
+               }
index 1e20761a5a1c1e4818972695c5e747b5a293897f..2ae8be0bde01ce320ead31e4c4a321cafda3a532 100644 (file)
@@ -1,11 +1,13 @@
 #!/bin/sh
 
+export IN_HOTPLUG=1
+
 case "$ACTION" in
     "add")
-        /etc/init.d/g15daemon restart
+        /etc/init.d/g15daemon --quiet restart
         ;;
     "remove")
-        /etc/init.d/g15daemon stop
+        /etc/init.d/g15daemon --quiet stop
         ;;
     *)
         exit 0
diff --git a/app-misc/g15daemon/g15daemon-1.9.5.3-r4.ebuild b/app-misc/g15daemon/g15daemon-1.9.5.3-r4.ebuild
new file mode 100644 (file)
index 0000000..5b9332c
--- /dev/null
@@ -0,0 +1,174 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/g15daemon/g15daemon-1.9.5.3-r4.ebuild,v 1.1 2011/08/03 07:49:50 robbat2 Exp $
+
+EAPI=3
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_DEPEND="python? *"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils linux-info perl-module python base
+
+DESCRIPTION="G15daemon takes control of the G15 keyboard, through the linux kernel uinput device driver"
+HOMEPAGE="http://g15daemon.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="perl python"
+
+DEPEND="virtual/libusb:0
+       >=dev-libs/libg15-1.2.4
+       >=dev-libs/libg15render-1.2
+       perl? (
+               dev-lang/perl
+               dev-perl/GDGraph
+               >=dev-perl/Inline-0.4
+       )"
+RDEPEND="${DEPEND}"
+
+PATCHES=( 
+"${FILESDIR}/${P}-forgotten-open-mode.patch" 
+"${FILESDIR}/${P}-overflow-fix.patch"
+)
+uinput_check() {
+       ebegin "Checking for uinput support"
+       local rc=1
+       linux_config_exists && linux_chkconfig_present INPUT_UINPUT
+       rc=$?
+
+       if [[ $rc -ne 0 ]] ; then
+               eerror "To use g15daemon, you need to compile your kernel with uinput support."
+               eerror "Please enable uinput support in your kernel config, found at:"
+               eerror
+               eerror "Device Drivers -> Input Device ... -> Miscellaneous devices -> User level driver support."
+               eerror
+               eerror "Once enabled, you should have the /dev/input/uinput device."
+               eerror "g15daemon will not work without the uinput device."
+       fi
+}
+
+pkg_setup() {
+       linux-info_pkg_setup
+       uinput_check
+       if use python; then
+               python_pkg_setup
+       fi
+}
+
+src_unpack() {
+       unpack ${A}
+       if use perl; then
+               unpack "./${P}/lang-bindings/perl-G15Daemon-0.2.tar.gz"
+       fi
+       if use python; then
+               unpack "./${P}/lang-bindings/pyg15daemon-0.0.tar.bz2"
+       fi
+}
+
+src_prepare() {
+       if use perl; then
+               perl-module_src_prepare
+               sed -i \
+                       -e '1i#!/usr/bin/perl' \
+                       "${S}"/contrib/testbindings.pl
+       else
+               # perl-module_src_prepare always calls base_src_prepare
+               base_src_prepare
+       fi
+}
+
+src_configure() {
+       base_src_configure
+
+       if use perl; then
+               cd "${WORKDIR}/G15Daemon-0.2"
+               perl-module_src_configure
+       fi
+}
+
+src_compile() {
+       base_src_compile
+
+       if use perl; then
+               cd "${WORKDIR}/G15Daemon-0.2"
+               perl-module_src_compile
+       fi
+}
+
+src_install() {
+       emake DESTDIR="${D}" \
+               docdir=/usr/share/doc/${PF} install || die "make install failed"
+
+       # remove odd docs installed my make
+       rm "${D}/usr/share/doc/${PF}/"{LICENSE,README.usage}
+
+       insinto /usr/share/${PN}/contrib
+       doins contrib/xmodmaprc
+       doins contrib/xmodmap.sh
+       if use perl; then
+               doins contrib/testbindings.pl
+       fi
+
+       newconfd "${FILESDIR}/${PN}-1.2.7.confd" ${PN}
+       newinitd "${FILESDIR}/${PN}-1.2.7-r2.initd" ${PN}
+       dobin "${FILESDIR}/g15daemon-hotplug"
+       insinto /lib/udev/rules.d
+       doins "${FILESDIR}/99-g15daemon.rules"
+
+       insinto /etc
+       doins "${FILESDIR}"/g15daemon.conf
+
+       # Gentoo bug #301340, debian bug #611649
+       exeinto /usr/lib/pm-utils/sleep.d
+       doexe "${FILESDIR}"/20g15daemon
+
+       if use perl; then
+               ebegin "Installing Perl Bindings (G15Daemon.pm)"
+               cd "${WORKDIR}/G15Daemon-0.2"
+               docinto perl
+               perl-module_src_install
+       fi
+
+       if use python; then
+               ebegin "Installing Python Bindings (g15daemon.py)"
+               cd "${WORKDIR}/pyg15daemon"
+
+               installation() {
+                       insinto $(python_get_sitedir)
+                       doins g15daemon.py
+               }
+               python_execute_function installation
+
+               docinto python
+               dodoc AUTHORS
+       fi
+}
+
+pkg_postinst() {
+       if use python; then
+               python_mod_optimize g15daemon.py
+               echo ""
+       fi
+
+       elog "To use g15daemon, you need to add g15daemon to the default runlevel."
+       elog "This can be done with:"
+       elog "# /sbin/rc-update add g15daemon default"
+       elog "You can edit some g15daemon options at /etc/conf.d/g15daemon"
+       elog ""
+       elog "To have all new keys working in X11, you'll need create a "
+       elog "specific xmodmap in your home directory or edit the existent one."
+       elog ""
+       elog "Create the xmodmap:"
+       elog "cp /usr/share/g15daemon/contrib/xmodmaprc ~/.Xmodmap"
+       elog ""
+       elog "Adding keycodes to an existing xmodmap:"
+       elog "cat /usr/share/g15daemon/contrib/xmodmaprc >> ~/.Xmodmap"
+}
+
+pkg_postrm() {
+       if use python; then
+               python_mod_cleanup g15daemon.py
+       fi
+}