From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-bk0-x235.google.com ([2a00:1450:4008:c01::235]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1WTUzj-00011o-DH for ptxdist@pengutronix.de; Fri, 28 Mar 2014 12:30:44 +0100 Received: by mail-bk0-f53.google.com with SMTP id r7so882911bkg.26 for ; Fri, 28 Mar 2014 04:30:37 -0700 (PDT) From: Alexander Aring Date: Fri, 28 Mar 2014 12:30:29 +0100 Message-Id: <1396006229-10616-1-git-send-email-alex.aring@gmail.com> Subject: [ptxdist] [PATCH] libusb: drop libusb and use libusbx Reply-To: ptxdist@pengutronix.de List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: ptxdist-bounces@pengutronix.de Errors-To: ptxdist-bounces@pengutronix.de To: ptxdist@pengutronix.de Cc: Alexander Aring , lammers@mwlaser.de 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 Kconfig 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) also adding some new disable flags like --disable-timerfd, --disable-system-log and --enable-tests-build iv) 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. 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 --- Only compile tested... the runtime testing of this packages will need time I think. I thought the pthreads linker flag should set by the buildsystem which used the libusb then? 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.make | 25 ++++++++-------- 5 files changed, 48 insertions(+), 41 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 - ---- -# 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..1e4ef43 --- /dev/null +++ b/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch @@ -0,0 +1,35 @@ +From 7a2b30e9b82fd2b14c94600534513892bc2f7bbe Mon Sep 17 00:00:00 2001 +From: Alexander Aring +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 +--- + 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..ec361a5 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 -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.make b/rules/libusb.make index 4dfa0e5..b6565e7 100644 --- a/rules/libusb.make +++ b/rules/libusb.make @@ -16,11 +16,11 @@ 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 @@ -37,16 +37,15 @@ LIBUSB_ENV := $(CROSS_ENV) # 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 \ + --disable-timerfd \ + --$(call ptx/disen, PTXCONF_LIBUSB_DISABLE_LOG)-log \ + --$(call ptx/endis, PTXCONF_LIBUSB_DEBUG_LOG)-debug-log \ + --disable-system-log \ + --disable-examples-build \ + --enable-tests-build # ---------------------------------------------------------------------------- # Target-Install -- 1.9.1 -- ptxdist mailing list ptxdist@pengutronix.de