All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] iputils: new package
Date: Thu, 19 Sep 2013 00:36:30 +0200	[thread overview]
Message-ID: <523A2AEE.4070606@mind.be> (raw)
In-Reply-To: <1379533013-13209-1-git-send-email-mlweber1@rockwellcollins.com>

On 18/09/13 21:36, Matt Weber wrote:
> This new package adds full versions of ping/traceroute/etc.
>
> Built against GCC4.7 ARM, x86 uclibc IPv6 and uclibc no IPv6.
>
> Signed-off-by: Matt Weber <mlweber1@rockwellcollins.com>
> ---
>   package/Config.in          |    1 +
>   package/iputils/Config.in  |    7 +++++
>   package/iputils/iputils.mk |   57 ++++++++++++++++++++++++++++++++++++++++++++
>   3 files changed, 65 insertions(+), 0 deletions(-)
>   create mode 100644 package/iputils/Config.in
>   create mode 100644 package/iputils/iputils.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 973d32c..14ca821 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -792,6 +792,7 @@ source "package/iproute2/Config.in"
>   source "package/ipsec-tools/Config.in"
>   source "package/ipset/Config.in"
>   source "package/iptables/Config.in"
> +source "package/iputils/Config.in"
>   source "package/iw/Config.in"
>   source "package/kismet/Config.in"
>   source "package/knock/Config.in"
> diff --git a/package/iputils/Config.in b/package/iputils/Config.in
> new file mode 100644
> index 0000000..92bbea9
> --- /dev/null
> +++ b/package/iputils/Config.in
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_IPUTILS
> +	bool "iputils"

  You're missing a couple of select statements here.

> +	help
> +	  This package is set of small useful utilities for Linux networking.
> +	  It includes complete versions of ping, traceroute, etc.
> +
> +	  http://sourceforge.net/projects/iputils/
> diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk
> new file mode 100644
> index 0000000..b4576cc
> --- /dev/null
> +++ b/package/iputils/iputils.mk
> @@ -0,0 +1,57 @@
> +################################################################################
> +#
> +# iputils
> +#
> +################################################################################
> +
> +IPUTILS_VERSION = 20121011
> +IPUTILS_SITE = http://www.skbuff.net/iputils/
> +IPUTILS_SOURCE = iputils-s$(IPUTILS_VERSION).tar.bz2

  I think the s should be considered part of the version number.

> +IPUTILS_LICENSE = GPLv2+ BSD-3c
> +# Only included a license file for BSD.
> +IPUTILS_LICENSE_FILES = COPYING
> +
> +IPUTILS_DEPENDENCIES = libcap libsysfs openssl

  openssl is only needed for ping6. cap and sysfs can be avoided with 
USE_CAP=no and USE_SYSFS=no.

> +# Build after busybox so target ends up with this package's full
> +# versions of the applications instead of busybox applets.
> +ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> +IPUTILS_DEPENDENCIES += busybox
> +endif
> +
> +define IPUTILS_IPV6_TARGET_CMDS

  I guess you mean INSTALL_TARGET_CMDS.

  Also, this define should be in a BR2_INET_IPV6 condition and the 
conditions below should be removed.

> +	$(INSTALL) -D -m 755 $(@D)/ping6       $(TARGET_DIR)/bin/ping6
> +	$(INSTALL) -D -m 755 $(@D)/tracepath6  $(TARGET_DIR)/bin/tracepath6
> +	$(INSTALL) -D -m 755 $(@D)/traceroute6 $(TARGET_DIR)/bin/traceroute6
> +endef
> +IPUTILS_IPV6_MKTARGETS = ping6 tracepath6 traceroute6
> +
> +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
> +ifneq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)
> +define IPUTILS_IPV6_TARGET_CMDS
> +endef
> +define IPUTILS_IPV6_MKTARGETS
> +endef
> +endif
> +endif
> +
> +IPUTILS_MKTARGETS = arping clockdiff ping rarpd rdisc tftpd tracepath $(IPUTILS_IPV6_MKTARGETS)

  Define this variable before the IPv6 stuff, and append to it inside the 
IPv6 condition. Then you don't need the additional variable.

  Also, I would prefer if the variable was called IPUTILS_MAKE_OPT, so it 
is the same as what is used by autotools.

> +
> +IPUTILS_MAKE_CMDS = $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(STAGING_DIR)/usr/include/linux \

  This can also be part of the _MAKE_OPT variable.

  Since you're not building the module, the KERNEL_INCLUDE isn't used, right?

> +		CFLAGS+="-D_GNU_SOURCE -Wstrict-prototypes -Wall -DCAPABILITIES -DUSE_SYSFS"

  How about CFLAGS="$(TARGET_CFLAGS) $$(CCOPT) $$(GLIBCFIX) $$(DEFINES)"
i.e. reusing the package's make variables.

> +
> +define IPUTILS_BUILD_CMDS
> +	$(MAKE) -C $(@D) $(IPUTILS_MAKE_CMDS) DESTDIR=$(STAGING_DIR) $(IPUTILS_MKTARGETS)

  The Makefile doesn't use DESTDIR.


  Regards,
  Arnout

> +endef
> +
> +define IPUTILS_INSTALL_TARGET_CMDS
> +	$(INSTALL) -D -m 755 $(@D)/arping      $(TARGET_DIR)/sbin/arping
> +	$(INSTALL) -D -m 755 $(@D)/clockdiff   $(TARGET_DIR)/bin/clockdiff
> +	$(INSTALL) -D -m 755 $(@D)/ping        $(TARGET_DIR)/bin/ping
> +	$(INSTALL) -D -m 755 $(@D)/rarpd       $(TARGET_DIR)/sbin/rarpd
> +	$(INSTALL) -D -m 755 $(@D)/rdisc       $(TARGET_DIR)/sbin/rdisc
> +	$(INSTALL) -D -m 755 $(@D)/tftpd       $(TARGET_DIR)/usr/sbin/in.tftpd
> +	$(INSTALL) -D -m 755 $(@D)/tracepath   $(TARGET_DIR)/bin/tracepath
> +	$(IPUTILS_IPV6_TARGET_CMDS)
> +endef
> +
> +$(eval $(generic-package))
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2013-09-18 22:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18 19:36 [Buildroot] [PATCH 1/1] iputils: new package Matt Weber
2013-09-18 22:03 ` Matthew Weber
2013-09-18 22:36 ` Arnout Vandecappelle [this message]
2013-09-19 13:37   ` mlweber1 at rockwellcollins.com
2013-09-19 13:45     ` Arnout Vandecappelle
2013-09-19 14:59       ` Thomas Petazzoni
2013-09-19 15:02         ` mlweber1 at rockwellcollins.com
2013-09-19 16:11           ` 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=523A2AEE.4070606@mind.be \
    --to=arnout@mind.be \
    --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.