import libusbx-1.0.24-4.el9
This commit is contained in:
commit
ecb878bc40
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/libusb-1.0.24.tar.bz2
|
1
.libusbx.metadata
Normal file
1
.libusbx.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
d8d614b538f7c953b6e3b73f1eea5dc70820a7e2 SOURCES/libusb-1.0.24.tar.bz2
|
@ -0,0 +1,60 @@
|
|||||||
|
From c486d01297a366aae8dcd3f715d0bfd8b995949b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
Date: Mon, 8 Feb 2021 09:27:20 -0800
|
||||||
|
Subject: [PATCH 1/2] linux_usbfs: Accept sysfs attributes not terminated with
|
||||||
|
newline
|
||||||
|
|
||||||
|
Benjamin Berg reports that some CI systems that simulate sysfs devices
|
||||||
|
are causing libusb to report errors because such systems are not
|
||||||
|
conforming to the sysfs pattern of terminating attribute values with a
|
||||||
|
newline character. Reduce the severity of encountering such
|
||||||
|
non-conforming attibute values from an error that prevents enumeration
|
||||||
|
to a warning message.
|
||||||
|
|
||||||
|
Closes #857
|
||||||
|
|
||||||
|
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
---
|
||||||
|
libusb/os/linux_usbfs.c | 12 +++++++-----
|
||||||
|
libusb/version_nano.h | 2 +-
|
||||||
|
2 files changed, 8 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
|
||||||
|
index 4882c0f..ebf8cfe 100644
|
||||||
|
--- a/libusb/os/linux_usbfs.c
|
||||||
|
+++ b/libusb/os/linux_usbfs.c
|
||||||
|
@@ -505,7 +505,7 @@ static int read_sysfs_attr(struct libusb_context *ctx,
|
||||||
|
if (fd < 0)
|
||||||
|
return fd;
|
||||||
|
|
||||||
|
- r = read(fd, buf, sizeof(buf));
|
||||||
|
+ r = read(fd, buf, sizeof(buf) - 1);
|
||||||
|
if (r < 0) {
|
||||||
|
r = errno;
|
||||||
|
close(fd);
|
||||||
|
@@ -523,16 +523,18 @@ static int read_sysfs_attr(struct libusb_context *ctx,
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* The kernel does *not* NULL-terminate the string, but every attribute
|
||||||
|
+ /* The kernel does *not* NUL-terminate the string, but every attribute
|
||||||
|
* should be terminated with a newline character. */
|
||||||
|
if (!isdigit(buf[0])) {
|
||||||
|
usbi_err(ctx, "attribute %s doesn't have numeric value?", attr);
|
||||||
|
return LIBUSB_ERROR_IO;
|
||||||
|
} else if (buf[r - 1] != '\n') {
|
||||||
|
- usbi_err(ctx, "attribute %s doesn't end with newline?", attr);
|
||||||
|
- return LIBUSB_ERROR_IO;
|
||||||
|
+ usbi_warn(ctx, "attribute %s doesn't end with newline?", attr);
|
||||||
|
+ } else {
|
||||||
|
+ /* Remove the terminating newline character */
|
||||||
|
+ r--;
|
||||||
|
}
|
||||||
|
- buf[r - 1] = '\0';
|
||||||
|
+ buf[r] = '\0';
|
||||||
|
|
||||||
|
errno = 0;
|
||||||
|
value = strtol(buf, &endptr, 10);
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
Date: Sun, 13 Dec 2020 15:49:19 -0800
|
||||||
|
Subject: [PATCH] linux_usbfs: Fix parsing of descriptors for
|
||||||
|
multi-configuration devices
|
||||||
|
|
||||||
|
Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
|
||||||
|
initialization") introduced a regression for devices with multiple
|
||||||
|
configurations. The logic that verifies the reported length of the
|
||||||
|
configuration descriptors failed to count the length of the
|
||||||
|
configuration descriptor itself and would truncate the actual length by
|
||||||
|
9 bytes, leading to a parsing error for subsequent descriptors.
|
||||||
|
|
||||||
|
Closes #825
|
||||||
|
|
||||||
|
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
---
|
||||||
|
libusb/os/linux_usbfs.c | 12 ++++++++----
|
||||||
|
libusb/version_nano.h | 2 +-
|
||||||
|
2 files changed, 9 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
|
||||||
|
index fb2ed53..4d2dc8d 100644
|
||||||
|
--- a/libusb/os/linux_usbfs.c
|
||||||
|
+++ b/libusb/os/linux_usbfs.c
|
||||||
|
@@ -641,7 +641,12 @@ static int seek_to_next_config(struct libusb_context *ctx,
|
||||||
|
uint8_t *buffer, size_t len)
|
||||||
|
{
|
||||||
|
struct usbi_descriptor_header *header;
|
||||||
|
- int offset = 0;
|
||||||
|
+ int offset;
|
||||||
|
+
|
||||||
|
+ /* Start seeking past the config descriptor */
|
||||||
|
+ offset = LIBUSB_DT_CONFIG_SIZE;
|
||||||
|
+ buffer += LIBUSB_DT_CONFIG_SIZE;
|
||||||
|
+ len -= LIBUSB_DT_CONFIG_SIZE;
|
||||||
|
|
||||||
|
while (len > 0) {
|
||||||
|
if (len < 2) {
|
||||||
|
@@ -718,7 +723,7 @@ static int parse_config_descriptors(struct libusb_device *dev)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (priv->sysfs_dir) {
|
||||||
|
- /*
|
||||||
|
+ /*
|
||||||
|
* In sysfs wTotalLength is ignored, instead the kernel returns a
|
||||||
|
* config descriptor with verified bLength fields, with descriptors
|
||||||
|
* with an invalid bLength removed.
|
||||||
|
@@ -727,8 +732,7 @@ static int parse_config_descriptors(struct libusb_device *dev)
|
||||||
|
int offset;
|
||||||
|
|
||||||
|
if (num_configs > 1 && idx < num_configs - 1) {
|
||||||
|
- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE,
|
||||||
|
- remaining - LIBUSB_DT_CONFIG_SIZE);
|
||||||
|
+ offset = seek_to_next_config(ctx, buffer, remaining);
|
||||||
|
if (offset < 0)
|
||||||
|
return offset;
|
||||||
|
sysfs_config_len = (uint16_t)offset;
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -0,0 +1,220 @@
|
|||||||
|
From f38f09da98acc63966b65b72029b1f7f81166bef Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
Date: Mon, 8 Feb 2021 11:56:13 -0800
|
||||||
|
Subject: [PATCH 2/2] linux_usbfs: Gracefully handle buggy devices with a
|
||||||
|
configuration 0
|
||||||
|
|
||||||
|
The USB spec states that a configuration value of 0 is reserved and is
|
||||||
|
used to indicate the device in not configured (e.g. is in the address
|
||||||
|
state). Unfortunately some devices do exist that violate this and use 0
|
||||||
|
as the bConfigurationValue of the configuration descriptor.
|
||||||
|
|
||||||
|
Improve how the Linux backend handles such non-conformant devices by
|
||||||
|
adding special handling around the configuration value 0. Most devices
|
||||||
|
will not require this special handling, but for those that do there is
|
||||||
|
no way to distinguish between the device being unconfigured and using
|
||||||
|
configuration 0.
|
||||||
|
|
||||||
|
Closes #850
|
||||||
|
|
||||||
|
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
|
||||||
|
---
|
||||||
|
libusb/os/linux_usbfs.c | 94 ++++++++++++++++++++++++++---------------
|
||||||
|
libusb/version_nano.h | 2 +-
|
||||||
|
2 files changed, 60 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c
|
||||||
|
index ebf8cfe..3a1894c 100644
|
||||||
|
--- a/libusb/os/linux_usbfs.c
|
||||||
|
+++ b/libusb/os/linux_usbfs.c
|
||||||
|
@@ -128,7 +128,7 @@ struct linux_device_priv {
|
||||||
|
void *descriptors;
|
||||||
|
size_t descriptors_len;
|
||||||
|
struct config_descriptor *config_descriptors;
|
||||||
|
- uint8_t active_config; /* cache val for !sysfs_available */
|
||||||
|
+ int active_config; /* cache val for !sysfs_available */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct linux_device_handle_priv {
|
||||||
|
@@ -169,6 +169,21 @@ struct linux_transfer_priv {
|
||||||
|
int iso_packet_offset;
|
||||||
|
};
|
||||||
|
|
||||||
|
+static int dev_has_config0(struct libusb_device *dev)
|
||||||
|
+{
|
||||||
|
+ struct linux_device_priv *priv = usbi_get_device_priv(dev);
|
||||||
|
+ struct config_descriptor *config;
|
||||||
|
+ uint8_t idx;
|
||||||
|
+
|
||||||
|
+ for (idx = 0; idx < dev->device_descriptor.bNumConfigurations; idx++) {
|
||||||
|
+ config = &priv->config_descriptors[idx];
|
||||||
|
+ if (config->desc->bConfigurationValue == 0)
|
||||||
|
+ return 1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static int get_usbfs_fd(struct libusb_device *dev, mode_t mode, int silent)
|
||||||
|
{
|
||||||
|
struct libusb_context *ctx = DEVICE_CTX(dev);
|
||||||
|
@@ -574,22 +589,12 @@ static int sysfs_scan_device(struct libusb_context *ctx, const char *devname)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* read the bConfigurationValue for a device */
|
||||||
|
-static int sysfs_get_active_config(struct libusb_device *dev, uint8_t *config)
|
||||||
|
+static int sysfs_get_active_config(struct libusb_device *dev, int *config)
|
||||||
|
{
|
||||||
|
struct linux_device_priv *priv = usbi_get_device_priv(dev);
|
||||||
|
- int ret, tmp;
|
||||||
|
-
|
||||||
|
- ret = read_sysfs_attr(DEVICE_CTX(dev), priv->sysfs_dir, "bConfigurationValue",
|
||||||
|
- UINT8_MAX, &tmp);
|
||||||
|
- if (ret < 0)
|
||||||
|
- return ret;
|
||||||
|
|
||||||
|
- if (tmp == -1)
|
||||||
|
- tmp = 0; /* unconfigured */
|
||||||
|
-
|
||||||
|
- *config = (uint8_t)tmp;
|
||||||
|
-
|
||||||
|
- return 0;
|
||||||
|
+ return read_sysfs_attr(DEVICE_CTX(dev), priv->sysfs_dir, "bConfigurationValue",
|
||||||
|
+ UINT8_MAX, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
int linux_get_device_address(struct libusb_context *ctx, int detached,
|
||||||
|
@@ -765,6 +770,9 @@ static int parse_config_descriptors(struct libusb_device *dev)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (config_desc->bConfigurationValue == 0)
|
||||||
|
+ usbi_warn(ctx, "device has configuration 0");
|
||||||
|
+
|
||||||
|
priv->config_descriptors[idx].desc = config_desc;
|
||||||
|
priv->config_descriptors[idx].actual_len = config_len;
|
||||||
|
|
||||||
|
@@ -798,7 +806,7 @@ static int op_get_active_config_descriptor(struct libusb_device *dev,
|
||||||
|
{
|
||||||
|
struct linux_device_priv *priv = usbi_get_device_priv(dev);
|
||||||
|
void *config_desc;
|
||||||
|
- uint8_t active_config;
|
||||||
|
+ int active_config;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
if (priv->sysfs_dir) {
|
||||||
|
@@ -810,12 +818,12 @@ static int op_get_active_config_descriptor(struct libusb_device *dev,
|
||||||
|
active_config = priv->active_config;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (active_config == 0) {
|
||||||
|
+ if (active_config == -1) {
|
||||||
|
usbi_err(DEVICE_CTX(dev), "device unconfigured");
|
||||||
|
return LIBUSB_ERROR_NOT_FOUND;
|
||||||
|
}
|
||||||
|
|
||||||
|
- r = op_get_config_descriptor_by_value(dev, active_config, &config_desc);
|
||||||
|
+ r = op_get_config_descriptor_by_value(dev, (uint8_t)active_config, &config_desc);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
@@ -863,17 +871,26 @@ static int usbfs_get_active_config(struct libusb_device *dev, int fd)
|
||||||
|
|
||||||
|
/* we hit this error path frequently with buggy devices :( */
|
||||||
|
usbi_warn(DEVICE_CTX(dev), "get configuration failed, errno=%d", errno);
|
||||||
|
+
|
||||||
|
+ /* assume the current configuration is the first one if we have
|
||||||
|
+ * the configuration descriptors, otherwise treat the device
|
||||||
|
+ * as unconfigured. */
|
||||||
|
+ if (priv->config_descriptors)
|
||||||
|
+ priv->active_config = (int)priv->config_descriptors[0].desc->bConfigurationValue;
|
||||||
|
+ else
|
||||||
|
+ priv->active_config = -1;
|
||||||
|
} else if (active_config == 0) {
|
||||||
|
- /* some buggy devices have a configuration 0, but we're
|
||||||
|
- * reaching into the corner of a corner case here, so let's
|
||||||
|
- * not support buggy devices in these circumstances.
|
||||||
|
- * stick to the specs: a configuration value of 0 means
|
||||||
|
- * unconfigured. */
|
||||||
|
- usbi_warn(DEVICE_CTX(dev), "active cfg 0? assuming unconfigured device");
|
||||||
|
+ if (dev_has_config0(dev)) {
|
||||||
|
+ /* some buggy devices have a configuration 0, but we're
|
||||||
|
+ * reaching into the corner of a corner case here. */
|
||||||
|
+ priv->active_config = 0;
|
||||||
|
+ } else {
|
||||||
|
+ priv->active_config = -1;
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ priv->active_config = (int)active_config;
|
||||||
|
}
|
||||||
|
|
||||||
|
- priv->active_config = active_config;
|
||||||
|
-
|
||||||
|
return LIBUSB_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1004,9 +1021,9 @@ static int initialize_device(struct libusb_device *dev, uint8_t busnum,
|
||||||
|
usbi_warn(ctx, "Missing rw usbfs access; cannot determine "
|
||||||
|
"active configuration descriptor");
|
||||||
|
if (priv->config_descriptors)
|
||||||
|
- priv->active_config = priv->config_descriptors[0].desc->bConfigurationValue;
|
||||||
|
+ priv->active_config = (int)priv->config_descriptors[0].desc->bConfigurationValue;
|
||||||
|
else
|
||||||
|
- priv->active_config = 0; /* No config dt */
|
||||||
|
+ priv->active_config = -1; /* No config dt */
|
||||||
|
|
||||||
|
return LIBUSB_SUCCESS;
|
||||||
|
}
|
||||||
|
@@ -1428,22 +1445,27 @@ static int op_get_configuration(struct libusb_device_handle *handle,
|
||||||
|
uint8_t *config)
|
||||||
|
{
|
||||||
|
struct linux_device_priv *priv = usbi_get_device_priv(handle->dev);
|
||||||
|
+ int active_config;
|
||||||
|
int r;
|
||||||
|
|
||||||
|
if (priv->sysfs_dir) {
|
||||||
|
- r = sysfs_get_active_config(handle->dev, config);
|
||||||
|
+ r = sysfs_get_active_config(handle->dev, &active_config);
|
||||||
|
} else {
|
||||||
|
struct linux_device_handle_priv *hpriv = usbi_get_device_handle_priv(handle);
|
||||||
|
|
||||||
|
r = usbfs_get_active_config(handle->dev, hpriv->fd);
|
||||||
|
if (r == LIBUSB_SUCCESS)
|
||||||
|
- *config = priv->active_config;
|
||||||
|
+ active_config = priv->active_config;
|
||||||
|
}
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
- if (*config == 0)
|
||||||
|
- usbi_err(HANDLE_CTX(handle), "device unconfigured");
|
||||||
|
+ if (active_config == -1) {
|
||||||
|
+ usbi_warn(HANDLE_CTX(handle), "device unconfigured");
|
||||||
|
+ active_config = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ *config = (uint8_t)active_config;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -1467,11 +1489,13 @@ static int op_set_configuration(struct libusb_device_handle *handle, int config)
|
||||||
|
return LIBUSB_ERROR_OTHER;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (config == -1)
|
||||||
|
- config = 0;
|
||||||
|
+ /* if necessary, update our cached active config descriptor */
|
||||||
|
+ if (!priv->sysfs_dir) {
|
||||||
|
+ if (config == 0 && !dev_has_config0(handle->dev))
|
||||||
|
+ config = -1;
|
||||||
|
|
||||||
|
- /* update our cached active config descriptor */
|
||||||
|
- priv->active_config = (uint8_t)config;
|
||||||
|
+ priv->active_config = config;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
return LIBUSB_SUCCESS;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
274
SPECS/libusbx.spec
Normal file
274
SPECS/libusbx.spec
Normal file
@ -0,0 +1,274 @@
|
|||||||
|
Summary: Library for accessing USB devices
|
||||||
|
Name: libusbx
|
||||||
|
Version: 1.0.24
|
||||||
|
Release: 4%{?dist}
|
||||||
|
# upstream libusbx has merged back with libusb and is now called libusb again
|
||||||
|
# but we already have a libusb package for the old libusb-compat-0.1, renaming
|
||||||
|
# that to libusb-compat while at the same time giving this its name is a bit
|
||||||
|
# tricky, lets stick with the libusbx name for now
|
||||||
|
Source0: https://github.com/libusb/libusb/releases/download/v%{version}/libusb-%{version}.tar.bz2
|
||||||
|
License: LGPLv2+
|
||||||
|
URL: http://libusb.info
|
||||||
|
BuildRequires: systemd-devel doxygen libtool
|
||||||
|
BuildRequires: make
|
||||||
|
Provides: libusb1 = %{version}-%{release}
|
||||||
|
Obsoletes: libusb1 <= 1.0.9
|
||||||
|
|
||||||
|
Patch001: 0001-linux_usbfs-Accept-sysfs-attributes-not-terminated-w.patch
|
||||||
|
Patch002: 0001-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch
|
||||||
|
Patch003: 0002-linux_usbfs-Gracefully-handle-buggy-devices-with-a-c.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
This package provides a way for applications to access USB devices.
|
||||||
|
|
||||||
|
Libusbx is a fork of the original libusb, which is a fully API and ABI
|
||||||
|
compatible drop in for the libusb-1.0.9 release. The libusbx fork was
|
||||||
|
started by most of the libusb-1.0 developers, after the original libusb
|
||||||
|
project did not produce a new release for over 18 months.
|
||||||
|
|
||||||
|
Note that this library is not compatible with the original libusb-0.1 series,
|
||||||
|
if you need libusb-0.1 compatibility install the libusb package.
|
||||||
|
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
Provides: libusb1-devel = %{version}-%{release}
|
||||||
|
Obsoletes: libusb1-devel <= 1.0.9
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The %{name}-devel package contains libraries and header files for
|
||||||
|
developing applications that use %{name}.
|
||||||
|
|
||||||
|
|
||||||
|
%package devel-doc
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Provides: libusb1-devel-doc = %{version}-%{release}
|
||||||
|
Obsoletes: libusb1-devel-doc <= 1.0.9
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description devel-doc
|
||||||
|
This package contains API documentation for %{name}.
|
||||||
|
|
||||||
|
|
||||||
|
%package tests-examples
|
||||||
|
Summary: Tests and examples for %{name}
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description tests-examples
|
||||||
|
This package contains tests and examples for %{name}.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n libusb-%{version}
|
||||||
|
chmod -x examples/*.c
|
||||||
|
mkdir -p m4
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure --disable-static --enable-examples-build
|
||||||
|
%{make_build}
|
||||||
|
pushd doc
|
||||||
|
make docs
|
||||||
|
popd
|
||||||
|
pushd tests
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%{make_install}
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||||
|
install -m 755 tests/.libs/stress $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
LD_LIBRARY_PATH=libusb/.libs ldd $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress
|
||||||
|
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-stress
|
||||||
|
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-test-libusb
|
||||||
|
LD_LIBRARY_PATH=libusb/.libs $RPM_BUILD_ROOT%{_bindir}/libusb-example-listdevs
|
||||||
|
|
||||||
|
|
||||||
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license COPYING
|
||||||
|
%doc AUTHORS README ChangeLog
|
||||||
|
%{_libdir}/*.so.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_includedir}/libusb-1.0
|
||||||
|
%{_libdir}/*.so
|
||||||
|
%{_libdir}/pkgconfig/libusb-1.0.pc
|
||||||
|
|
||||||
|
%files devel-doc
|
||||||
|
%doc doc/api-1.0 examples/*.c
|
||||||
|
|
||||||
|
%files tests-examples
|
||||||
|
%{_bindir}/libusb-example-fxload
|
||||||
|
%{_bindir}/libusb-example-listdevs
|
||||||
|
%{_bindir}/libusb-example-xusb
|
||||||
|
%{_bindir}/libusb-test-stress
|
||||||
|
%{_bindir}/libusb-test-libusb
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.24-4
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.0.24-3
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Tue Feb 16 2021 Benjamin Berg <bberg@redhat.com> - 1.0.24-2
|
||||||
|
- Pull in upstream bugfixes
|
||||||
|
Resolves: #1929148
|
||||||
|
|
||||||
|
* Thu Feb 11 2021 Victor Toso <victortoso@redhat.com> - 1.0.24-1
|
||||||
|
- Update to 1.0.24
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.23-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.23-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Mar 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 1.0.23-1
|
||||||
|
- Update to 1.0.23
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.22-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.22-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Mar 13 2019 Hans de Goede <hdegoede@redhat.com> - 1.0.22-3
|
||||||
|
- Add tests and examples to a new tests-examples subpackage, so that these
|
||||||
|
can be used for the upcoming gating stuff
|
||||||
|
- Add %%check using some of the tests/examples
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.22-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Aug 07 2018 Victor Toso <victortoso@redhat.com> - 1.0.22-1
|
||||||
|
- Update to 1.0.22
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.21-7
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.21-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.0.21-5
|
||||||
|
- Switch to %%ldconfig_scriptlets
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.21-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.21-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.21-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Oct 26 2016 Hans de Goede <hdegoede@redhat.com> - 1.0.21-1
|
||||||
|
- Update to the final 1.0.21 upstream release
|
||||||
|
|
||||||
|
* Wed Aug 10 2016 Hans de Goede <hdegoede@redhat.com> - 1.0.21-0.2.rc2
|
||||||
|
- Update to 1.0.21-rc2 upstream release
|
||||||
|
- Add a bunch of locking fixes which are pending upstream
|
||||||
|
|
||||||
|
* Tue Feb 23 2016 Hans de Goede <hdegoede@redhat.com> - 1.0.21-0.1.git448584a
|
||||||
|
- Update to a pre 1.0.21 git snapshot to bring in libusb_interrupt_event_handler
|
||||||
|
which chromium needs (rhbz#1270324)
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.20-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Sep 24 2015 Hans de Goede <hdegoede@redhat.com> - 1.0.20-1
|
||||||
|
- Update to 1.0.20 (rhbz#1262817)
|
||||||
|
|
||||||
|
* Tue Jun 16 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.0.19-3
|
||||||
|
- Use %%license
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.19-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 13 2014 Hans de Goede <hdegoede@redhat.com> - 1.0.19-1
|
||||||
|
- Update to 1.0.19 final
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.19-0.3.rc2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri May 30 2014 Hans de Goede <hdegoede@redhat.com> - 1.0.19-0.2.rc2
|
||||||
|
- Update to 1.0.19-rc2
|
||||||
|
|
||||||
|
* Mon May 19 2014 Hans de Goede <hdegoede@redhat.com> - 1.0.19-0.1.rc1
|
||||||
|
- Update to 1.0.19-rc1
|
||||||
|
|
||||||
|
* Sat Mar 8 2014 Hans de Goede <hdegoede@redhat.com> - 1.0.18-1
|
||||||
|
- Update to 1.0.18 release (rhbz#1058000)
|
||||||
|
|
||||||
|
* Fri Sep 6 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.17-1
|
||||||
|
- Update to 1.0.17 final release
|
||||||
|
|
||||||
|
* Wed Aug 28 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.17-0.1.rc1
|
||||||
|
- New upstream 1.0.17-rc1 release
|
||||||
|
|
||||||
|
* Tue Jul 30 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.16-3
|
||||||
|
- Fix another libusb_exit deadlock (rhbz#985484)
|
||||||
|
|
||||||
|
* Fri Jul 19 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.16-2
|
||||||
|
- Fix libusb_exit sometimes (race) deadlocking on exit (rhbz#985484)
|
||||||
|
|
||||||
|
* Thu Jul 11 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.16-1
|
||||||
|
- New upstream 1.0.16 final release
|
||||||
|
|
||||||
|
* Sat Jul 6 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.16-0.2.rc3
|
||||||
|
- New upstream 1.0.16-rc3 release
|
||||||
|
|
||||||
|
* Mon Jul 1 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.16-0.1.rc2
|
||||||
|
- New upstream 1.0.16-rc2 release
|
||||||
|
|
||||||
|
* Fri Apr 19 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.15-2
|
||||||
|
- Replace tarbal with upstream re-spun tarbal which fixes line-ending and
|
||||||
|
permission issues
|
||||||
|
|
||||||
|
* Wed Apr 17 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.15-1
|
||||||
|
- Upgrade to 1.0.15 (rhbz#952575)
|
||||||
|
|
||||||
|
* Tue Apr 2 2013 Hans de Goede <hdegoede@redhat.com> - 1.0.14-3
|
||||||
|
- Drop devel-doc Requires from the devel package (rhbz#947297)
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.14-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Sep 26 2012 Hans de Goede <hdegoede@redhat.com> - 1.0.14-1
|
||||||
|
- Upgrade to 1.0.14
|
||||||
|
|
||||||
|
* Mon Sep 24 2012 Hans de Goede <hdegoede@redhat.com> - 1.0.13-1
|
||||||
|
- Upgrade to 1.0.13
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.11-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed May 23 2012 Hans de Goede <hdegoede@redhat.com> - 1.0.11-2
|
||||||
|
- Fix URL to actually point to libusbx
|
||||||
|
- Improve description to explain the relation between libusbx and libusb
|
||||||
|
- Build the examples (to test linking, they are not packaged)
|
||||||
|
|
||||||
|
* Tue May 22 2012 Hans de Goede <hdegoede@redhat.com> - 1.0.11-1
|
||||||
|
- New libusbx package, replacing libusb1
|
||||||
|
- Switching to libusbx upstream as that actually does releases (hurray)
|
||||||
|
- Drop all patches (all upstream)
|
||||||
|
- Drop -static subpackage (there are no packages using it)
|
Loading…
Reference in New Issue
Block a user