import libusb-0.1.5-12.el8

This commit is contained in:
CentOS Sources 2019-05-07 07:43:40 -04:00 committed by Andrew Lukoshko
commit 6d8cb3705a
6 changed files with 470 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/libusb-compat-0.1.5.tar.bz2

1
.libusb.metadata Normal file
View File

@ -0,0 +1 @@
062319276d913c753a4b1341036e6a2e42abccc9 SOURCES/libusb-compat-0.1.5.tar.bz2

View File

@ -0,0 +1,51 @@
From a9e8373030b39aadfc33af67443085df83e9e344 Mon Sep 17 00:00:00 2001
From: Daniel Berrange <berrange@redhat.com>
Date: Wed, 14 Aug 2013 16:00:56 +0200
Subject: [libusb-compat PATCH] 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_close() 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 <hdegoede@redhat.com>
---
libusb/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libusb/Makefile.am b/libusb/Makefile.am
index 33a609a..a20fdb5 100644
--- a/libusb/Makefile.am
+++ b/libusb/Makefile.am
@@ -5,5 +5,5 @@ libusb_la_SOURCES = core.c usbi.h
libusb_la_CFLAGS = -fvisibility=hidden $(AM_CFLAGS) $(LIBUSB_1_0_CFLAGS)
libusb_la_LIBADD = $(LIBUSB_1_0_LIBS)
libusb_la_LDFLAGS = -version-info $(LT_MAJOR):$(LT_REVISION):$(LT_AGE) \
- -release 0.1
+ -release 0.1 -Wl,-z -Wl,nodelete
--- libusb-compat-0.1.5.orig/libusb/Makefile.in 2013-05-21 00:40:35.000000000 +0100
+++ libusb-compat-0.1.5.orig/libusb/Makefile.in 2013-08-13 22:20:32.831532426 +0100
@@ -297,7 +297,7 @@ libusb_la_SOURCES = core.c usbi.h
libusb_la_CFLAGS = -fvisibility=hidden $(AM_CFLAGS) $(LIBUSB_1_0_CFLAGS)
libusb_la_LIBADD = $(LIBUSB_1_0_LIBS)
libusb_la_LDFLAGS = -version-info $(LT_MAJOR):$(LT_REVISION):$(LT_AGE) \
- -release 0.1
+ -release 0.1 -Wl,-z -Wl,nodelete
all: all-am
--
1.8.3.1

View File

@ -0,0 +1,55 @@
From eb590b4dac00a5188b93e1d6ebdd60b06f9ab3d7 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 13 Feb 2014 17:25:27 +0100
Subject: [libusb-compat PATCH 2/2] 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 <hdegoede@redhat.com>
---
libusb/core.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/libusb/core.c b/libusb/core.c
index c0ccb1f..2dd1b5f 100644
--- a/libusb/core.c
+++ b/libusb/core.c
@@ -21,7 +21,6 @@
#include <config.h>
#include <errno.h>
#include <stdarg.h>
-#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -137,13 +136,6 @@ static void usbi_log(enum usbi_log_level level, const char *function,
fprintf(stream, "\n");
}
-static void _usb_finalize(void) {
- if (ctx) {
- libusb_exit(ctx);
- ctx = NULL;
- }
-}
-
API_EXPORTED void usb_init(void)
{
int r;
@@ -159,8 +151,6 @@ API_EXPORTED void usb_init(void)
/* usb_set_debug can be called before usb_init */
if (usb_debug)
libusb_set_debug(ctx, 3);
-
- atexit(_usb_finalize);
}
}
--
1.8.5.3

View File

@ -0,0 +1,25 @@
Resolve multilib conflict in 'libusb-config' script by removing $libdir variable entirely.
http://fedoraproject.org/wiki/PackagingDrafts/MultilibTricks#Multiarch.2C_binaries_and_compilation_scripts
Author: Jan Vcelak <jvcelak@redhat.com>
Date: 2011-06-22
diff -uNPrp libusb-compat-0.1.3/libusb-config.in libusb-compat-0.1.3.multilib/libusb-config.in
--- libusb-compat-0.1.3/libusb-config.in 2009-06-23 23:45:33.000000000 +0200
+++ libusb-compat-0.1.3.multilib/libusb-config.in 2011-06-22 09:55:59.810188470 +0200
@@ -3,7 +3,6 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
-libdir=@libdir@
exec_prefix_set=no
usage()
@@ -77,5 +76,5 @@ if test "$echo_cflags" = "yes"; then
echo $includes
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir -lusb
+ echo -lusb
fi

337
SPECS/libusb.spec Normal file
View File

@ -0,0 +1,337 @@
Name: libusb
Epoch: 1
Version: 0.1.5
Release: 12%{?dist}
Summary: A library which allows userspace access to USB devices
Group: System Environment/Libraries
License: LGPLv2+
URL: http://sourceforge.net/projects/libusb/
Source0: http://downloads.sourceforge.net/libusb/libusb-compat-%{version}.tar.bz2
Patch0: libusb-config-multilib.patch
Patch1: 0001-Link-with-znodelete-to-disallow-unloading.patch
Patch2: 0002-Revert-use-atexit-to-call-libusb_exit.patch
BuildRequires: libusb1-devel
%description
This package provides a way for applications to access USB devices.
Legacy libusb-0.1 is no longer supported by upstream, therefore content of this
package was replaced by libusb-compat. It provides compatibility layer allowing
applications written for libusb-0.1 to work with libusb-1.0.
%package devel
Summary: Development files for libusb
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%description devel
This package contains the header files, libraries and documentation needed to
develop applications that use libusb-0.1. However new applications should use
libusb-1.0 library instead of this one.
%prep
%setup -q -n libusb-compat-%{version}
%patch0 -p1 -b .config-multilib
%patch1 -p1
%patch2 -p1
%build
%configure --disable-static
make %{?_smp_mflags}
%install
%make_install
rm $RPM_BUILD_ROOT%{_libdir}/libusb.la
%ldconfig_scriptlets
%files
%doc AUTHORS COPYING ChangeLog NEWS README
%{_libdir}/libusb-0.1.so.*
%files devel
%{_includedir}/usb.h
%{_libdir}/libusb.so
%{_libdir}/pkgconfig/libusb.pc
%{_bindir}/libusb-config
%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.1.5-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1:0.1.5-11
- Switch to %%ldconfig_scriptlets
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.1.5-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.1.5-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.1.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1:0.1.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Feb 13 2014 Hans de Goede <hdegoede@redhat.com> - 0.1.5-3
- Revert atexit patch (rhbz#1003193)
* Wed Aug 14 2013 Hans de Goede <hdegoede@redhat.com> - 0.1.5-2
- Link with -znodelete to fix crash on unload of dl-opened code (rhbz#996760)
* Sun Aug 04 2013 Hans de Goede <hdegoede@redhat.com> - 0.1.5-1
- Update to 0.1.5 (#965414)
- Drop unused -static subpackage
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jan 28 2013 Jindrich Novy <jnovy@redhat.com> 0.1.4-1
- update to 0.1.4 (#904748)
- drop upstreamed patches
- fix changelog dates
* Mon Nov 19 2012 Nils Philippsen <nils@redhat.com> - 1:0.1.3-12
- update sourceforge download URL
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Jun 22 2011 Jan Vcelak <jvcelak@redhat.com> 0.1.3-9
- resolve multilib conflict in 'libusb-config' script
* Tue Jun 21 2011 Jan Vcelak <jvcelak@redhat.com> 0.1.3-8
- add libusb-config into -devel subpackage (#713483)
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.1.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Jan 26 2011 Jan Vcelak <jvcelak@redhat.com> 1:0.1.3-6
- pkg-config file has to be in /usr/lib/pkgconfig
* Tue Jan 25 2011 Jan Vcelak <jvcelak@redhat.com> 1:0.1.3-5
- move libraries from /usr/lib to /lib (#519716)
* Wed Sep 29 2010 jkeating - 1:0.1.3-4
- Rebuilt for gcc bug 634757
* Tue Sep 14 2010 Jan Vcelak <jvcelak@redhat.com> 0.1.3-3
- add USB access error logging (#628356)
- update README
* Sat Aug 28 2010 Rex Dieter <rdieter@fedoraproject.org> 1:0.1.3-2
- fix epoch-related bustage
* Fri Aug 27 2010 Jan Vcelak <jvcelak@redhat.com> 0.1.3-1
- legacy libusb-0.1 replaced with libusb-compat
* Wed Jun 23 2010 Jan Vcelak <jvcelak@redhat.com> 0.1.12-23
- fixes invalid read causing segfault (#565904)
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.12-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.12-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Tue Oct 21 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-20
- remove ExcludeArch: s390 s390x, libusb works fine there (#467768)
* Tue Oct 14 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-19
- don't apply the concurrency timeout handling patch, it breaks
pilot-link (#456811)
* Mon Oct 6 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-18
- fix multiarch conflict in libusb-devel (#465209)
* Sat Aug 2 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-17
- apply patch from Graeme Gill to fix concurrency timeout
handling (#456811)
* Fri Apr 18 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-16
- rebuild to fix broken ppc build
* Tue Feb 26 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-15
- don't apply wakeups patch until it's fixed, it causes problems
with Eye-One Pro (#434950)
* Mon Feb 25 2008 Jindrich Novy <jnovy@redhat.com> 0.1.12-14
- manual rebuild because of gcc-4.3 (#434189)
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.1.12-13
- Autorebuild for GCC 4.3
* Tue Dec 4 2007 Jindrich Novy <jnovy@redhat.com> 0.1.12-12
- remove unnecessary 1ms wakeups while USB transfers are in progress,
thanks to Scott Lamb (#408131)
* Tue Nov 6 2007 Jindrich Novy <jnovy@redhat.com> 0.1.12-11
- fix multilib conflict in manual.ps (#342461)
- drop useless BR: gawk
* Thu Aug 23 2007 Jindrich Novy <jnovy@redhat.com> 0.1.12-10
- optimize usb_find_devices() and use openat() instead of open()
(#273901), thanks to Ulrich Drepper
- BR gawk
* Thu Aug 23 2007 Jindrich Novy <jnovy@redhat.com> 0.1.12-9
- update License
- rebuild for BuildID
* Wed Aug 1 2007 Jindrich Novy <jnovy@redhat.com> 0.1.12-8
- don't use uninitialized buffers on stack (#250274)
* Thu Feb 08 2007 Jindrich Novy <jnovy@redhat.com> 0.1.12-7
- merge review spec fixes (#226053)
- create -static subpackage to ship static libs separately
- don't use auto* stuff, drop automake, libtool deps
- BuildRequire openjade, fix Requires
* Tue Dec 12 2006 Jindrich Novy <jnovy@redhat.com> 0.1.12-6
- fix BuildRoot, add dist tag, rpmlint warnfixes
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.1.12-5.1
- rebuild
* Thu Jun 08 2006 Jesse Keating <jkeating@redhat.com> 0.1.12-5
- Add missing BR automake, libtool.
- Add missing Requires in -devel on pkgconfig
* Thu Jun 1 2006 Jindrich Novy <jnovy@redhat.com> 0.1.12-4
- remove .la files from libusb-devel (#172643)
* Tue May 30 2006 Jindrich Novy <jnovy@redhat.com> 0.1.12-3
- use pkg-config calls in libusb-config instead of hardcoded
defaults to avoid multiarch conflicts (#192714)
* Fri May 5 2006 Jindrich Novy <jnovy@redhat.com> 0.1.12-2
- add docbook-utils-pdf BuildRequires (#191744)
* Mon Mar 6 2006 Jindrich Novy <jnovy@redhat.com> 0.1.12-1
- update to 0.1.12
- drop .format, .searchorder patches, applied upstream
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.1.11-2.2
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.1.11-2.1
- rebuilt for new gcc4.1 snapshot and glibc changes
* Fri Jan 27 2006 Jindrich Novy <jnovy@redhat.com> 0.1.11-2
- change device search order, /dev/bus/usb is tried first,
then /proc/bus/usb, and never try /sys/bus/usb (#178994)
* Fri Jan 20 2006 Jindrich Novy <jnovy@redhat.com> 0.1.11-1
- 0.1.11
- require pkgconfig, package libusb.pc
- fix printf format in linux.c so that libusb can be built with -Werror (default)
* Mon Dec 19 2005 Tim Waugh <twaugh@redhat.com> 0.1.10a-3
- Rebuild.
* Fri Dec 16 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt for new gcj
* Mon Nov 21 2005 Tim Waugh <twaugh@redhat.com> 0.1.10a-2
- Build does not require xorg-x11-devel. Fixes rebuild problem (no more
xorg-x11-devel package).
* Wed Mar 9 2005 Tim Waugh <twaugh@redhat.com> 0.1.10a-1
- 0.1.10a.
* Wed Mar 2 2005 Tim Waugh <twaugh@redhat.com> 0.1.10-2
- Rebuild for new GCC.
* Fri Feb 11 2005 Tim Waugh <twaugh@redhat.com> 0.1.10-1
- 0.1.10.
* Tue Feb 1 2005 Tim Waugh <twaugh@redhat.com> 0.1.9-1
- Build requires xorg-x11-devel.
- 0.1.9.
* Sat Jan 08 2005 Florian La Roche <laroche@redhat.com>
- rebuilt to get rid of legacy selinux filecontexts
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Tue May 25 2004 Tim Waugh <twaugh@redhat.com> 0.1.8-3
- Run aclocal/autoconf to make shared libraries work again.
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Wed Feb 11 2004 Tim Waugh <twaugh@redhat.com> 0.1.8-1
- 0.1.8.
* Tue Jun 17 2003 Tim Waugh <twaugh@redhat.com> 0.1.7-3
- Fixed spec file.
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt
* Wed Mar 19 2003 Tim Waugh <twaugh@redhat.com>
- Use the CFLAGS from the environment.
* Wed Mar 19 2003 Tim Waugh <twaugh@redhat.com> 0.1.7-1
- 0.1.7.
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt
* Wed Nov 20 2002 Florian La Roche <Florian.LaRoche@redhat.de>
- exclude mainframe
* Tue Jun 25 2002 Tim Waugh <twaugh@redhat.com> 0.1.6-1
- 0.1.6.
* Fri Jun 21 2002 Tim Powers <timp@redhat.com> 0.1.5-6
- automated rebuild
* Fri Jun 21 2002 Tim Waugh <twaugh@redhat.com> 0.1.5-5
- Rebuild to fix broken deps.
* Thu May 23 2002 Tim Powers <timp@redhat.com> 0.1.5-4
- automated rebuild
* Thu Apr 11 2002 Tim Waugh <twaugh@redhat.com> 0.1.5-3
- Rebuild (fixes bug #63196).
* Thu Feb 21 2002 Tim Waugh <twaugh@redhat.com> 0.1.5-2
- Rebuild in new environment.
* Thu Feb 7 2002 Tim Waugh <twaugh@redhat.com> 0.1.5-1
- 0.1.5.
* Fri Jan 25 2002 Tim Waugh <twaugh@redhat.com> 0.1.4-2
- Rebuild in new environment.
- Work around tarball brokenness (doc directory was not automade).
* Mon Oct 29 2001 Tim Waugh <twaugh@redhat.com> 0.1.4-1
- Adapted for Red Hat Linux.
- 0.1.4.
* Thu Mar 1 2001 Frederic Crozat <fcrozat@mandrakesoft.com> 0.1.3b-1mdk
- Initial Mandrake release