diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2008-06-25 03:25:45 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2008-06-25 03:25:45 +0000 |
commit | 1ce1efe65582738c34097e68781ec9e7689f5a04 (patch) | |
tree | 19d3587d9aa1d976d82ca2a03a02c444245c063a /dev-libs/libusb | |
parent | Version bump per bug #226155. (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/libusb/Manifest | 4 | ||||
-rw-r--r-- | dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch | 24 | ||||
-rw-r--r-- | dev-libs/libusb/libusb-0.1.12-r4.ebuild | 69 |
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 +} |