From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] libusb: drop libusb and use libusbx
Date: Fri, 28 Mar 2014 13:55:39 +0100 [thread overview]
Message-ID: <20140328125539.GX10959@pengutronix.de> (raw)
In-Reply-To: <1396006229-10616-1-git-send-email-alex.aring@gmail.com>
On Fri, Mar 28, 2014 at 12:30:29PM +0100, Alexander Aring wrote:
> 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
Using libusbx sounds good. Any reason for --disable-timerfd and
--enable-tests-build? I've not tested it yet, but it looks good so far.
Michael
> 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 <alex.aring@gmail.com>
> ---
> 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 <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..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 <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..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
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2014-03-28 12:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 11:30 Alexander Aring
2014-03-28 11:37 ` Alexander Aring
2014-03-28 12:55 ` Michael Olbrich [this message]
2014-03-28 13:10 ` Alexander Aring
2014-03-28 20:51 ` Alexander Aring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140328125539.GX10959@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox