summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2008-06-25 03:25:45 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2008-06-25 03:25:45 +0000
commit1ce1efe65582738c34097e68781ec9e7689f5a04 (patch)
tree19d3587d9aa1d976d82ca2a03a02c444245c063a /dev-libs/libusb
parentVersion bump per bug #226155. (diff)
downloadhistorical-1ce1efe65582738c34097e68781ec9e7689f5a04.tar.gz
historical-1ce1efe65582738c34097e68781ec9e7689f5a04.tar.bz2
historical-1ce1efe65582738c34097e68781ec9e7689f5a04.zip
Bug #225879, fix infinite looping during usb_bulk operations.
Package-Manager: portage-2.2_rc1/cvs/Linux 2.6.26-rc4-00103-g1beee8d x86_64
Diffstat (limited to 'dev-libs/libusb')
-rw-r--r--dev-libs/libusb/ChangeLog8
-rw-r--r--dev-libs/libusb/Manifest4
-rw-r--r--dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch24
-rw-r--r--dev-libs/libusb/libusb-0.1.12-r4.ebuild69
4 files changed, 103 insertions, 2 deletions
diff --git a/dev-libs/libusb/ChangeLog b/dev-libs/libusb/ChangeLog
index 02611dc151f4..9c615f94a58a 100644
--- a/dev-libs/libusb/ChangeLog
+++ b/dev-libs/libusb/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/libusb
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libusb/ChangeLog,v 1.80 2008/06/07 00:59:04 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libusb/ChangeLog,v 1.81 2008/06/25 03:25:44 robbat2 Exp $
+
+*libusb-0.1.12-r4 (25 Jun 2008)
+
+ 25 Jun 2008; Robin H. Johnson <robbat2@gentoo.org>
+ +files/libusb-0.1.12-no-infinite-bulk.patch, +libusb-0.1.12-r4.ebuild:
+ Bug #225879, fix infinite looping during usb_bulk operations.
*libusb-0.1.12-r3 (07 Jun 2008)
diff --git a/dev-libs/libusb/Manifest b/dev-libs/libusb/Manifest
index 4bb5c254f571..720715a15708 100644
--- a/dev-libs/libusb/Manifest
+++ b/dev-libs/libusb/Manifest
@@ -1,4 +1,5 @@
AUX 0.1.12-fbsd.patch 2477 RMD160 aa92a57100c98cf1ef900d1f27685a33a9c3fc91 SHA1 75dbab5891a5753463661806e89263f13e8653b3 SHA256 21ef0d24c6f64d5aaa50e358a342071d120154425d7d034c1f4efae9f8efc24d
+AUX libusb-0.1.12-no-infinite-bulk.patch 807 RMD160 bba6194bb6cc9c0008791684c325c599ea6a2415 SHA1 92b97b247baa0e548f1909addf69bb159534a991 SHA256 141b8a6f6e4cef3b9e08377cb1d79cb9398f2437894d368d0eca8f1c07848db7
AUX libusb-0.1.12-nocpp.patch 572 RMD160 cdceb6a5550a6371401046fb26a9ccc67e4a3d5d SHA1 c55022ae4965b469949329cd6839707790a44ec4 SHA256 6a9833ea9238b9df0f6a359c3d84f829bdf83e26dedb31ce9d614f9c6cda3ab0
DIST libusb-0.1.11.tar.gz 377187 RMD160 326af5a58143a9bab9e5f3190fd3c70f19c8d061 SHA1 59e043bb92f8eb17a1172d01e365b0e042654356 SHA256 8d73f0d7074fc43e1003068668cbabf120ed8148db7b3d4ee54b25fd645923e4
DIST libusb-0.1.12.tar.gz 389343 RMD160 63848df717e00fff67ab30ba86a85466370d4e8e SHA1 599a5168590f66bc6f1f9a299579fd8500614807 SHA256 37f6f7d9de74196eb5fc0bbe0aea9b5c939de7f500acba3af6fd643f3b538b44
@@ -6,6 +7,7 @@ EBUILD libusb-0.1.11.ebuild 1057 RMD160 422a10490c31d9448983f0c517223175f69f2a39
EBUILD libusb-0.1.12-r1.ebuild 1785 RMD160 b9c6c17a3e419437b54ff83fa22f98701836202b SHA1 09333cbea1aabd7728a6522473b55ce235aa1842 SHA256 e94ebdab3175dc192296c83258ce1ee1cae57a624b37447a35d04218d3a9fdb0
EBUILD libusb-0.1.12-r2.ebuild 1844 RMD160 2a74195021a8afbabc431329cc42ce5822f6d6fd SHA1 1e071a0ea3079325b4fb0efddfbd8c270b9607c8 SHA256 f6330908600b012827e3d5ee939e37cbe0bff480f287e7b426d92f983e105d86
EBUILD libusb-0.1.12-r3.ebuild 1935 RMD160 2f656c60618e6e8552aa9f81414497ff4abd348a SHA1 1b21f53ce7d43baa72953ec7bc59ee1f06e8c748 SHA256 fc7569f32dcbc088b2eb650721b18a24351c9567746da66e483df51c17cf7cf0
+EBUILD libusb-0.1.12-r4.ebuild 1992 RMD160 55400ceae7b580cef23f6ccffa54bb90f75fe998 SHA1 8174727e918aba83315333af3587221601a1b271 SHA256 fc58f107d6eb127d50b9b492953939598ecfc787860178836c5ac75e7a72ddb9
EBUILD libusb-0.1.12.ebuild 1479 RMD160 2f7eab3f81707b1ec795bd5ef52d930e3b9ddaef SHA1 d75b22c0bbbdaae4af7650ce746a37fc0e5f927f SHA256 628c8e0c045ff8df28b90c5182bda251e28a49c858de4d8ca77f4d383809f734
-MISC ChangeLog 9882 RMD160 e557df0797e0290249cd1e4c0d58152448e2978d SHA1 a2e62962880fd01f5cd3e58b54e91adda89217e0 SHA256 f23425bf8770743a54182dee52e806bfb59fc47f76e14db8874ebd881359f8a1
+MISC ChangeLog 10106 RMD160 2d3aca5f43470b6fa43ca46de2202cf6b2ee701f SHA1 e2bd8f2d9340b40125225f231869f1d618f5bff2 SHA256 f6fd6576f77c62d8b4b7055071f7a544793353ba5c3c1a60ea7feadb1706ee0b
MISC metadata.xml 226 RMD160 648b1f4c4f30d91596a8bb5ee6713abbe558d1ee SHA1 454eb537623437bf8d58ae3cd0418e6a898bac61 SHA256 32bd7ea3d52eaade1cad03a261cd0f75ae3b0d10787fe646ece11c752b1cdfd2
diff --git a/dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch b/dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch
new file mode 100644
index 000000000000..563397d2fea3
--- /dev/null
+++ b/dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch
@@ -0,0 +1,24 @@
+Patch-from: http://bugs.gentoo.org/show_bug.cgi?id=225879
+Gentoo-Bug: 225879
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+Prevents an infinite loop if device is removed during usb_bulk_read or
+usb_bulk_write.
+
+diff -Naur libusb-0.1.12/linux.c libusb-0.1.12-new/linux.c
+--- libusb-0.1.12/linux.c 2006-03-04 04:52:46.000000000 +0200
++++ libusb-0.1.12-new/linux.c 2008-06-11 14:22:20.000000000 +0300
+@@ -220,6 +220,13 @@
+ waiting = 1;
+ context = NULL;
+ while (!urb.usercontext && ((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) {
++ if (ret == -1)
++ {
++ if (errno == ENODEV)
++ {
++ return -ENODEV;
++ }
++ }
+ tv.tv_sec = 0;
+ tv.tv_usec = 1000; // 1 msec
+ select(dev->fd + 1, NULL, &writefds, NULL, &tv); //sub second wait
diff --git a/dev-libs/libusb/libusb-0.1.12-r4.ebuild b/dev-libs/libusb/libusb-0.1.12-r4.ebuild
new file mode 100644
index 000000000000..e48b88a2f102
--- /dev/null
+++ b/dev-libs/libusb/libusb-0.1.12-r4.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libusb/libusb-0.1.12-r4.ebuild,v 1.1 2008/06/25 03:25:44 robbat2 Exp $
+
+WANT_AUTOMAKE="latest"
+WANT_AUTOCONF="latest"
+inherit eutils libtool autotools toolchain-funcs
+
+DESCRIPTION="Userspace access to USB devices"
+HOMEPAGE="http://libusb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/libusb/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug doc nocxx"
+RESTRICT="test"
+
+RDEPEND=""
+DEPEND="doc? ( app-text/openjade
+ app-text/docbook-dsssl-stylesheets
+ app-text/docbook-sgml-utils
+ ~app-text/docbook-sgml-dtd-4.2 )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i -e 's:-Werror::' Makefile.am
+ sed -i 's:AC_LANG_CPLUSPLUS:AC_PROG_CXX:' configure.in #213800
+ epatch "${FILESDIR}"/${PV}-fbsd.patch
+ use nocxx && epatch "${FILESDIR}"/${PN}-0.1.12-nocpp.patch
+ epatch "${FILESDIR}"/${PN}-0.1.12-no-infinite-bulk.patch
+ eautoreconf
+ elibtoolize
+
+ # Ensure that the documentation actually finds the DTD it needs
+ docbookdtd="/usr/share/sgml/docbook/sgml-dtd-4.2/docbook.dtd"
+ sysid='"-//OASIS//DTD DocBook V4.2//EN"'
+ sed -r -i -e \
+ "s,(${sysid}) \[\$,\1 \"${docbookdtd}\" \[,g" \
+ "${S}"/doc/manual.sgml
+}
+
+src_compile() {
+ econf \
+ $(use_enable debug debug all) \
+ $(use_enable doc build-docs) \
+ --libdir /usr/$(get_libdir) \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install || die "make install failed"
+
+ dodir /$(get_libdir)
+ mv "${D}"/usr/$(get_libdir)/*.so* "${D}"/$(get_libdir) \
+ || die "Failed to put dynamic libs in /$(get_libdir)"
+
+ use nocxx && rm -f "${D}"/usr/include/usbpp.h
+
+ gen_usr_ldscript libusb.so
+ use nocxx || gen_usr_ldscript libusbpp.so
+
+ dodoc AUTHORS NEWS README || die "dodoc failed"
+ if use doc ; then
+ dohtml doc/html/*.html || die "dohtml failed"
+ fi
+}