All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] usbip: new package
Date: Tue, 13 Dec 2016 18:53:56 +0100	[thread overview]
Message-ID: <20161213175356.GB3546@free.fr> (raw)
In-Reply-To: <1481581303-28490-1-git-send-email-tal.shorer@gmail.com>

Tal, All,

On 2016-12-13 00:21 +0200, Tal Shorer spake thusly:
> add the usbip package from the kernel source, allowing users to share
> usb devices over a network connection
> 
> Signed-off-by: Tal Shorer <tal.shorer@gmail.com>
> ---
>  package/linux-tools/Config.in |  2 ++
>  package/usbip/Config.in       |  5 +++++
>  package/usbip/usbip.mk        | 21 +++++++++++++++++++++
>  3 files changed, 28 insertions(+)
>  create mode 100644 package/usbip/Config.in
>  create mode 100644 package/usbip/usbip.mk
> 
> diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
> index db9ed9f..7fceca7 100644
> --- a/package/linux-tools/Config.in
> +++ b/package/linux-tools/Config.in
> @@ -83,4 +83,6 @@ comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
>  	depends on BR2_USE_MMU
>  	depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>  
> +source package/usbip/Config.in
> +
>  endmenu
> diff --git a/package/usbip/Config.in b/package/usbip/Config.in
> new file mode 100644
> index 0000000..becc437
> --- /dev/null
> +++ b/package/usbip/Config.in
> @@ -0,0 +1,5 @@

Maybe add a small comment above the config option to state that this is
included from the linux-tools infra, rather than from the usual
package/Config.in, to avoid confusing developpers later on...

> +config BR2_PACKAGE_USBIP
> +	bool"usbip"

So you dropped the dependency on !static. Does that mean you were able
to test it with a static build?

It also required libudev, so you have to depend on BR2_PACKAGE_HAS_UDEV.

It needs usb.ids from usbutils, so you also need to select it:

    # This file is included from linux-tools, not from the usual
    # package/Config.in location, because it is a linux tools, but uses
    # the autotool infra
    config BR2_PACKAGE_USBIP
        bool "usbip"
        depends on BR2_PACKAGE_HAS_UDEV
        depends on BR2_TOOLCHAIN_HAS_THREADS # usbutils <- libusb
        select BR2_PACKAGE_USBUTILS

    comment "usbip needs udev /dev management and toolchain w/ threads"
        depends on !BR2_PACKAGE_HAS_UDEV \
                || !BR2_TOOLCHAIN_HAS_THREADS


It also has optional support for libwrap, which we do not have in
Buildroot. See below...

> +	help
> +	  usbip is a set of tools that allows machines to share their
> +	  usb devices over the network, to be driven by a remote client.
> diff --git a/package/usbip/usbip.mk b/package/usbip/usbip.mk
> new file mode 100644
> index 0000000..72c5c58
> --- /dev/null
> +++ b/package/usbip/usbip.mk
> @@ -0,0 +1,21 @@
> +###############
> +# usbip
> +###############

Incorrect header. ;-)

> +# No USBIP_SITE, no USB_VERSION, we vampirise the code from the
> +# linux kernel
> +USBIP_PATCH_DEPENDENCIES = linux

Since it uses udev, you also have to depend on it:

    USBIP_PATCH_DEPENDENCIES = linux
    USBIP_DEPENDENCIES = udev

(Just to show that you have both types of dependencies.)

Also, it can use libwrap, which we do not have in Buildroot, so you
may want to forcibly disable it:

    USBIP_CONF_OPTS = --without-tcp-wrappers

> +USBIP_SRC_DIR = $(wildcard \
> +  $(LINUX_DIR)/tools/usb/usbip \
> +  $(LINUX_DIR)/drivers/staging/usbip/userspace)
> +
> +define USBIP_EXTRACT_CMDS
> +	if [[ -z "$(USBIP_SRC_DIR)" ]]; then \

No need to use [[...]], you can simply use [...] here.

> +	    echo "No usbip source in your kernel tree" 2>&1; \
> +	    exit 1; \
> +	fi
> +	rsync -a $(USBIP_SRC_DIR)/ $(@D)

I think you will want to really mimick the rsync rule we use elsewhere:

    rsync -au --chmod=u=rwX,go=rX $(RSYNC_VCS_EXCLUSIONS) $(USBIP_SRC_DIR)/ $(@D)

Cordialement,
Yann E. MORIN.

> +endef
> +
> +$(eval $(autotools-package))
> -- 
> 2.7.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2016-12-13 17:53 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-09  8:37 [Buildroot] [PATCH] usbip: add a new package Tal Shorer
2016-12-10 13:31 ` Thomas Petazzoni
2016-12-10 18:39   ` Tal Shorer
2016-12-11 10:06     ` Yann E. MORIN
2016-12-11 13:56 ` Yann E. MORIN
2016-12-11 17:39   ` Tal Shorer
2016-12-11 17:45     ` Yann E. MORIN
2016-12-11 18:12       ` [Buildroot] [PATCH] pkg-generic: run $(PKG)_PRE_RSYNC_HOOKS before checking for the existence of $(SRCDIR) Tal Shorer
2016-12-11 19:19         ` Yann E. MORIN
2016-12-11 19:44         ` [Buildroot] [PATCH] package/usbip: new package Tal Shorer
2016-12-17 15:00         ` [Buildroot] [PATCH] pkg-generic: run $(PKG)_PRE_RSYNC_HOOKS before checking for the existence of $(SRCDIR) Thomas Petazzoni
2016-12-11 18:31       ` [Buildroot] [PATCH] usbip: add a new package Tal Shorer
2016-12-11 19:24         ` Yann E. MORIN
2016-12-11 19:59     ` Arnout Vandecappelle
2016-12-11 21:40       ` Yann E. MORIN
2016-12-11 21:46       ` Tal Shorer
2016-12-11 22:05         ` Yann E. MORIN
2016-12-11 22:11           ` Tal Shorer
2016-12-11 22:20             ` Yann E. MORIN
2016-12-11 22:30               ` Tal Shorer
2016-12-12  9:40                 ` Arnout Vandecappelle
2016-12-12 17:25                   ` Yann E. MORIN
2016-12-12 22:17                     ` Tal Shorer
2016-12-12 22:21                       ` [Buildroot] [PATCH v3] usbip: " Tal Shorer
2016-12-13 17:53                         ` Yann E. MORIN [this message]
2016-12-14 17:28                           ` [Buildroot] [PATCH v4] " Tal Shorer
2016-12-21 22:17                             ` Tal Shorer
2016-12-22 20:45                             ` Yann E. MORIN
2016-12-23 18:24                             ` Yann E. MORIN
2016-12-23 19:10                               ` Yann E. MORIN
2016-12-13 17:35                       ` [Buildroot] [PATCH] usbip: add a " Yann E. MORIN
2016-12-12 17:09                 ` [Buildroot] [PATCH v2 1/2] package: linux-tools: allow tools to define configure hooks Tal Shorer
2016-12-12 17:09                   ` [Buildroot] [PATCH v2 2/2] package: linux-tools: add usbip Tal Shorer
2016-12-12 17:26                     ` Yann E. MORIN
  -- strict thread matches above, loose matches on Subject: below --
2012-12-26  6:44 [Buildroot] [PATCH] usbip: new package Marcin Bis
2012-12-26  7:06 ` Baruch Siach
2012-12-26  8:49   ` Thomas Petazzoni
2012-12-26  8:55     ` [Buildroot] [PATCH v3] " Marcin Bis
2012-12-26 16:35       ` Baruch Siach
2012-12-26 16:49         ` Jeremy Rosen
2012-12-26 17:32           ` Thomas Petazzoni
2013-08-13 21:20       ` Thomas Petazzoni

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=20161213175356.GB3546@free.fr \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.