* [ptxdist] [PATCH v2] libusb: drop libusb and use libusbx
@ 2014-03-28 21:20 Alexander Aring
2014-03-28 21:39 ` Uwe Kleine-König
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Aring @ 2014-03-28 21:20 UTC (permalink / raw)
To: ptxdist; +Cc: Alexander Aring, lammers
This patch drops the libusb support and add the libusbx instead.
We can do that because libusb and libusbx offers the same API, original
text from libusbx project website:
"If you are an existing user of libusb, you don't have to change
anything. Just download the libusbx library and use it in your code. The
library is designed as a drop in replacement for libusb, so please give
it a try. If you don't like it, which we very much doubt, you can always
revert..."
Another point is that libusbx website says that the libusb project is
somehow died and will not longer release new releases:
"The reason for the fork is that, despite having dedicated members,
libusb has still not been able to produce a new release for the past 2
years. When a project fails to produce regular releases, we consider
that you, its user, are paying the ultimate price. This is because it
means that patches and new feature are being witheld and you end up
wasting your time."
This patch fix also a few bugs which I detected:
i) switch to "--disable-static", otherwise it was "--enable-shared
--enable-static"
ii) correct use of --disable-log and --enable-debug-log, there was an
option for these two configure flags but also was a static
"--disable-log --disable-debug-log" in the configure call, which
makes no sense.
iii) Fix Juergen Beiserts mail address.
iv) cleanup and remove _ENV and _PATH setting.
new features:
i) Add LIBUSB_SYSTEM_LOG which could enable --enable-system-log flag.
ii) also adding some new disable flag --disable-tests-build
iii) I add "--disable-udev" there but we should have a --enable-udev...
The old one has no kind of udev support and I got a recursive
dependency detection because udev-legacy needs usbutils which needs
libusb. We should look at this in the near future.
iv) change "libusb" entry to "libusbx"
v) rename LIBUSB_DISBALE_LOG to LIBUSB_LOG and change logic.
I also keep the patch from libusb and port it to libusbx because I saw
that libusbx uses also pthreads.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
changes since v2:
- add fix for juergen beiserts mail address. This is the second time which
I fix his mail address. :-)
- change to --disable-tests-build.
- remove LIBUSB_ENV and LIBUSB_PATH. I learned from the libgmp. Sorry.
- Add LIBUSB_SYSTEM_LOG.
- Change logic of LIBUSB_DISABLE_LOG to LIBUSB_LOG.
- remove the second -lusb-1.0 in the patch file.
- remove the timerfd configure flag and let it to auto behaviour.
patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff | 27 -----------------
patches/libusb-1.0.8/series | 1 -
...libusbx-libusb-needs-librt-and-libpthread.patch | 35 ++++++++++++++++++++++
patches/libusbx-1.0.18/series | 1 +
rules/libusb.in | 26 ++++++++--------
rules/libusb.make | 33 ++++++++------------
6 files changed, 62 insertions(+), 61 deletions(-)
delete mode 100644 patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff
delete mode 100644 patches/libusb-1.0.8/series
create mode 100644 patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch
create mode 100644 patches/libusbx-1.0.18/series
diff --git a/patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff b/patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff
deleted file mode 100644
index f3c05af..0000000
--- a/patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-Subject: libusb needs librt and libpthread
-
-Add missing dependencies.
-
-Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-
----
-# 20100603 rsc: The patch was closed upstream, and I don't
-# remember a use case any more :-( Let's keep it
-# here for the moment, until we have a user.
-# 20100101 rsc: added as http://libusb.org/ticket/24
-
- libusb-1.0.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: libusb-1.0.1/libusb-1.0.pc.in
-===================================================================
---- libusb-1.0.1.orig/libusb-1.0.pc.in
-+++ libusb-1.0.1/libusb-1.0.pc.in
-@@ -6,6 +6,6 @@ includedir=@includedir@
- Name: libusb-1.0
- Description: C API for USB device access from Linux userspace
- Version: @VERSION@
--Libs: -L${libdir} -lusb-1.0
-+Libs: -L${libdir} -lusb-1.0 -lrt -lpthread
- Cflags: -I${includedir}/libusb-1.0
-
diff --git a/patches/libusb-1.0.8/series b/patches/libusb-1.0.8/series
deleted file mode 100644
index 25e430f..0000000
--- a/patches/libusb-1.0.8/series
+++ /dev/null
@@ -1 +0,0 @@
-libusb-1.0.1-pkg-config.diff
diff --git a/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch b/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch
new file mode 100644
index 0000000..2ee3f72
--- /dev/null
+++ b/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch
@@ -0,0 +1,35 @@
+From e5c3ffc155a33a9d8f97dc1524be9a776d4ed656 Mon Sep 17 00:00:00 2001
+From: Alexander Aring <alex.aring@gmail.com>
+Date: Fri, 28 Mar 2014 12:04:23 +0100
+Subject: [PATCH] libusbx: libusb needs librt and libpthread
+
+This patch is taken from the old libusb package and changes to apply the
+libusbx package. Original commit msg from patch is:
+
+Add missing dependencies.
+
+20100603 rsc: The patch was closed upstream, and I don't
+ remember a use case any more :-( Let's keep it
+ here for the moment, until we have a user.
+20100101 rsc: added as http://libusb.org/ticket/24
+
+Signed-off-by: Alexander Aring <alex.aring@gmail.com>
+---
+ libusb-1.0.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libusb-1.0.pc.in b/libusb-1.0.pc.in
+index 7bc33c1..0c6fea7 100644
+--- a/libusb-1.0.pc.in
++++ b/libusb-1.0.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: libusbx-1.0
+ Description: C API for USB device access from Linux, Mac OS X, Windows and OpenBSD/NetBSD userspace
+ Version: @VERSION@
+-Libs: -L${libdir} -lusb-1.0
++Libs: -L${libdir} -lusb-1.0 -lrt -lpthread
+ Libs.private: @LIBS@
+ Cflags: -I${includedir}/libusb-1.0
+--
+1.9.1
+
diff --git a/patches/libusbx-1.0.18/series b/patches/libusbx-1.0.18/series
new file mode 100644
index 0000000..4284244
--- /dev/null
+++ b/patches/libusbx-1.0.18/series
@@ -0,0 +1 @@
+0001-libusbx-libusb-needs-librt-and-libpthread.patch
diff --git a/rules/libusb.in b/rules/libusb.in
index 42ad262..ff1a797 100644
--- a/rules/libusb.in
+++ b/rules/libusb.in
@@ -4,34 +4,36 @@ menuconfig LIBUSB
tristate
select LIBC_RT
select LIBC_PTHREAD
- prompt "libusb-1.x "
+ prompt "libusbx-1.x "
help
- userspace USB programming library
-
Library for programming USB applications without the
knowledge of Linux kernel internals.
- Note: libusb-1.x is not binary compatible with its precedessor
- libusb-0.x!
-
if LIBUSB
-config LIBUSB_DISABLE_LOG
+config LIBUSB_LOG
bool
- prompt "Disable all log"
- default y
+ prompt "Enable all log"
help
- Disable all logging. Even if an application setup the debug level
+ Enable all logging. Even if an application setup the debug level
to a value other than 0, this library will not output any messages.
- If this menu entry is not enabled, an application or the environment
+ If this menu entry is enabled, an application or the environment
variable LIBUSB_DEBUG can setup the debug message level at runtime.
Refer http://libusb.sourceforge.net/api-1.0/group__lib.htm function
libusb_set_debug()
+config LIBUSB_SYSTEM_LOG
+ bool
+ prompt "Enable system log"
+ depends on LIBUSB_LOG
+ help
+ Enable output logging messages to system wide log, if supported by
+ the OS.
+
config LIBUSB_DEBUG_LOG
bool
prompt "Enable debug log"
- depends on !LIBUSB_DISABLE_LOG
+ depends on LIBUSB_LOG
help
Enable full debug logging. This will always output debug messages,
there is no way to disable them at runtime.
diff --git a/rules/libusb.make b/rules/libusb.make
index 4dfa0e5..addc4d8 100644
--- a/rules/libusb.make
+++ b/rules/libusb.make
@@ -16,37 +16,28 @@ PACKAGES-$(PTXCONF_LIBUSB) += libusb
#
# Paths and names
#
-LIBUSB_VERSION := 1.0.8
-LIBUSB_MD5 := 37d34e6eaa69a4b645a19ff4ca63ceef
-LIBUSB := libusb-$(LIBUSB_VERSION)
+LIBUSB_VERSION := 1.0.18
+LIBUSB_MD5 := f2ccd0589dde901dfd5607459f77bf44
+LIBUSB := libusbx-$(LIBUSB_VERSION)
LIBUSB_SUFFIX := tar.bz2
-LIBUSB_URL := $(call ptx/mirror, SF, libusb/$(LIBUSB).$(LIBUSB_SUFFIX))
+LIBUSB_URL := $(call ptx/mirror, SF, libusbx/$(LIBUSB).$(LIBUSB_SUFFIX))
LIBUSB_SOURCE := $(SRCDIR)/$(LIBUSB).$(LIBUSB_SUFFIX)
LIBUSB_DIR := $(BUILDDIR)/$(LIBUSB)
LIBUSB_LICENSE := LGPLv2.1
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-LIBUSB_PATH := PATH=$(CROSS_PATH)
-LIBUSB_ENV := $(CROSS_ENV)
-
#
# autoconf
#
LIBUSB_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
- --disable-log \
- --disable-debug-log \
- --disable-examples-build \
- --enable-static \
+ --disable-static \
--enable-shared \
- --$(call ptx/endis, PTXCONF_LIBUSB_DISABLE_LOG)-log
-
-ifdef PTXCONF_LIBUSB_DEBUG_LOG
-LIBUSB_AUTOCONF += --enable-debug-log
-endif
+ --disable-udev \
+ --$(call ptx/endis, PTXCONF_LIBUSB_LOG)-log \
+ --$(call ptx/endis, PTXCONF_LIBUSB_DEBUG_LOG)-debug-log \
+ --$(call ptx/endis, PTXCONF_LIBUSB_SYSTEM_LOG)-system-log \
+ --disable-examples-build \
+ --disable-tests-build
# ----------------------------------------------------------------------------
# Target-Install
@@ -58,7 +49,7 @@ $(STATEDIR)/libusb.targetinstall:
@$(call install_init, libusb)
@$(call install_fixup, libusb,PRIORITY,optional)
@$(call install_fixup, libusb,SECTION,base)
- @$(call install_fixup, libusb,AUTHOR,"Juergen Beisert <juergen@kreuzholzen.de>")
+ @$(call install_fixup, libusb,AUTHOR,"Juergen Beisert <j.beisert@pengutronix.de>")
@$(call install_fixup, libusb,DESCRIPTION,missing)
@$(call install_lib, libusb, 0, 0, 0644, libusb-1.0)
--
1.9.1
--
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-03-28 21:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-28 21:20 [ptxdist] [PATCH v2] libusb: drop libusb and use libusbx Alexander Aring
2014-03-28 21:39 ` Uwe Kleine-König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox