Hello community,
here is the log from the commit of package libusb-1_0 for openSUSE:Factory
checked in at Wed Jul 8 20:38:51 CEST 2009.
--------
--- libusb-1_0/libusb-1_0.changes 2009-05-20 15:09:52.000000000 +0200
+++ libusb-1_0/libusb-1_0.changes 2009-06-29 16:05:42.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Jun 29 15:52:54 CEST 2009 - sbrabec@suse.cz
+
+- Updated to version 1.0.2:
+ * Bug fixes, see ChangeLog.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
libusb-1.0.1.tar.bz2
New:
----
libusb-1.0.2.tar.bz2
libusb-1_0-autotools.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libusb-1_0.spec ++++++
--- /var/tmp/diff_new_pack.JhB4Jz/_old 2009-07-08 20:34:59.000000000 +0200
+++ /var/tmp/diff_new_pack.JhB4Jz/_new 2009-07-08 20:34:59.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libusb-1_0 (Version 1.0.1)
+# spec file for package libusb-1_0 (Version 1.0.2)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -24,9 +24,11 @@
License: LGPL v2.1 or later
Summary: USB Library
Group: System/Libraries
-Version: 1.0.1
+Version: 1.0.2
Release: 1
Source: %{_name}-%{version}.tar.bz2
+# PATCH-FIX-UPSTREAM libusb-compat-autotools.patch https://sourceforge.net/tracker/?func=detail&aid=2813990&group_id=1674&atid=301674 sbrabec@suse.cz -- Build with the latest autotools.
+Patch: libusb-1_0-autotools.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define debug_package_requires libusb-1_0-0 = %{version}-%{release}
@@ -85,6 +87,7 @@
%prep
%setup -q -n %{_name}-%{version}
+%patch -p1
%build
autoreconf -f -i
@@ -113,108 +116,3 @@
%{_libdir}/pkgconfig/*.pc
%changelog
-* Wed May 20 2009 sbrabec@suse.cz
-- Updated to version 1.0.1:
- * Bug fixes
- * Darwin backend
-* Thu Apr 09 2009 sbrabec@suse.cz
-- Updated to version 1.0.0, the new official stable branch:
- * Bug fixes
- * Add libusb_attach_kernel_driver()
-* Thu Feb 05 2009 crrodriguez@suse.de
-- remove "la" files
-* Mon Oct 06 2008 sbrabec@suse.cz
-- Added baselibs.conf (bnc#432304).
-* Wed Sep 24 2008 ro@suse.de
-- fix debug package requires
-* Wed Sep 10 2008 sbrabec@suse.cz
-- Updated to version 0.9.3:
- * New branch, new API.
- * Introduced contexts to the API.
- * Compatible with new Linux kernel features.
- * Isochronous endpoint I/O
- * Asynchronous I/O with per-URB style callbacks
- * Zero threads (lightweight, uses main thread of calling
- application)
- * Exposure of poll fds to applications for good mainloop
- integration
-* Fri Sep 05 2008 sbrabec@suse.cz
-- Split according to shared library policy.
-- Disabled static library.
-* Wed May 07 2008 schwab@suse.de
-- Fix configure script.
-* Thu Apr 10 2008 ro@suse.de
-- added baselibs.conf file to build xxbit packages
- for multilib support
-* Wed May 23 2007 meissner@suse.de
-- libusb main package no longer should provide libusb-devel.
-- run ldconfig in %%post/%%postun
-* Tue May 22 2007 olh@suse.de
-- split libusb-devel package (#203989)
-* Tue Apr 17 2007 sbrabec@suse.cz
-- Provide libusb-devel.
-* Sun Mar 05 2006 olh@suse.de
-- update to 0.1.12
- endian fixes, memory leaks fixed
-* Wed Jan 25 2006 mls@suse.de
-- converted neededforbuild to BuildRequires
-* Sat Jan 21 2006 olh@suse.de
-- update to 0.1.11
- pkgconfig support
- Workaround regression in 0.1.10 with multi-threaded applications
-* Fri Dec 09 2005 olh@suse.de
-- remove resmgr patch
-* Wed Nov 16 2005 lnussel@suse.de
-- prefer /dev/bus/usb over /proc/bus/usb
-- disable resmgr patch, not needed for /dev/bus/usb anymore
-* Wed Aug 10 2005 olh@suse.de
-- add patch from Kay Sievers to look also into /dev/bus/usb
-* Tue May 31 2005 olh@suse.de
-- add libusb-libusb_la-dep.patch to allow make -j
-* Fri May 27 2005 olh@suse.de
-- update to 0.1.10a
-* Thu May 26 2005 olh@suse.de
-- fix compile warnings
-- build as user
-- split our resmgr patch
-* Sat Mar 19 2005 meissner@suse.de
-- fixed a filedescriptor leak. #73967
-* Sat Feb 21 2004 meissner@suse.de
-- upgraded to 0.1.8 final.
-* Thu Feb 05 2004 lnussel@suse.de
-- add -lresmgr to output of libusb-config
-* Mon Aug 25 2003 adrian@suse.de
-- do not provide usb anymore, it is not needed for an update
- and breaks rpm4 update concept
-* Tue Jul 22 2003 meissner@suse.de
-- Upgraded to 0.1.8beta (finally supports USB interrupt
- tranfers).
-- Forward ported resmgr patch.
-* Wed May 14 2003 meissner@suse.de
-- added libusb.la.
-* Wed Mar 05 2003 meissner@suse.de
-- the resmgr device finder part was adding all devices
- to all USB busses, leading to confusion later on. Check
- for correct busnumber.
-* Mon Nov 18 2002 schwab@suse.de
-- Fix use of AC_DIVERT_PUSH.
-* Mon Nov 11 2002 okir@suse.de
-- allow opening USB devices via the resource manager
-* Tue Oct 15 2002 freitag@suse.de
-- updated to 0.1.6a stable release to support more scanners
-* Thu Feb 07 2002 meissner@suse.de
-- updated to 0.1.5 stable release
-* Mon Jan 21 2002 meissner@suse.de
-- updated to latest CVS snapshot, so I can build gphoto2.
-- use buildroot
-* Sat Nov 03 2001 ro@suse.de
-- call automake with "-a -f"
-* Mon Sep 03 2001 ro@suse.de
-- removed Obsoletes and Provides usbutils (package reanimated)
-* Fri May 25 2001 adrian@suse.de
-- update to libusb-0.1.3b
-- rename package from usbutils to libusb
-* Tue Dec 05 2000 schwab@suse.de
-- Add %%suse_update_config.
-* Thu Nov 30 2000 olaf@suse.de
-- add usbutils 0.7 to SuSE dist, will replace the usb.rpm
++++++ libusb-1.0.1.tar.bz2 -> libusb-1.0.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/AUTHORS new/libusb-1.0.2/AUTHORS
--- old/libusb-1.0.1/AUTHORS 2009-02-17 01:40:40.000000000 +0100
+++ new/libusb-1.0.2/AUTHORS 2009-05-28 22:06:19.000000000 +0200
@@ -3,11 +3,15 @@
Copyright (C) 2008-2009 Nathan Hjelm
Other contributors:
+Alex Vatchenko
Artem Egorkine
Aurelien Jarno
Bastien Nocera
David Engraf
+David Moore
Felipe Balbi
+Hans Ulrich Niedermann
+Mikhail Gusarov
Rob Walker
Vasily Khoruzhick
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/ChangeLog new/libusb-1.0.2/ChangeLog
--- old/libusb-1.0.1/ChangeLog 2009-05-13 01:08:18.000000000 +0200
+++ new/libusb-1.0.2/ChangeLog 2009-06-13 18:19:28.000000000 +0200
@@ -1,3 +1,84 @@
+commit 8be256082eb9bd8e243d89529f742926bb29a21b
+Author: Daniel Drake
+Date: Sat Jun 13 17:19:07 2009 +0100
+
+ v1.0.2 release
+
+commit 060e006e663fd59c281be29b71eb197e02b210e8
+Author: Daniel Drake
+Date: Wed Jun 10 21:42:05 2009 +0100
+
+ Linux: fix config descriptor parsing on big-endian systems
+
+ Multi-byte fields in the configuration descriptors that come back from
+ usbfs are always in bus endian format.
+
+ Thanks to Joe Jezak for help investigating and fixing this.
+
+commit c4a905022f684da9a4a853eb9232a81a53df2652
+Author: Nathan Hjelm
+Date: Sun Jun 7 22:29:35 2009 +0100
+
+ Darwin: improve handling of disconnected devices
+
+commit 6b69f54451762ef590b9c938ab000c07cf9099a3
+Author: Nathan Hjelm
+Date: Sun Jun 7 22:26:37 2009 +0100
+
+ Darwin: fix parsing of config descriptors
+
+ This was a confusion between configuration numbers and zero-based
+ configuration indexes.
+
+commit 2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b
+Author: Daniel Drake
+Date: Sun Jun 7 22:19:53 2009 +0100
+
+ Eliminate -Wsign-compare compiler warnings
+
+ This was due to an API inconsistency which can be safely worked around.
+ Hopefully we'll remember to fix the API next time we come to break
+ things.
+
+commit cad5cb55c37137e94e35c74fdabfe42a5cbd229b
+Author: David Moore
+Date: Wed May 27 23:15:54 2009 -0700
+
+ Make synchronous transfer APIs robust against signal interruption
+
+ libusb_control_transfer and libusb_bulk_transfer are designed to be
+ synchronous such that control is not returned until the transfer
+ definitively succeeds or fails. That assumption is violated if a signal
+ interrupts these functions because there is no way for the application
+ to continue waiting for the transfer without resubmitting it. This
+ patch changes these synchronous APIs so they do not abort in the case of
+ a signal interruption.
+
+ Signed-off-by: David Moore
+
+commit b501795985a23109f176d296e7b544b4c6354528
+Author: Alex Vatchenko
+Date: Thu May 28 15:58:50 2009 -0400
+
+ pre-gcc-3.4 compatibility
+
+ The -fvisibility and -Wno-pointer-sign options are not available on
+ old GCC versions.
+
+commit 00bb2805e994887f0a754a825c3ce03d22393386
+Author: Daniel Drake
+Date: Tue May 26 15:53:26 2009 -0400
+
+ Fix memory leak in config descriptor parsing
+
+ Pointed out by Martin Koegler.
+
+commit 068ff5b8a83fec0a9a91c80535a25b89a9ae64e8
+Author: Daniel Drake
+Date: Tue May 12 19:20:51 2009 -0400
+
+ Update AUTHORS
+
commit aa24c04e4043e39674b59ff0d302b2365cd0078f
Author: Daniel Drake
Date: Tue May 12 19:03:37 2009 -0400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/Makefile.am new/libusb-1.0.2/Makefile.am
--- old/libusb-1.0.1/Makefile.am 2009-05-13 01:02:08.000000000 +0200
+++ new/libusb-1.0.2/Makefile.am 2009-06-13 18:18:04.000000000 +0200
@@ -1,4 +1,5 @@
AUTOMAKE_OPTIONS = dist-bzip2
+ACLOCAL_AMFLAGS = -I m4
DISTCLEANFILES = ChangeLog libusb-1.0.pc
EXTRA_DIST = TODO PORTING BUGS
SUBDIRS = libusb doc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/Makefile.in new/libusb-1.0.2/Makefile.in
--- old/libusb-1.0.1/Makefile.in 2009-05-13 01:03:55.000000000 +0200
+++ new/libusb-1.0.2/Makefile.in 2009-06-13 18:18:14.000000000 +0200
@@ -144,6 +144,7 @@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -200,6 +201,7 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = dist-bzip2
+ACLOCAL_AMFLAGS = -I m4
DISTCLEANFILES = ChangeLog libusb-1.0.pc
EXTRA_DIST = TODO PORTING BUGS
SUBDIRS = libusb doc $(am__append_1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/NEWS new/libusb-1.0.2/NEWS
--- old/libusb-1.0.1/NEWS 2009-05-13 01:03:25.000000000 +0200
+++ new/libusb-1.0.2/NEWS 2009-06-13 18:17:16.000000000 +0200
@@ -1,6 +1,9 @@
This file lists notable changes in each release. For the full history of all
changes, see ChangeLog.
+2009-06-13: v1.0.2 release
+ * Bug fixes
+
2009-05-12: v1.0.1 release
* Bug fixes
* Darwin backend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/configure new/libusb-1.0.2/configure
--- old/libusb-1.0.1/configure 2009-05-13 01:03:54.000000000 +0200
+++ new/libusb-1.0.2/configure 2009-06-13 18:18:13.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for libusb 1.0.1.
+# Generated by GNU Autoconf 2.63 for libusb 1.0.2.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@
# Identity of this package.
PACKAGE_NAME='libusb'
PACKAGE_TARNAME='libusb'
-PACKAGE_VERSION='1.0.1'
-PACKAGE_STRING='libusb 1.0.1'
+PACKAGE_VERSION='1.0.2'
+PACKAGE_STRING='libusb 1.0.2'
PACKAGE_BUGREPORT=''
ac_unique_file="libusb/core.c"
@@ -788,6 +788,7 @@
LIBOBJS
AM_LDFLAGS
AM_CFLAGS
+VISIBILITY_CFLAGS
BUILD_EXAMPLES_FALSE
BUILD_EXAMPLES_TRUE
lt_age
@@ -1478,7 +1479,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libusb 1.0.1 to adapt to many kinds of systems.
+\`configure' configures libusb 1.0.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1548,7 +1549,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libusb 1.0.1:";;
+ short | recursive ) echo "Configuration of libusb 1.0.2:";;
esac
cat <<\_ACEOF
@@ -1649,7 +1650,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libusb configure 1.0.1
+libusb configure 1.0.2
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1663,7 +1664,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libusb $as_me 1.0.1, which was
+It was created by libusb $as_me 1.0.2, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2379,7 +2380,7 @@
# Define the identity of the package.
PACKAGE='libusb'
- VERSION='1.0.1'
+ VERSION='1.0.2'
cat >>confdefs.h <<_ACEOF
@@ -2522,6 +2523,7 @@
+
ac_config_headers="$ac_config_headers config.h"
@@ -4331,13 +4333,13 @@
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:4334: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:4336: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:4337: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:4339: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:4340: output\"" >&5)
+ (eval echo "\"\$as_me:4342: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -5543,7 +5545,7 @@
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5546 "configure"' > conftest.$ac_ext
+ echo '#line 5548 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7396,11 +7398,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7399: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7401: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7403: \$? = $ac_status" >&5
+ echo "$as_me:7405: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7735,11 +7737,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7738: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7740: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7742: \$? = $ac_status" >&5
+ echo "$as_me:7744: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -7840,11 +7842,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7843: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7845: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7847: \$? = $ac_status" >&5
+ echo "$as_me:7849: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -7895,11 +7897,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7898: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7900: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:7902: \$? = $ac_status" >&5
+ echo "$as_me:7904: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -10708,7 +10710,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 10711 "configure"
+#line 10713 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10804,7 +10806,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 10807 "configure"
+#line 10809 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11467,12 +11469,112 @@
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$saved_cflags"
+# check for -fvisibility=hidden compiler support (GCC >= 3.4)
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -fvisibility=hidden"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ VISIBILITY_CFLAGS="-fvisibility=hidden"
cat >>confdefs.h <<\_ACEOF
#define API_EXPORTED __attribute__((visibility("default")))
_ACEOF
-AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ VISIBILITY_CFLAGS=""
+
+cat >>confdefs.h <<\_ACEOF
+#define API_EXPORTED /**/
+_ACEOF
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$saved_cflags"
+
+# check for -Wno-pointer-sign compiler support (GCC >= 4)
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -Wno-pointer-sign"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ nopointersign_cflags="-Wno-pointer-sign"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ nopointersign_cflags=""
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="$saved_cflags"
+
+AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration $nopointersign_cflags -Wshadow"
+
@@ -11933,7 +12035,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libusb $as_me 1.0.1, which was
+This file was extended by libusb $as_me 1.0.2, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -11996,7 +12098,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-libusb config.status 1.0.1
+libusb config.status 1.0.2
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/configure.ac new/libusb-1.0.2/configure.ac
--- old/libusb-1.0.1/configure.ac 2009-05-13 01:03:31.000000000 +0200
+++ new/libusb-1.0.2/configure.ac 2009-06-13 18:17:53.000000000 +0200
@@ -1,6 +1,7 @@
-AC_INIT([libusb], [1.0.1])
+AC_INIT([libusb], [1.0.2])
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([libusb/core.c])
+AC_CONFIG_MACRO_DIR([m4])
AM_CONFIG_HEADER([config.h])
AC_PREREQ([2.50])
@@ -71,9 +72,27 @@
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]), inline_cflags="-fgnu89-inline", inline_cflags="")
CFLAGS="$saved_cflags"
-AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility])
-AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow"
+# check for -fvisibility=hidden compiler support (GCC >= 3.4)
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -fvisibility=hidden"
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
+ [VISIBILITY_CFLAGS="-fvisibility=hidden"
+ AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility]) ],
+ [ VISIBILITY_CFLAGS=""
+ AC_DEFINE([API_EXPORTED], [], [Default visibility]) ],
+ ])
+CFLAGS="$saved_cflags"
+
+# check for -Wno-pointer-sign compiler support (GCC >= 4)
+saved_cflags="$CFLAGS"
+CFLAGS="$CFLAGS -Wno-pointer-sign"
+AC_COMPILE_IFELSE(AC_LANG_PROGRAM([]),
+ nopointersign_cflags="-Wno-pointer-sign", nopointersign_cflags="")
+CFLAGS="$saved_cflags"
+
+AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration $nopointersign_cflags -Wshadow"
+AC_SUBST(VISIBILITY_CFLAGS)
AC_SUBST(AM_CFLAGS)
AC_SUBST(AM_LDFLAGS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/doc/Makefile.in new/libusb-1.0.2/doc/Makefile.in
--- old/libusb-1.0.1/doc/Makefile.in 2009-05-13 01:03:55.000000000 +0200
+++ new/libusb-1.0.2/doc/Makefile.in 2009-06-13 18:18:14.000000000 +0200
@@ -106,6 +106,7 @@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/examples/Makefile.in new/libusb-1.0.2/examples/Makefile.in
--- old/libusb-1.0.1/examples/Makefile.in 2009-05-13 01:03:55.000000000 +0200
+++ new/libusb-1.0.2/examples/Makefile.in 2009-06-13 18:18:14.000000000 +0200
@@ -135,6 +135,7 @@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/Makefile.am new/libusb-1.0.2/libusb/Makefile.am
--- old/libusb-1.0.1/libusb/Makefile.am 2009-02-17 01:38:22.000000000 +0100
+++ new/libusb-1.0.2/libusb/Makefile.am 2009-05-28 21:57:52.000000000 +0200
@@ -14,7 +14,7 @@
AM_CFLAGS_EXT = -no-cpp-precomp
endif
-libusb_1_0_la_CFLAGS = -fvisibility=hidden $(AM_CFLAGS) -pthread
+libusb_1_0_la_CFLAGS = $(VISIBILITY_CFLAGS) $(AM_CFLAGS) -pthread
libusb_1_0_la_SOURCES = libusbi.h core.c descriptor.c io.c sync.c $(OS_SRC)
hdrdir = $(includedir)/libusb-1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/Makefile.in new/libusb-1.0.2/libusb/Makefile.in
--- old/libusb-1.0.1/libusb/Makefile.in 2009-05-13 01:03:55.000000000 +0200
+++ new/libusb-1.0.2/libusb/Makefile.in 2009-06-13 18:18:14.000000000 +0200
@@ -148,6 +148,7 @@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
+VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -210,7 +211,7 @@
@OS_DARWIN_TRUE@OS_SRC = $(DARWIN_USB_SRC)
@OS_LINUX_TRUE@OS_SRC = $(LINUX_USBFS_SRC)
@OS_DARWIN_TRUE@AM_CFLAGS_EXT = -no-cpp-precomp
-libusb_1_0_la_CFLAGS = -fvisibility=hidden $(AM_CFLAGS) -pthread
+libusb_1_0_la_CFLAGS = $(VISIBILITY_CFLAGS) $(AM_CFLAGS) -pthread
libusb_1_0_la_SOURCES = libusbi.h core.c descriptor.c io.c sync.c $(OS_SRC)
hdrdir = $(includedir)/libusb-1.0
hdr_HEADERS = libusb.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/descriptor.c new/libusb-1.0.2/libusb/descriptor.c
--- old/libusb-1.0.1/libusb/descriptor.c 2009-02-17 01:20:20.000000000 +0100
+++ new/libusb-1.0.2/libusb/descriptor.c 2009-06-10 22:39:07.000000000 +0200
@@ -503,6 +503,7 @@
usbi_warn(dev->ctx, "descriptor data still left");
}
+ free(buf);
*config = _config;
return 0;
@@ -558,6 +559,7 @@
goto err;
}
+ host_endian = 0;
r = usbi_backend->get_config_descriptor(dev, config_index, buf,
_config->wTotalLength, &host_endian);
if (r < 0)
@@ -571,6 +573,7 @@
usbi_warn(dev->ctx, "descriptor data still left");
}
+ free(buf);
*config = _config;
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/libusb.h new/libusb-1.0.2/libusb/libusb.h
--- old/libusb-1.0.1/libusb/libusb.h 2009-02-17 01:30:27.000000000 +0100
+++ new/libusb-1.0.2/libusb/libusb.h 2009-06-07 23:18:19.000000000 +0200
@@ -25,6 +25,7 @@
#include
#include
#include
+#include
#ifdef __cplusplus
extern "C" {
@@ -1053,11 +1054,19 @@
{
int i;
size_t offset = 0;
+ int _packet;
- if (packet >= transfer->num_iso_packets)
+ /* oops..slight bug in the API. packet is an unsigned int, but we use
+ * signed integers almost everywhere else. range-check and convert to
+ * signed to avoid compiler warnings. FIXME for libusb-2. */
+ if (packet > INT_MAX)
return NULL;
+ _packet = packet;
- for (i = 0; i < packet; i++)
+ if (_packet >= transfer->num_iso_packets)
+ return NULL;
+
+ for (i = 0; i < _packet; i++)
offset += transfer->iso_packet_desc[i].length;
return transfer->buffer + offset;
@@ -1085,10 +1094,19 @@
static inline unsigned char *libusb_get_iso_packet_buffer_simple(
struct libusb_transfer *transfer, unsigned int packet)
{
- if (packet >= transfer->num_iso_packets)
+ int _packet;
+
+ /* oops..slight bug in the API. packet is an unsigned int, but we use
+ * signed integers almost everywhere else. range-check and convert to
+ * signed to avoid compiler warnings. FIXME for libusb-2. */
+ if (packet > INT_MAX)
+ return NULL;
+ _packet = packet;
+
+ if (_packet >= transfer->num_iso_packets)
return NULL;
- return transfer->buffer + (transfer->iso_packet_desc[0].length * packet);
+ return transfer->buffer + (transfer->iso_packet_desc[0].length * _packet);
}
/* sync I/O */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/os/darwin_usb.c new/libusb-1.0.2/libusb/os/darwin_usb.c
--- old/libusb-1.0.1/libusb/os/darwin_usb.c 2009-03-23 02:13:15.000000000 +0100
+++ new/libusb-1.0.2/libusb/os/darwin_usb.c 2009-06-07 23:31:37.000000000 +0200
@@ -225,22 +225,22 @@
CFRelease (locationCF);
IOObjectRelease (device);
+ pthread_mutex_lock(&ctx->open_devs_lock);
list_for_each_entry(handle, &ctx->open_devs, list) {
dpriv = (struct darwin_device_priv *)handle->dev->os_priv;
if (dpriv->location == location)
break;
}
- if (handle) {
+ if (handle && handle->os_priv) {
priv = (struct darwin_device_handle_priv *)handle->os_priv;
message = MESSAGE_DEVICE_GONE;
write (priv->fds[1], &message, sizeof (message));
-
- CFRunLoopRemoveSource (libusb_darwin_acfl, priv->cfSource, kCFRunLoopDefaultMode);
- CFRelease (priv->cfSource);
- priv->cfSource = NULL;
}
+
+ pthread_mutex_unlock(&ctx->open_devs_lock);
+
}
}
@@ -262,6 +262,8 @@
_usbi_log (ctx, LOG_LEVEL_INFO, "creating hotplug event source");
+ CFRetain (CFRunLoopGetCurrent ());
+
/* add the notification port to the run loop */
libusb_notification_port = IONotificationPortCreate (libusb_darwin_mp);
libusb_notification_cfsource = IONotificationPortGetRunLoopSource (libusb_notification_port);
@@ -295,7 +297,9 @@
/* delete notification port */
CFRunLoopSourceInvalidate (libusb_notification_cfsource);
IONotificationPortDestroy (libusb_notification_port);
-
+
+ CFRelease (CFRunLoopGetCurrent ());
+
libusb_darwin_acfl = NULL;
pthread_exit (0);
@@ -344,23 +348,50 @@
return 0;
}
+static int get_configuration_index (struct libusb_device *dev, int config_value) {
+ struct darwin_device_priv *priv = (struct darwin_device_priv *)dev->os_priv;
+ UInt8 i, numConfig;
+ IOUSBConfigurationDescriptorPtr desc;
+ IOReturn kresult;
+
+ /* is there a simpler way to determine the index? */
+ kresult = (*(priv->device))->GetNumberOfConfigurations (priv->device, &numConfig);
+ if (kresult != kIOReturnSuccess)
+ return darwin_to_libusb (kresult);
+
+ for (i = 0 ; i < numConfig ; i++) {
+ (*(priv->device))->GetConfigurationDescriptorPtr (priv->device, i, &desc);
+
+ if (libusb_le16_to_cpu (desc->bConfigurationValue) == config_value)
+ return i;
+ }
+
+ /* configuration not found */
+ return LIBUSB_ERROR_OTHER;
+}
+
static int darwin_get_active_config_descriptor(struct libusb_device *dev, unsigned char *buffer, size_t len, int *host_endian) {
struct darwin_device_priv *priv = (struct darwin_device_priv *)dev->os_priv;
- UInt8 configNum;
+ UInt8 config_value;
+ int config_index;
IOReturn kresult;
- kresult = (*(priv->device))->GetConfiguration (priv->device, &configNum);
+ kresult = (*(priv->device))->GetConfiguration (priv->device, &config_value);
if (kresult != kIOReturnSuccess)
return darwin_to_libusb (kresult);
- return darwin_get_config_descriptor (dev, configNum, buffer, len, host_endian);
+ config_index = get_configuration_index (dev, config_value);
+ if (config_index < 0)
+ return config_index;
+
+ return darwin_get_config_descriptor (dev, config_index, buffer, len, host_endian);
}
static int darwin_get_config_descriptor(struct libusb_device *dev, uint8_t config_index, unsigned char *buffer, size_t len, int *host_endian) {
struct darwin_device_priv *priv = (struct darwin_device_priv *)dev->os_priv;
IOUSBConfigurationDescriptorPtr desc;
IOReturn kresult;
- usb_device_t **device;
+ usb_device_t **device = NULL;
if (!priv)
return LIBUSB_ERROR_OTHER;
@@ -369,6 +400,7 @@
kresult = darwin_get_device (priv->location, &device);
if (kresult || !device) {
_usbi_log (DEVICE_CTX (dev), LOG_LEVEL_ERROR, "could not find device: %s", darwin_error_str (kresult));
+
return darwin_to_libusb (kresult);
}
@@ -377,22 +409,21 @@
device = priv->device;
kresult = (*device)->GetConfigurationDescriptorPtr (device, config_index, &desc);
- if (kresult != kIOReturnSuccess)
- return darwin_to_libusb (kresult);
-
- if (!priv->device)
- (*device)->Release (device);
+ if (kresult == kIOReturnSuccess) {
+ /* copy descriptor */
+ if (libusb_le16_to_cpu(desc->wTotalLength) < len)
+ len = libusb_le16_to_cpu(desc->wTotalLength);
- /* copy descriptor */
- if (libusb_le16_to_cpu(desc->wTotalLength) < len)
- len = libusb_le16_to_cpu(desc->wTotalLength);
+ memmove (buffer, desc, len);
- memmove (buffer, desc, len);
+ /* GetConfigurationDescriptorPtr returns the descriptor in USB bus order */
+ *host_endian = 0;
+ }
- /* GetConfigurationDescriptorPtr returns the descriptor in USB bus order */
- *host_endian = 0;
+ if (!priv->device)
+ (*device)->Release (device);
- return 0;
+ return darwin_to_libusb (kresult);
}
static int process_new_device (struct libusb_context *ctx, usb_device_t **device, UInt32 locationID, struct discovered_devs **_discdevs) {
@@ -434,10 +465,10 @@
ret = (*(device))->DeviceRequest (device, &req);
if (ret != kIOReturnSuccess) {
int try_unsuspend = 1;
+#if DeviceVersion >= 320
UInt32 info;
/* device may be suspended. unsuspend it and try again */
-#if DeviceVersion >= 320
/* IOUSBFamily 320+ provides a way to detect device suspension but earlier versions do not */
(void)(*device)->GetUSBDeviceInformation (device, &info);
@@ -804,9 +835,18 @@
/* get an interface to the device's interface */
kresult = IOCreatePlugInInterfaceForService (usbInterface, kIOUSBInterfaceUserClientTypeID,
kIOCFPlugInInterfaceID, &plugInInterface, &score);
- kresult = IOObjectRelease(usbInterface);
- if (kresult || !plugInInterface)
+ if (kresult) {
+ _usbi_log (HANDLE_CTX (dev_handle), LOG_LEVEL_ERROR, "IOCreatePlugInInterfaceForService: %s", darwin_error_str(kresult));
return darwin_to_libusb (kresult);
+ }
+
+ if (!plugInInterface) {
+ _usbi_log (HANDLE_CTX (dev_handle), LOG_LEVEL_ERROR, "plugin interface not found");
+ return LIBUSB_ERROR_NOT_FOUND;
+ }
+
+ /* ignore release error */
+ (void)IOObjectRelease (usbInterface);
/* Do the actual claim */
kresult = (*plugInInterface)->QueryInterface(plugInInterface,
@@ -836,11 +876,20 @@
return kresult;
}
+ cInterface->cfSource = NULL;
+
/* create async event source */
kresult = (*(cInterface->interface))->CreateInterfaceAsyncEventSource (cInterface->interface, &cInterface->cfSource);
-
- /* add the cfSource to the aync run loop */
- CFRetain (libusb_darwin_acfl);
+ if (kresult != kIOReturnSuccess) {
+ _usbi_log (HANDLE_CTX (dev_handle), LOG_LEVEL_ERROR, "could not create async event source");
+
+ /* can't continue without an async event source */
+ (void)darwin_release_interface (dev_handle, iface);
+
+ return darwin_to_libusb (kresult);
+ }
+
+ /* add the cfSource to the async thread's run loop */
CFRunLoopAddSource(libusb_darwin_acfl, cInterface->cfSource, kCFRunLoopDefaultMode);
_usbi_log (HANDLE_CTX (dev_handle), LOG_LEVEL_INFO, "interface opened");
@@ -863,8 +912,10 @@
cInterface->num_endpoints = 0;
/* delete the interface's async event source */
- CFRunLoopRemoveSource (libusb_darwin_acfl, cInterface->cfSource, kCFRunLoopDefaultMode);
- CFRelease (cInterface->cfSource);
+ if (cInterface->cfSource) {
+ CFRunLoopRemoveSource (libusb_darwin_acfl, cInterface->cfSource, kCFRunLoopDefaultMode);
+ CFRelease (cInterface->cfSource);
+ }
kresult = (*(cInterface->interface))->USBInterfaceClose(cInterface->interface);
if (kresult)
@@ -1364,20 +1415,24 @@
break;
}
- if (pollfd->revents & POLLERR) {
- usbi_remove_pollfd(HANDLE_CTX(handle), hpriv->fds[0]);
- usbi_handle_disconnect(handle);
-
- /* done with this device */
- continue;
- }
-
- ret = read (hpriv->fds[0], &message, sizeof (message));
- if (ret < sizeof (message))
- continue;
+ if (!(pollfd->revents & POLLERR)) {
+ ret = read (hpriv->fds[0], &message, sizeof (message));
+ if (ret < sizeof (message))
+ continue;
+ } else
+ /* could not poll the device-- response is to delete the device (this seems a little heavy-handed) */
+ message = MESSAGE_DEVICE_GONE;
switch (message) {
case MESSAGE_DEVICE_GONE:
+ /* remove the device's async port from the runloop */
+ if (hpriv->cfSource) {
+ if (libusb_darwin_acfl)
+ CFRunLoopRemoveSource (libusb_darwin_acfl, hpriv->cfSource, kCFRunLoopDefaultMode);
+ CFRelease (hpriv->cfSource);
+ hpriv->cfSource = NULL;
+ }
+
usbi_remove_pollfd(HANDLE_CTX(handle), hpriv->fds[0]);
usbi_handle_disconnect(handle);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/os/linux_usbfs.c new/libusb-1.0.2/libusb/os/linux_usbfs.c
--- old/libusb-1.0.1/libusb/os/linux_usbfs.c 2009-02-17 01:24:50.000000000 +0100
+++ new/libusb-1.0.2/libusb/os/linux_usbfs.c 2009-06-10 22:41:26.000000000 +0200
@@ -62,6 +62,13 @@
* included as of Linux 2.6.26.
*/
+/* endianness for multi-byte fields:
+ *
+ * Descriptors exposed by usbfs have the multi-byte fields in the device
+ * descriptor as host endian. Multi-byte fields in the other descriptors are
+ * bus-endian. The kernel documentation says otherwise, but it is wrong.
+ */
+
static const char *usbfs_path = NULL;
/* do we have a busnum to relate devices? this also implies that we can read
@@ -439,7 +446,6 @@
if (sysfs_has_descriptors) {
return sysfs_get_active_config_descriptor(dev, buffer, len);
} else {
- *host_endian = 1;
return usbfs_get_active_config_descriptor(dev, buffer, len);
}
}
@@ -504,7 +510,6 @@
r = get_config_descriptor(DEVICE_CTX(dev), fd, config_index, buffer, len);
close(fd);
- *host_endian = 1;
return r;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libusb-1.0.1/libusb/sync.c new/libusb-1.0.2/libusb/sync.c
--- old/libusb-1.0.1/libusb/sync.c 2008-06-25 05:38:28.000000000 +0200
+++ new/libusb-1.0.2/libusb/sync.c 2009-05-29 17:21:11.000000000 +0200
@@ -104,6 +104,8 @@
while (!completed) {
r = libusb_handle_events(HANDLE_CTX(dev_handle));
if (r < 0) {
+ if (r == LIBUSB_ERROR_INTERRUPTED)
+ continue;
libusb_cancel_transfer(transfer);
while (!completed)
if (libusb_handle_events(HANDLE_CTX(dev_handle)) < 0)
@@ -172,6 +174,8 @@
while (!completed) {
r = libusb_handle_events(HANDLE_CTX(dev_handle));
if (r < 0) {
+ if (r == LIBUSB_ERROR_INTERRUPTED)
+ continue;
libusb_cancel_transfer(transfer);
while (!completed)
if (libusb_handle_events(HANDLE_CTX(dev_handle)) < 0)
++++++ libusb-1_0-autotools.patch ++++++
commit 2dadb399c61d8ca2c2fbba5e59168e270c7cffae
Author: Stanislav Brabec
Date: Mon Jun 29 15:57:17 2009 +0200
Don't include non-existing m4 directory.
diff --git a/Makefile.am b/Makefile.am
index 8b90df0..c2d6f8d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,4 @@
AUTOMAKE_OPTIONS = dist-bzip2
-ACLOCAL_AMFLAGS = -I m4
DISTCLEANFILES = ChangeLog libusb-1.0.pc
EXTRA_DIST = TODO PORTING BUGS
SUBDIRS = libusb doc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org