diff --git a/libusb1-error-access-log-message.patch b/libusb1-error-access-log-message.patch new file mode 100644 index 0000000..0a265d8 --- /dev/null +++ b/libusb1-error-access-log-message.patch @@ -0,0 +1,34 @@ +From 22d61cd0891d8304dfc1a70579cf154fd8e6644a Mon Sep 17 00:00:00 2001 +From b33c3cb9651459de1f3d549677cbac67a017a295 Mon Sep 17 00:00:00 2001 +From: Daniel Drake +Date: Tue, 22 Jun 2010 18:20:23 -0500 +Subject: [PATCH] Linux: fix log message that was being unconditionally sent to stderr (#44) + +This message was put in place to aid libusb-compat-0.1 users, who +may run into the change that libusb-0.1 allowed you to usb_open() a +device that you don't have write access to, but libusb-1.0 does not. + +As explained on the ticket this change is dangerous so it should go through +the usual logging mechanism. I also added a similar regular log message +to libusb-compat-0.1. + +Resolves: #628356 + +diff -uNPrp libusb-1.0.8/libusb/os/linux_usbfs.c libusb-1.0.8.new/libusb/os/linux_usbfs.c +--- libusb-1.0.8/libusb/os/linux_usbfs.c 2010-04-22 23:14:46.000000000 +0200 ++++ libusb-1.0.8.new/libusb/os/linux_usbfs.c 2010-09-14 16:22:31.314772148 +0200 +@@ -1055,10 +1055,10 @@ static int op_open(struct libusb_device_ + hpriv->fd = open(filename, O_RDWR); + if (hpriv->fd < 0) { + if (errno == EACCES) { +- fprintf(stderr, "libusb couldn't open USB device %s: " +- "Permission denied.\n" +- "libusb requires write access to USB device nodes.\n", +- filename); ++ usbi_err(HANDLE_CTX(handle), "libusb couldn't open USB device %s: " ++ "Permission denied.", filename); ++ usbi_err(HANDLE_CTX(handle), ++ "libusb requires write access to USB device nodes."); + return LIBUSB_ERROR_ACCESS; + } else if (errno == ENOENT) { + return LIBUSB_ERROR_NO_DEVICE; diff --git a/libusb1.spec b/libusb1.spec index ee565f0..db8959b 100644 --- a/libusb1.spec +++ b/libusb1.spec @@ -1,7 +1,7 @@ Summary: A library which allows userspace access to USB devices Name: libusb1 Version: 1.0.8 -Release: 1%{?dist} +Release: 2%{?dist} Source0: http://downloads.sourceforge.net/libusb/libusb-%{version}.tar.bz2 License: LGPLv2+ Group: System Environment/Libraries @@ -10,6 +10,8 @@ URL: http://libusb.wiki.sourceforge.net/Libusb1.0 ExcludeArch: s390 s390x BuildRequires: doxygen +Patch0: libusb1-error-access-log-message.patch + %description This package provides a way for applications to access USB devices. Note that this library is not compatible with the original libusb-0.1 series. @@ -45,6 +47,7 @@ This package contains static libraries to develop applications that use libusb1. %prep %setup -q -n libusb-%{version} +%patch0 -p1 -b error-access-log-message %build %configure @@ -85,6 +88,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Tue Sep 14 2010 Jan Vcelak 1.0.8-2 +- USB access error messages are now handled by standard logging mechanism + instead of printing to stderr (#628356) + * Mon May 17 2010 Jindrich Novy 1.0.8-1 - update to 1.0.8 (#592901)