$ diff -ru /tmp/libusb-compat-0.1.8.{orig,new} Only in /tmp/libusb-compat-0.1.8.new: aclocal.m4 Only in /tmp/libusb-compat-0.1.8.orig: autogen.sh Only in /tmp/libusb-compat-0.1.8.orig: bootstrap.sh diff -ru /tmp/libusb-compat-0.1.8.orig/ChangeLog /tmp/libusb-compat-0.1.8.new/ChangeLog --- /tmp/libusb-compat-0.1.8.orig/ChangeLog 2022-11-18 06:30:08.000000000 +0100 +++ /tmp/libusb-compat-0.1.8.new/ChangeLog 2023-10-12 13:04:25.000000000 +0200 @@ -1,602 +0,0 @@ -commit 5d71cd877fb4bb5f65a014b2b98ec692aa22dbc2 -Author: Nathan Hjelm -Date: Fri Oct 9 15:42:54 2015 -0600 - - tag the 0.1.6-rc1 release - - Signed-off-by: Nathan Hjelm - -commit e6a2d1b18ac86714b219a1ed1bcee08b169bffd9 -Author: Ray Donnelly -Date: Tue Jan 20 19:30:30 2015 +0000 - - Add -no-undefined to LDFLAGS - - As otherwise libtool won't build Win32 DLLs - - Signed-off-by: Nathan Hjelm - -commit ded6bf77758415ca56e4825036f00eb31750c3df -Author: Ray Donnelly -Date: Tue Jan 20 19:29:55 2015 +0000 - - Add some missing definitions - - Needed for Win32 - - Signed-off-by: Nathan Hjelm - -commit 2e9b6bbebb7cf1ef0095516ec6d5203deb3822e8 -Author: Nathan Hjelm -Date: Fri Oct 9 15:03:10 2015 -0600 - - Use C99 standard fixed width integer types in usb.h - - This patch modifies the integer types in usb.h of the form u_int* to the - C99 standard uint* types. - - Based on patch from Gwenhael Goavec-Merou. - - Signed-off-by: Gwenhael Goavec-Merou - Signed-off-by: Nathan Hjelm - -commit b6f5a2fe12ca19d658d7180e106254b31cf1f8f5 -Author: Stanislav Brabec -Date: Tue May 12 17:19:05 2015 +0200 - - Prevent libusb-1.0 library symbol clash - - libusb-1.0 uses functions like libusb_open. These names are generic, and - there are applications using libusb-0.1 using these names for its own - functions (e. g. scanbuttond). If such applications uses libusb-compat, - it crashes due to symbol clash. - - Such clash is easy to fix in Open Source applications, but impossible to - fix inside closed source applications. - - Dynamic linker does not allow to hide symbols from dependent library. - This could be worked around by loading this library later by dlopen() - with RTLD_LOCAL flag. - - Do this on platforms where it can be done. - - This change makes visible only libusb-0.1 symbols but not libusb-1.0 - symbols. - - (It could be theoretically possible to introduce clashes with libdl, but - it is much less probable.) - - How to reproduce: - - Take testlibusb.c from libusb-0.1.12/tests and replace print_device - by libusb_open. Without this change the application crashes. - - Reference: - https://bugzilla.opensuse.org/show_bug.cgi?id=596411 - - Signed-off-by: Stanislav Brabec - Signed-off-by: Nathan Hjelm - -commit 072a5e4ee6a2658d8f422a707115fb36f3e6f959 -Author: Nathan Hjelm -Date: Tue Feb 25 23:10:01 2014 -0700 - - Add a library destructor to handle cleaning up libusb. - - References #6 - -commit 929029867c3d42ef759e3a5f6290250ecc7ebf58 -Author: Nathan Hjelm -Date: Tue Feb 25 22:52:23 2014 -0700 - - Revert "Link with -znodelete to disallow unloading" - - -znodelete is causing problems on Darwin. We will use a library destructor - function to ensure proper cleanup. - - This reverts commit 89a55e84b390225d2ad47a300191770e95307f05. - -commit eb590b4dac00a5188b93e1d6ebdd60b06f9ab3d7 -Author: Hans de Goede -Date: Thu Feb 13 17:25:27 2014 +0100 - - Revert "use atexit() to call libusb_exit()" - - The use of atexit() breaks various users of libusb-compat, - see ie: https://bugzilla.redhat.com/show_bug.cgi?id=1003193 - - This reverts commit 0be16b8dd25733d242ae32b57823a9513ec21353. - - Closes libusbx/libusb-compat-0.1#2 - - Signed-off-by: Hans de Goede - -commit 89a55e84b390225d2ad47a300191770e95307f05 -Author: Daniel Berrange -Date: Wed Aug 14 16:00:56 2013 +0200 - - Link with -znodelete to disallow unloading - - Since libusb-0.1 did not have any init / exit function, code using the - libusb-0.1 API will not call libusb_exit. - - Now, libgphoto uses libusb and will dlopen() and dlclose() it. Unfortunately - since there is no way to ensure libusb_exit() is called, when libgphoto - dlcloses the libusb.so library, the thread from libusbx.so will not be - stopped. So a thread will remain running, executing code from a memory - region that has now been freed. Crash-tastic results ensue. - - I don't see a good way to fix this from libusb or libusbx, given the need to - preserve the existing API of libusb. - - If, however, we link libusb.so using -znodelete, we will prevent it from - ever being unloaded, despite the dlclose() calls. This is not ideal, but - better than allowing it to be unloaded which is a guaranteed crash. - - Signed-off-by: Hans de Goede - -commit 8fc7a4f671833d7142e632517d25d0015b648c3c -Author: Nathan Hjelm -Date: Thu May 23 19:11:16 2013 -0600 - - Update news for 0.1.5 - -commit cab33bcf07541d1a36e1e9d4ec75a3c080e98b2d -Author: Nathan Hjelm -Date: Mon May 20 17:34:02 2013 -0600 - - libusb-compat-0.1.5 - -commit 86dafa1443aef6fb9df50734df7b6e2240de4d9c -Author: Nathan Hjelm -Date: Mon May 20 17:33:43 2013 -0600 - - Add bootstrap.sh and do not set debug mode by default. - -commit 72dc8b5987580c73e5df14cc330cea72b0f5a827 -Author: Nathan Hjelm -Date: Mon May 20 17:32:43 2013 -0600 - - Replace the deprecated INCLUDES token with AM_CPPFLAGS in Makefile.am - -commit 70083af73554fec63fa4c13b0211b4d5ddf5a8cd -Author: Brad Smith -Date: Fri Aug 24 17:13:11 2012 -0400 - - libusb.pc.in: Add missing Requires.private: libusb-1.0 so that pkg-config adds the libusb 1.0 library and dependencies when static linking. - -commit 0be16b8dd25733d242ae32b57823a9513ec21353 -Author: Nathan Hjelm -Date: Thu Apr 4 10:53:42 2013 -0600 - - use atexit() to call libusb_exit() - - Fixes #130 - -commit f52bc041ccadbc72860fcc3409e915121f6a22ac -Author: Nathan Hjelm -Date: Thu Apr 4 10:53:01 2013 -0600 - - fix autoconf errors/warnings - - Fixes #161 - -commit b2200bea0cf009f4ca31717b588e3c78bbda4e96 -Author: Xiaofan Chen -Date: Sun May 13 19:50:38 2012 +0800 - - examples: Link only with ../libusb/libusb.la and not with -lusb - - Similar to libusb.git commit 93b0e09d53ed1d177631af9182378492481a790a - http://git.libusb.org/?p=libusb.git;a=commitdiff;h=93b0e09d53ed1d177631af918 - - Previous _LDFLAGS included both the freshly built libusb in ../libusb - and -lusb, where libtool would usually resolve the latter to an - already-installed libusb library in the system. The extra reference - to a second libusb library may cause failures to build examples - on some platforms and is wrong. - - Fixes #135. - -commit 96aed2f7963d4a55d575a701adce8e64c0ae89fb -Author: Peter Stuge -Date: Tue Apr 24 07:27:08 2012 +0200 - - libusb-compat-0.1.4 - -commit 2ec4b60bc6394356975757b754e2b52b1dc17bb8 -Author: Peter Stuge -Date: Tue Apr 24 07:21:54 2012 +0200 - - README: Add Peter Stuge and remove Daniel Drake - -commit 2236a36fe8acdf1bc74239e5dae4d4cad4f679be -Author: Peter Stuge -Date: Tue Apr 24 07:20:58 2012 +0200 - - README: Update libusb homepage URL - -commit 1e00ab3f042a8d37558e321e3240df514b6d9d81 -Author: Peter Stuge -Date: Tue Apr 24 07:43:39 2012 +0200 - - examples/Makefile.am: -I$(top_srcdir)/libusb to reach usb.h properly - -commit 983fabd544ca9879d8901f05e286a674db97070e -Author: Stanislav Brabec -Date: Wed Apr 4 17:44:24 2012 +0200 - - Fix #42 usb_detach_kernel_driver_np() error mapping - - usb_detach_kernel_driver_np() from libusb-compat-0.1 returns different - error messages than the old libusb-0.1. It causes problems for drivers - that expect exact error code. - - Convert libusb-1.0 errors back to libusb-0.1 errors to get 1:1 mapping - of kernel error codes. - - Affected software: - lirc-0.8.7/daemons/hw_srm7500libusb.c: srm7500_initialize_usbdongle() - The function continues if usb_detach_kernel_driver_np() finishes with - no error or if it returns -ENODATA. But libusb-compat-0.1 used to - return -ENOENT and the driver considers this error as fatal. - - Upstream bug reference: - http://libusb.org/ticket/42 - Upstream mailing list reference: - http://marc.info/?m=133355454809642 - Downstream bug reference: - https://bugzilla.novell.com/show_bug.cgi?id=683307 - -commit 284235b7e71978f2c2068fbd66698bc4c6770559 -Author: Peter Stuge -Date: Tue Apr 24 06:15:35 2012 +0200 - - autogen.sh: Try to use libtoolize before trying glibtoolize - - This helps on Mac OS X where an old glibtoolize is included in the - system and newer, manually installed, versions provide libtoolize. - - See also http://marc.info/?m=132490560131894 - - libusb.git commit 3df437680f8f5406795ec5f32d96612d327b2ca4 - -commit 1aa067b7d2ab313096bdc16b5a3aa050971b14d5 -Author: Peter Stuge -Date: Tue Apr 24 07:36:47 2012 +0200 - - Silence warnings: passing argument 3 of 'usb_*_io' discards qualifiers - -commit ab21a0312fe2df754fd7a4cf4c45050233ee443d -Author: Ludovic Rousseau -Date: Tue May 3 11:12:13 2011 +0200 - - Use const for read only buffers - - Change the usb_bulk_write() and usb_interrupt_write() API to use - "const char *bytes" for read only buffers (data sent to the device). - - See Debian bug #473814 - "libusb: Please use const where appropriate in headers" - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473814 - - [stuge: Also change actual function definitions] - -commit ccb66689c0e04db4ac8474e573ca2e5f055f5d7b -Author: Daniel Drake -Date: Tue Jun 22 18:19:15 2010 -0500 - - Add log message for open permission denied errors - - This message was previously in libusb but is being removed (ticket #44). - Move it here so that this caveat (also documented in README) is more - obvious. - -commit cbfeff38e3a10b9e28a575a47e39b2311f38ce9a -Author: Ludovic Rousseau -Date: Sun Oct 25 10:33:02 2009 +0100 - - testlibusb warning fixes - - testlibusb.c:14: warning: no previous prototype for 'print_endpoint' - testlibusb.c:24: warning: no previous prototype for 'print_altsetting' - testlibusb.c:40: warning: no previous prototype for 'print_interface' - testlibusb.c:48: warning: no previous prototype for 'print_configuration' - testlibusb.c:63: warning: no previous prototype for 'print_device' - -commit 511324a538a034f7f0766b7689ed50ed4e21ee43 -Author: Daniel Drake -Date: Thu Sep 17 23:49:53 2009 +0545 - - Document breakage from internal handle structure change - - Code exists which expects usb_dev_handle to always have the same - contents as it did in libusb-0.1.12. Such code will not work with the - compat layer since the structure has changed. - -commit 713a4c3c2097e6d060d41718b2005490dfd7c71c -Author: Daniel Drake -Date: Thu Jul 9 22:15:32 2009 +0100 - - v0.1.3 release - -commit 3874dfa6141e0e4cee8ccc6c3d4ff522698ebd7d -Author: John Smith -Date: Thu Jul 9 22:13:45 2009 +0100 - - Improve libusb-config for cross-compiling (SF#2809877) - - The sed applied to this file only affects to assignments that happen - at the start of the line. - - This fixes cross compiling for OpenWRT, etc. - -commit 15bf9b0a2d3fed8f0fe69d002a4fcd0140679f2d -Author: Kyle McKay -Date: Fri Jun 19 22:11:02 2009 +0100 - - Improved error code compatibility - - libusb-1.0 can return result codes 0, -1 through -12 and -99. The old - libusb-0.1 software was always returning the negative of an errno.h - error code. - - Unfortunately the current version of libusb-compat passes through some - of the libusb-1.0 error codes unchanged. (Some of the error codes are - translated for some functions and different ones for other functions - but plenty are not translated.) - - The patch attached to the below bug report makes sure all libusb-1.0 - error codes are translated into the libusb-0.1 equivalent negative of - an errno.h define value. Additionally, this patch makes sure that - errno is always being set as some callers of libusb-0.1 expect that to - be the case. Finally since errno is now always being set by libusb- - compat, the implementation of usb_strerror is changed to return - strerror(errno) instead of the unhelpful "Unknown error". - -commit 3ffc1160f0599ceb503aa2e0dbbf51a5b72bb9b9 -Author: Daniel Drake -Date: Thu Jun 11 23:50:59 2009 +0100 - - v0.1.2 release - -commit 29af8617ad6d460c3bff927f17c4938dab8f10d3 -Author: Daniel Drake -Date: Fri May 29 12:28:05 2009 -0400 - - Better handling of library initialization failure - -commit f0909ef85c5bf2ee8655864041e5e0453adc9ff0 -Author: Daniel Drake -Date: Thu May 28 09:28:50 2009 -0400 - - v0.1.1 release - -commit b090e024b9dbd8d94ba6f2b6eeb629d3fd461d6e -Author: Stanislav Brabec -Date: Wed May 27 15:39:54 2009 -0400 - - Sanitize more endpoint addresses - - For maximum compatibility, this makes libusb-compat-0.1 behave like - libusb-0.1 on BSD, where endpoint addresses are sanitized for all control - and bulk transfers. (Linux and Darwin also sanitize some of these) - -commit cf9ce427f4bb62b7d575b70b299f1a582fb1baa1 -Author: Daniel Drake -Date: Sat Dec 13 20:30:54 2008 +0000 - - v0.1.0 release - -commit c2ffa94cbcab67324aebc1b32dad69f875b6481a -Author: Daniel Drake -Date: Sat Dec 13 20:25:27 2008 +0000 - - Document the danger of forcefully killing threads - - Ludovic Rousseau has explained that he achieved transfer cancellation in - libusb-0.1 by running each transfer in it's own thread, and forcefully - killing the thread when he doesn't want the transfer any more. - - This bad programming practice is imposed by libusb-0.1 not offering any - way to cancel ongoing transfers. Someone should rewrite libusb-0.1 to - avoid this limitation. Oh, wait... - - Killing libusb-1.0 threads while they are event handling will often - result in I/O halt. Document this in the README. - -commit 14e5a692c62c07e9698e5b51b4da5f48a7da1912 -Author: Daniel Drake -Date: Fri Nov 21 16:52:42 2008 +0000 - - v0.1.0-beta3 release - -commit 8cc08f2c34f0efb809b98b4704e70a3c350cc9a1 -Author: Daniel Drake -Date: Sun Aug 10 17:05:08 2008 -0500 - - Allow usb_set_debug before usb_init() - - Xiofan Chen reports that this worked on libusb-0.1. - Also fix NULL initialization of ctx. - -commit 0dc6967ca823d177503fe91de67de9801496cfec -Author: Daniel Drake -Date: Sat Jun 28 21:35:11 2008 -0500 - - v0.1.0-beta2 release - -commit 788e70c700d1d3a00e9deee67aa24b7c920650e2 -Author: Daniel Drake -Date: Sat Jun 28 21:33:09 2008 -0500 - - Update to new libusb context API - -commit 7999d97c699493da2e04fa7e9cd9bfe4e080c49f -Author: Daniel Drake -Date: Tue Jun 17 18:19:16 2008 -0500 - - Fixup read endpoint addresses - - This doesn't make much sense, but libusb-0.1 does it, so we will do it - too. - -commit fcf3834702d6dab8ce1181678131376f1badd62d -Author: Daniel Drake -Date: Mon May 26 00:05:32 2008 +0100 - - v0.1.0-beta1 release - -commit c7746a0c411b2e4edec178d1ae7783d40152bc7b -Author: Daniel Drake -Date: Fri May 23 16:01:18 2008 +0100 - - link usb_set_debug to libusb_set_debug - -commit 1c59b329f3f4f8644011b37414695df2c5e54586 -Author: Daniel Drake -Date: Fri May 23 15:32:30 2008 +0100 - - don't log anything by default - - Only log messages if the user asked for them using usb_set_debug() - - Ludovic Rousseau pointed out that library users may close stdout/stderr - and those file descriptors may be reused for other things. - -commit fa323490e8e66fe0e95e1545d0c921e947ed6f93 -Author: Daniel Drake -Date: Tue May 20 16:27:17 2008 +0100 - - Update for new libusb_open API - - Pointed out by Soumen Mondal - -commit c5c6684c06bcf8e922601fc1c0d994552abf1e92 -Author: Daniel Drake -Date: Mon May 19 16:15:17 2008 +0100 - - Add emulation info to pkg-config file - - Ludovic Rousseau requested a way of distinguishing between - libusb-compat-0.1 and the real libusb-0.1, and suggested this approach. - - You can access this info through pkg-config e.g.: - pkg-config --variable=emulated libusb - -commit 49057f6ce5cd4d51e31594f290b2dd3c9f1dbaf8 -Author: Daniel Drake -Date: Mon May 19 15:21:04 2008 +0100 - - Pretend to be libusb-0.1.12 - - Pointed out by Ludovic Rousseau: some programs check for specific libusb - versions, so pretend to be v0.1.12. - -commit 727fe5651bfcdd789c2ea4ce462df398b4cacc69 -Author: Daniel Drake -Date: Fri May 16 23:38:46 2008 +0100 - - remove FIXME about parent-child relationships - - Doesn't seem worth this holding things up. - -commit 2b6bdd1aeca38bb4211b704fd76faa0f41272807 -Author: Daniel Drake -Date: Sat May 10 22:17:26 2008 +0100 - - Update for new descriptors API - -commit bb248deecfc6b7718ef849ad9f3f394483d429c8 -Author: Daniel Drake -Date: Sat May 10 15:36:54 2008 +0100 - - update for new libusb configuration API - -commit b8893bca200a24acbda8ba9d2816da743e8783a0 -Author: Daniel Drake -Date: Mon May 5 16:33:37 2008 +0100 - - match error reporting better, and handle endpoint halts - -commit f06d81be9634a0b160caa11cd66f7fcc9354b28a -Author: Daniel Drake -Date: Mon May 5 16:32:47 2008 +0100 - - make log function static - -commit a390eee8402634f5ecefc617832af1b4fd8af2ee -Author: Daniel Drake -Date: Mon May 5 15:13:40 2008 +0100 - - add usb_set_debug - - Pointed out by Xiaofan Chen - -commit c062b2b41183d98ac8a5f568d84472b422ec8285 -Author: Daniel Drake -Date: Mon May 5 15:11:36 2008 +0100 - - populate bus->dirname and dev->filename - - lsusb uses these. Problem spotted by Xiaofan Chen - -commit 71225af5613d512b3a26ed94410f6d6ed2cebb30 -Author: Daniel Drake -Date: Mon May 5 00:37:12 2008 +0100 - - fix timeout handling for bulk/interrupt IO - -commit 2bb614e567d921a80224139b01742b718f8d420a -Author: Daniel Drake -Date: Sun May 4 17:29:15 2008 +0100 - - implement a couple more functions - -commit 1ad492d8b46e4b41f5193f461ec356ec95368875 -Author: Daniel Drake -Date: Sun May 4 17:18:11 2008 +0100 - - installation fixes - -commit 89dde2002fc4f08a5b90bd7e143c6ec06d86d279 -Author: Daniel Drake -Date: Sun May 4 16:55:50 2008 +0100 - - add testlibusb example from libusb-0.1 - -commit b9478137cb8a6f4a6ba758c3b3d3bc5173a623d8 -Author: Daniel Drake -Date: Sun May 4 16:53:45 2008 +0100 - - implement usb_get_driver_np() and usb_detach_kernel_driver_np() - -commit eae1ee2b7bac39f408a9ee61f1e3a80e6425e483 -Author: Daniel Drake -Date: Sun May 4 16:28:32 2008 +0100 - - control transfer functions - -commit 493e756b5b08ba98b612679bcc210d87c20859f0 -Author: Daniel Drake -Date: Sun May 4 14:25:28 2008 +0100 - - bulk and interrupt I/O - -commit ce86f26e5d8f49001cee79a40b0baebbcc965d1d -Author: Daniel Drake -Date: Sun May 4 14:11:28 2008 +0100 - - Implement remaining device operations - -commit 78740a7b8f537bc3d6b6c0c09368be453ff3c4d9 -Author: Daniel Drake -Date: Sun May 4 01:15:50 2008 +0100 - - implement some device operations - -commit 7d7cb91be1307aa6e56c0534e3fba20afc45977d -Author: Daniel Drake -Date: Sun May 4 00:59:56 2008 +0100 - - Initial commit Only in /tmp/libusb-compat-0.1.8.new: compile Only in /tmp/libusb-compat-0.1.8.new: config.guess Only in /tmp/libusb-compat-0.1.8.new: config.h.in Only in /tmp/libusb-compat-0.1.8.new: config.sub Only in /tmp/libusb-compat-0.1.8.new: configure Only in /tmp/libusb-compat-0.1.8.new: depcomp Only in /tmp/libusb-compat-0.1.8.new/examples: Makefile.in Only in /tmp/libusb-compat-0.1.8.new: install-sh Only in /tmp/libusb-compat-0.1.8.new/libusb: Makefile.in Only in /tmp/libusb-compat-0.1.8.new: ltmain.sh Only in /tmp/libusb-compat-0.1.8.new/m4: libtool.m4 Only in /tmp/libusb-compat-0.1.8.new/m4: lt~obsolete.m4 Only in /tmp/libusb-compat-0.1.8.new/m4: ltoptions.m4 Only in /tmp/libusb-compat-0.1.8.new/m4: ltsugar.m4 Only in /tmp/libusb-compat-0.1.8.new/m4: ltversion.m4 Only in /tmp/libusb-compat-0.1.8.new: Makefile.in Only in /tmp/libusb-compat-0.1.8.new: missing