Compare commits

..

No commits in common. "rawhide" and "f16" have entirely different histories.

16 changed files with 447 additions and 360 deletions

View file

@ -1 +0,0 @@
1

12
.gitignore vendored
View file

@ -1,9 +1,3 @@
/libusb-1.0.24.tar.bz2
/libusb-1.0.25.tar.bz2
/libusb-1.0.26.tar.bz2
/libusb-1.0.27.tar.bz2
/libusb-1.0.27.tar.bz2.asc
/libusb-1.0.28.tar.bz2
/libusb-1.0.28.tar.bz2.asc
/libusb-1.0.29.tar.bz2
/libusb-1.0.29.tar.bz2.asc
libusb-1.0.8.tar.bz2
/libusb-1.0.9-0.1.tar.bz2
/libusb-1.0.9-rc1.tar.bz2

View file

@ -0,0 +1,32 @@
From 1cc5b4a9fb984e83681ae5c797fa6b22bc20f809 Mon Sep 17 00:00:00 2001
From: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
Date: Fri, 16 Sep 2011 18:07:56 +0200
Subject: [PATCH 01/40] Correctly handle LIBUSB_TRANSFER_OVERFLOW in
libusb_control_transfer()
sync.c: In function `libusb_control_transfer':
sync.c:122: warning: enumeration value `LIBUSB_TRANSFER_OVERFLOW' not
handled in switch
Fixes #120.
---
libusb/sync.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libusb/sync.c b/libusb/sync.c
index d50413b..8eed47b 100644
--- a/libusb/sync.c
+++ b/libusb/sync.c
@@ -132,6 +132,9 @@ int API_EXPORTED libusb_control_transfer(libusb_device_handle *dev_handle,
case LIBUSB_TRANSFER_NO_DEVICE:
r = LIBUSB_ERROR_NO_DEVICE;
break;
+ case LIBUSB_TRANSFER_OVERFLOW:
+ r = LIBUSB_ERROR_OVERFLOW;
+ break;
default:
usbi_warn(HANDLE_CTX(dev_handle),
"unrecognised status code %d", transfer->status);
--
1.7.9.3

View file

@ -0,0 +1,37 @@
From 52508a86e26f0bc74b0a7a3b05ed08a29996b44c Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 20 Feb 2012 16:05:48 +0100
Subject: [PATCH 1/6] linux: Fix cancel_transfer return value when cancelling
a multi-urb transfer
If we fail to cancel the last urb of a multi-urb transfer because it
has already completed (errno == EINVAL on DISCARD_URB), then the entire
transfer has already completed, so returning NOT_FOUND is consistent with what
the documentation for libusb_cancel_transfer says.
But if we've successfully cancelled the last urb, and then another urb
fails with errno == EINVAL, this means that we've still cancelled the
transfer, as it has only *partially* completed.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
libusb/os/linux_usbfs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index 2b81189..099fc61 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -1466,7 +1466,8 @@ static int discard_urbs(struct usbi_transfer *itransfer, int first, int last_plu
if (EINVAL == errno) {
usbi_dbg("URB not found --> assuming ready to be reaped");
- ret = LIBUSB_ERROR_NOT_FOUND;
+ if (i == (last_plus_one - 1))
+ ret = LIBUSB_ERROR_NOT_FOUND;
} else if (ENODEV == errno) {
usbi_dbg("Device not found for URB --> assuming ready to be reaped");
ret = LIBUSB_ERROR_NO_DEVICE;
--
1.7.9.3

View file

@ -0,0 +1,46 @@
From e8c0b72bf8cc6d89c3546bbdbcc85b2c63086578 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Mon, 20 Feb 2012 16:12:19 +0100
Subject: [PATCH 2/6] Don't print errors when cancel_transfer fails with
NOT_FOUND
As stated in the documentation for libusb_cancel_transfer,
LIBUSB_ERROR_NOT_FOUND is an expected return value for
libusb_cancel_transfer (under certain circumstances) printing
an error each time this happens therefor is undesirable.
More so because under Linux IOCTL_USBFS_DISCARDURB sets errno
to EINVAL when the kernel could not find the urb in the kernels
urbs in flight list. Which means that the urb has already completed
at the host controller level, but it has not necessarily already
been reaped. IOW under Linux libusb_cancel_transfer may yield a
result of LIBUSB_ERROR_NOT_FOUND *before* the transfer's callback
has been called! So there is no way for an application to avoid
calling libusb_cancel_transfer on already completed transfers.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
libusb/io.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/libusb/io.c b/libusb/io.c
index bb6e275..9f46cf0 100644
--- a/libusb/io.c
+++ b/libusb/io.c
@@ -1351,8 +1351,11 @@ int API_EXPORTED libusb_cancel_transfer(struct libusb_transfer *transfer)
usbi_mutex_lock(&itransfer->lock);
r = usbi_backend->cancel_transfer(itransfer);
if (r < 0) {
- usbi_err(TRANSFER_CTX(transfer),
- "cancel transfer failed error %d", r);
+ if (r != LIBUSB_ERROR_NOT_FOUND)
+ usbi_err(TRANSFER_CTX(transfer),
+ "cancel transfer failed error %d", r);
+ else
+ usbi_dbg("cancel transfer failed error %d", r);
if (r == LIBUSB_ERROR_NO_DEVICE)
itransfer->flags |= USBI_TRANSFER_DEVICE_DISAPPEARED;
--
1.7.9.3

View file

@ -0,0 +1,92 @@
From 3b6ed16cd2f098dd3920853d20940b3560c20ece Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 24 Feb 2012 10:24:00 +0100
Subject: [PATCH 3/6] linux: Fix handling of urb status codes
During testing of my usbredir code I hit a case where EOVERFLOW was not handled
in handle_control_completion. Instead of just fixing this one case I've audited
(and fixed where necessary) all handle_foo_completion functions to know about
all errors documented in linux/Documentation/usb/error-codes.txt.
Note that for handle_iso_completion this patch actually removes the handling
of some codes, since these can never occur on an iso urb (they can only
occur on the iso packets included in the urb, see the next patch in this
series). Also in case an unknown status is encountered on an iso urb, this
patch actually sets the urb's status to ERROR, rather then leaving it at
completed.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
libusb/os/linux_usbfs.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index 099fc61..36d37a4 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -1952,6 +1952,7 @@ static int handle_bulk_completion(struct usbi_transfer *itransfer,
case -ENOENT: /* cancelled */
case -ECONNRESET:
break;
+ case -ENODEV:
case -ESHUTDOWN:
usbi_dbg("device removed");
tpriv->reap_status = LIBUSB_TRANSFER_NO_DEVICE;
@@ -1970,6 +1971,8 @@ static int handle_bulk_completion(struct usbi_transfer *itransfer,
case -ETIME:
case -EPROTO:
case -EILSEQ:
+ case -ECOMM:
+ case -ENOSR:
usbi_dbg("low level error %d", urb->status);
tpriv->reap_action = ERROR;
goto cancel_remaining;
@@ -2081,19 +2084,16 @@ static int handle_iso_completion(struct usbi_transfer *itransfer,
case 0:
break;
case -ENOENT: /* cancelled */
+ case -ECONNRESET:
break;
case -ESHUTDOWN:
usbi_dbg("device removed");
status = LIBUSB_TRANSFER_NO_DEVICE;
break;
- case -ETIME:
- case -EPROTO:
- case -EILSEQ:
- usbi_dbg("low-level USB error %d", urb->status);
- break;
default:
usbi_warn(TRANSFER_CTX(transfer),
"unrecognised urb status %d", urb->status);
+ status = LIBUSB_TRANSFER_ERROR;
break;
}
@@ -2139,6 +2139,7 @@ static int handle_control_completion(struct usbi_transfer *itransfer,
case -ENOENT: /* cancelled */
status = LIBUSB_TRANSFER_CANCELLED;
break;
+ case -ENODEV:
case -ESHUTDOWN:
usbi_dbg("device removed");
status = LIBUSB_TRANSFER_NO_DEVICE;
@@ -2147,9 +2148,15 @@ static int handle_control_completion(struct usbi_transfer *itransfer,
usbi_dbg("unsupported control request");
status = LIBUSB_TRANSFER_STALL;
break;
+ case -EOVERFLOW:
+ usbi_dbg("control overflow error");
+ status = LIBUSB_TRANSFER_OVERFLOW;
+ break;
case -ETIME:
case -EPROTO:
case -EILSEQ:
+ case -ECOMM:
+ case -ENOSR:
usbi_dbg("low-level bus error occurred");
status = LIBUSB_TRANSFER_ERROR;
break;
--
1.7.9.3

View file

@ -0,0 +1,68 @@
From 4c3e7f9818c0d1d0462fde6f219da65fb102a434 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Fri, 24 Feb 2012 11:15:30 +0100
Subject: [PATCH 4/6] linux: Translate linux iso pkt status codes to libusb
transfer status codes
During testing of my usbredir code I hit a scenario where my libusb app
was seeing EXDEV as status in the transfer's iso_packet_desc
This happened because we don't translate linux negative errno errors
stored in iso pkts status to libusb transfer status codes at all! So this
patch adds translation for this.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
libusb/os/linux_usbfs.c | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
index 36d37a4..a7d8298 100644
--- a/libusb/os/linux_usbfs.c
+++ b/libusb/os/linux_usbfs.c
@@ -2053,7 +2053,41 @@ static int handle_iso_completion(struct usbi_transfer *itransfer,
struct usbfs_iso_packet_desc *urb_desc = &urb->iso_frame_desc[i];
struct libusb_iso_packet_descriptor *lib_desc =
&transfer->iso_packet_desc[tpriv->iso_packet_offset++];
- lib_desc->status = urb_desc->status;
+ lib_desc->status = LIBUSB_TRANSFER_COMPLETED;
+ switch (urb_desc->status) {
+ case 0:
+ break;
+ case -ENOENT: /* cancelled */
+ case -ECONNRESET:
+ break;
+ case -ENODEV:
+ case -ESHUTDOWN:
+ usbi_dbg("device removed");
+ lib_desc->status = LIBUSB_TRANSFER_NO_DEVICE;
+ break;
+ case -EPIPE:
+ usbi_dbg("detected endpoint stall");
+ lib_desc->status = LIBUSB_TRANSFER_STALL;
+ break;
+ case -EOVERFLOW:
+ usbi_dbg("overflow error");
+ lib_desc->status = LIBUSB_TRANSFER_OVERFLOW;
+ break;
+ case -ETIME:
+ case -EPROTO:
+ case -EILSEQ:
+ case -ECOMM:
+ case -ENOSR:
+ case -EXDEV:
+ usbi_dbg("low-level USB error %d", urb_desc->status);
+ lib_desc->status = LIBUSB_TRANSFER_ERROR;
+ break;
+ default:
+ usbi_warn(TRANSFER_CTX(transfer),
+ "unrecognised urb status %d", urb_desc->status);
+ lib_desc->status = LIBUSB_TRANSFER_ERROR;
+ break;
+ }
lib_desc->actual_length = urb_desc->actual_length;
}
--
1.7.9.3

View file

@ -1,15 +0,0 @@
* Fri Sep 30 2022 Kate Hsuan <hpa@redhat.com> 1.0.26-1
- Update to 1.0.26
* Wed Feb 02 2022 Benjamin Berg <bberg@redhat.com> 1.0.25-1
- Update to 1.0.25
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.24-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.24-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 19 18:47:55 CET 2021 Benjamin Berg <bberg@redhat.com> - 1.0.24-3
- New libusb1 package replacing libusbx
Resolves: #1918269

View file

@ -1,12 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1,117 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Hostname:
Version: Hockeypuck 2.2
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
=sExt
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,207 +1,203 @@
%bcond mingw %[0%{?fedora} && !0%{?flatpak}]
Summary: A library which allows userspace access to USB devices
Name: libusb1
Version: 1.0.9
Release: 0.6.rc1%{?dist}
# This is a git snapshot of what will hopefully soon become 1.0.9, but
# we need this now, to get things in place for:
# http://fedoraproject.org/wiki/Features/UsbNetworkRedirection
# To regenerate do:
# git clone git://git.libusb.org/libusb.git
# cd libusb
# git checkout 1.0.9-rc1
# ./autogen.sh
# make dist
# mv libusb-1.0.8.tar.bz2 libusb-1.0.9-rc1.tar.bz2
Source0: libusb-1.0.9-rc1.tar.bz2
#Source0: http://downloads.sourceforge.net/libusb/libusb-%{version}.tar.bz2
Summary: Library for accessing USB devices
Name: libusb1
Version: 1.0.29
Release: %autorelease
Source0: https://github.com/libusb/libusb/releases/download/v%{version}/libusb-%{version}.tar.bz2
Source1: https://github.com/libusb/libusb/releases/download/v%{version}/libusb-%{version}.tar.bz2.asc
Source2: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xc68187379b23de9efc46651e2c80ff56c6830a0e#/%{name}.keyring
License: LGPL-2.1-or-later
URL: http://libusb.info
BuildRequires: systemd-devel doxygen libtool
BuildRequires: umockdev-devel
BuildRequires: make
BuildRequires: gcc
BuildRequires: gnupg2
# libusbx was removed in F34
Provides: libusbx = %{version}-%{release}
Obsoletes: libusbx < %{version}-%{release}
Patch1: 0001-Correctly-handle-LIBUSB_TRANSFER_OVERFLOW-in-libusb_.patch
Patch2: 0002-linux-Fix-cancel_transfer-return-value-when-cancelli.patch
Patch3: 0003-Don-t-print-errors-when-cancel_transfer-fails-with-N.patch
Patch4: 0004-linux-Fix-handling-of-urb-status-codes.patch
Patch5: 0005-linux-Translate-linux-iso-pkt-status-codes-to-libusb.patch
%if %{with mingw}
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc-c++
# mingw-libusbx was removed in F42
Provides: mingw-libusbx = %{version}-%{release}
Obsoletes: mingw-libusbx < %{version}-%{release}
%endif
License: LGPLv2+
Group: System Environment/Libraries
URL: http://libusb.wiki.sourceforge.net/Libusb1.0
BuildRequires: doxygen
%description
This package provides a way for applications to access USB devices.
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.
libusb is a library for USB device access from Linux, macOS,
Windows, OpenBSD/NetBSD, Haiku and Solaris userspace.
libusb is abstracted internally in such a way that it can hopefully
be ported to other operating systems.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: libusbx-devel = %{version}-%{release}
Obsoletes: libusbx-devel < %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package devel
Summary: Development files for libusb
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-devel-doc = %{version}-%{release}
Requires: pkgconfig
%description devel
This package contains the header files and libraries needed to develop
applications that use libusb1.
%package devel-doc
Summary: Development files for %{name}
Requires: libusb1-devel = %{version}-%{release}
Provides: libusbx-devel-doc = %{version}-%{release}
Obsoletes: libusbx-devel-doc < %{version}-%{release}
BuildArch: noarch
Summary: Development files for libusb
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
BuildArch: noarch
%description devel-doc
This package contains API documentation for %{name}.
This package contains documentation needed to develop applications that
use libusb1.
%package static
Summary: Static development files for libusb
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%package tests-examples
Summary: Tests and examples for %{name}
# The fxload example is GPLv2+, the rest is LGPLv2+, like libusb itself.
License: LGPLv2+ and GPLv2+
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: libusbx-tests-examples = %{version}-%{release}
Obsoletes: libusbx-tests-examples < %{version}-%{release}
%description tests-examples
This package contains tests and examples for %{name}.
%if %{with mingw}
%package -n mingw32-%{name}
Summary: MinGW Windows %{name} library
Provides: mingw32-libusbx = %{version}-%{release}
Obsoletes: mingw32-libusbx < %{version}-%{release}
%description -n mingw32-%{name}
MinGW Windows %{name} library.
%package -n mingw64-%{name}
Summary: MinGW Windows %{name} library
Provides: mingw64-libusbx = %{version}-%{release}
Obsoletes: mingw64-libusbx < %{version}-%{release}
%description -n mingw64-%{name}
MinGW Windows %{name} library.
%endif
%description static
This package contains static libraries to develop applications that use libusb1.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1 -n libusb-%{version}
chmod -x examples/*.c
mkdir -p m4
sed -i '/AM_LDFLAGS = -static/d' tests/Makefile.am
autoscan
aclocal
autoconf
automake --add-missing
%setup -q -n libusb-1.0.8
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
mkdir %{_target_os}
pushd %{_target_os}
%define _configure ../configure
%configure --disable-static --enable-examples-build
%{make_build}
%configure --libdir=/%{_lib}
make CFLAGS="$RPM_OPT_FLAGS"
pushd doc
make docs
popd
pushd tests
make
popd
popd
%if %{with mingw}
# MinGW build
%mingw_configure --disable-static
%mingw_make_build
%endif
%install
pushd %{_target_os}
%{make_install}
mkdir -p $RPM_BUILD_ROOT%{_bindir}
install -m 755 tests/.libs/init_context $RPM_BUILD_ROOT%{_bindir}/libusb-test-init_context
install -m 755 tests/.libs/set_option $RPM_BUILD_ROOT%{_bindir}/libusb-test-set_option
install -m 755 tests/.libs/stress $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress
install -m 755 tests/.libs/stress_mt $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress_mt
install -m 755 tests/.libs/umockdev $RPM_BUILD_ROOT%{_bindir}/libusb-test-umockdev
install -m 755 examples/.libs/testlibusb \
$RPM_BUILD_ROOT%{_bindir}/libusb-test-libusb
# Some examples are very device-specific / require specific hw and miss --help
# So we only install a subset of more generic / useful examples
for i in fxload listdevs xusb; do
install -m 755 examples/.libs/$i \
$RPM_BUILD_ROOT%{_bindir}/libusb-example-$i
done
rm $RPM_BUILD_ROOT%{_libdir}/*.la
popd
make install DESTDIR=$RPM_BUILD_ROOT
rm -f $RPM_BUILD_ROOT/%{_lib}/*.la
%if %{with mingw}
%mingw_make_install
%endif
# Our snapshot reports itself as 1.0.8, change the pkg-config file version to
# 1.0.9 so that configure checks by apps who need the new 1.0.9 succeed
sed -i 's/1\.0\.8/1.0.9/' %{buildroot}/%{_lib}/pkgconfig/libusb-1.0.pc
mkdir -p %{buildroot}%{_libdir}/pkgconfig
mv %{buildroot}/%{_lib}/pkgconfig/* %{buildroot}%{_libdir}/pkgconfig/
%check
pushd %{_target_os}
LD_LIBRARY_PATH=libusb/.libs ldd $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-init_context
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-set_option
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-umockdev
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-libusb
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-example-listdevs
popd
%ldconfig_scriptlets
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license COPYING
%doc AUTHORS README ChangeLog
%{_libdir}/*.so.*
%defattr(-,root,root)
%doc AUTHORS COPYING README NEWS ChangeLog
/%{_lib}/*.so.*
%files devel
%{_includedir}/libusb-1.0
%{_libdir}/*.so
%defattr(-,root,root)
%{_includedir}/*
/%{_lib}/*.so
%{_libdir}/pkgconfig/libusb-1.0.pc
%files devel-doc
%doc %{_target_os}/doc/api-1.0 examples/*.c
%defattr(-,root,root)
%doc doc/html examples/*.c
%files tests-examples
%{_bindir}/libusb-example-fxload
%{_bindir}/libusb-example-listdevs
%{_bindir}/libusb-example-xusb
%{_bindir}/libusb-test-init_context
%{_bindir}/libusb-test-set_option
%{_bindir}/libusb-test-stress
%{_bindir}/libusb-test-stress_mt
%{_bindir}/libusb-test-umockdev
%{_bindir}/libusb-test-libusb
%if %{with mingw}
%files -n mingw32-libusb1
%license COPYING
%doc AUTHORS README ChangeLog
%{mingw32_bindir}/libusb-1.0.dll
%{mingw32_includedir}/libusb-1.0
%{mingw32_libdir}/*.dll.a
%{mingw32_libdir}/pkgconfig/libusb-1.0.pc
%files -n mingw64-libusb1
%license COPYING
%doc AUTHORS README ChangeLog
%{mingw64_bindir}/libusb-1.0.dll
%{mingw64_includedir}/libusb-1.0
%{mingw64_libdir}/*.dll.a
%{mingw64_libdir}/pkgconfig/libusb-1.0.pc
%endif
%files static
%defattr(-,root,root)
/%{_lib}/*.a
%changelog
%autochangelog
* Wed Mar 14 2012 Hans de Goede <hdegoede@redhat.com> - 1.0.9-0.6.rc1
- One more small error handling fix
* Wed Mar 14 2012 Hans de Goede <hdegoede@redhat.com> - 1.0.9-0.5.rc1
- Add some small error handling fixes
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-0.4.rc1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Fri Sep 16 2011 Hans de Goede <hdegoede@redhat.com> - 1.0.9-0.3.rc1
- Update to upstream 1.0.9-rc1 release
* Thu Aug 11 2011 Hans de Goede <hdegoede@redhat.com> - 1.0.9-0.2.git212ca37c
- Report version in pkg-config file as 1.0.9
* Thu Jul 14 2011 Hans de Goede <hdegoede@redhat.com> - 1.0.9-0.1.git212ca37c
- Update to a git snapshot which should be pretty close to the final 1.0.9
- Many bugfixes
- Needed for: http://fedoraproject.org/wiki/Features/UsbNetworkRedirection
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Jan 26 2011 Jan Vcelak <jvcelak@redhat.com> 1.0.8-6
- package config file has to be in /usr/lib/pkgconfig
* Tue Jan 25 2011 Jan Vcelak <jvcelak@redhat.com> 1.0.8-5
- move libraries from /usr/lib to /lib (#519716)
* Sun Nov 07 2010 Dan Horák <dan[at]danny.cz> - 1.0.8-4
- drop the ExcludeArch as it's causing too many troubles
* Wed Sep 29 2010 jkeating - 1.0.8-3
- Rebuilt for gcc bug 634757
* Tue Sep 14 2010 Jan Vcelak <jvcelak@redhat.com> 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 <jnovy@redhat.com> 1.0.8-1
- update to 1.0.8 (#592901)
* Fri Jan 22 2010 Jindrich Novy <jnovy@redhat.com> 1.0.6-2
- put all doxygen and other docs to separate noarch subpackage to avoid
multiarch conflicts (#507980)
* Wed Dec 02 2009 Jindrich Novy <jnovy@redhat.com> 1.0.6-1
- update to 1.0.6
* Mon Sep 28 2009 Jindrich Novy <jnovy@redhat.com> 1.0.3-1
- update to 1.0.3
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Jun 15 2009 Jindrich Novy <jnovy@redhat.com> 1.0.2-1
- update to 1.0.2
* Wed May 13 2009 Jindrich Novy <jnovy@redhat.com> 1.0.1-1
- update to 1.0.1
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Dec 15 2008 - Bastien Nocera <bnocera@redhat.com> - 1.0.0-1
- Update to 1.0.0
* Fri Nov 21 2008 - Bastien Nocera <bnocera@redhat.com> - 0.9.4-1
- Update to 0.9.4
* Tue Sep 23 2008 Jindrich Novy <jnovy@redhat.com> 0.9.3-0.1
- update to 0.9.3
* Sun Jul 06 2008 - Bastien Nocera <bnocera@redhat.com> - 0.9.1
- Update to 0.9.1
* Mon May 26 2008 Jindrich Novy <jnovy@redhat.com> 0.9.0-0.4
- update to official beta
* Thu May 23 2008 Jindrich Novy <jnovy@redhat.com> 0.9.0-0.3.gitbef33bb
- update comment on how the tarball was created
- use abbreviated git hash within package name to avoid conflicts
- add to %%description that libusb1 is incompatible with libsub-0.1
* Thu May 22 2008 Jindrich Novy <jnovy@redhat.com> 0.9.0-0.2.gitbef33bb
- add info on how the snapshot tarball was created
* Wed May 21 2008 Jindrich Novy <jnovy@redhat.com> 0.9.0-0.1.gitbef33bb
- use proper version to denote it is a git snapshot
* Thu May 15 2008 Jindrich Novy <jnovy@redhat.com> 0.9.0-0.1
- initial packaging

View file

@ -1,11 +0,0 @@
summary: Basic smoke test
discover:
how: fmf
prepare:
- name: packages
how: install
package:
- glibc-common
- libusb1-tests-examples
execute:
how: tmt

View file

@ -1,2 +1 @@
SHA512 (libusb-1.0.29.tar.bz2) = 04f8bda8197c9ecf52709609b8fbfea762fd82ddb5cde153a7630b0e8ed557d42da8cbc44f2f593aa22fdd0762e16716300565d67adb0c5240d7f3723321f690
SHA512 (libusb-1.0.29.tar.bz2.asc) = 57e12d3a58d8ac418e28f6d83a7cb8c0268ed5d2752707796aa5bf1f8bcf2a8083aa664d36ffcdcc96da62153afa792728662fa8230be9e2865d4a37003e199d
389dd12f7da1411aac2524c5de35e2f5 libusb-1.0.9-rc1.tar.bz2

View file

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_testing
rules:
- !PassingTestCaseRule {test_case_name: dist.depcheck}

View file

@ -1,6 +0,0 @@
summary:
Test for libusb1
test: bash ./run.sh

View file

@ -1,9 +0,0 @@
#!/bin/sh
set -e
ldd /usr/bin/libusb-test-stress
/usr/bin/libusb-test-stress
/usr/bin/libusb-test-umockdev
/usr/bin/libusb-test-libusb
/usr/bin/libusb-example-listdevs