iputils: resolve musl compatibility
authorMatt Weber <matt@thewebers.ws>
Thu, 21 Jan 2016 03:31:47 +0000 (03:31 +0000)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 21 Jan 2016 21:16:32 +0000 (22:16 +0100)
The new upstream is a fork of the original that consolidates other distro's
patches.  This fork resolves a series of musl build failures noted in the
autobuilder log.

http://autobuild.buildroot.net/results/12cb73f3def95efe706bcd957bc2c091e7931d5a/

  - Updated to github fork, selected merge from Nov 3 2015
    which provided musl fixes (last release was to old, 20150815)
  - Why the fork ? (http://www.spinics.net/lists/netdev/msg279881.html)
  - Added missing dependencies for kernel capabilies lib
  - Accounted for new consolidated ping (ipv4/6)

Tested against a buildroot arm musl/glibc toolchains, as well as
autobuilder defconfig.

Signed-off-by: Matt Weber <matt@thewebers.ws>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch [deleted file]
package/iputils/Config.in
package/iputils/iputils.hash
package/iputils/iputils.mk

diff --git a/package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch b/package/iputils/0001-ping-ping6-Fix-hang-with-f-option.patch
deleted file mode 100644 (file)
index fe1ab77..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 712fddacfb5c4a8a48d9c5debe1870bc051d836c Mon Sep 17 00:00:00 2001
-From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
-Date: Tue, 6 Nov 2012 02:44:12 +0900
-Subject: [PATCH] ping,ping6: Fix hang with -f option.
-
-Bug was introduced by commit 8feb586c4... (ping,ping6: Check return
-value of write(2) for stdout.).
-
-https://bugs.archlinux.org/task/32306
-
-Patch-by: Jan Synacek <jsynacek@redhat.com>
-Reported-by: Mohammad Alsaleh <msal@tormail.org>
-Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
----
- ping_common.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ping_common.h b/ping_common.h
-index d2a2b5c..6726e1b 100644
---- a/ping_common.h
-+++ b/ping_common.h
-@@ -140,7 +140,7 @@ static inline void write_stdout(const char *str, size_t len)
-       do {
-               cc = write(STDOUT_FILENO, str + o, len - o);
-               o += cc;
--      } while (len >= o || cc < 0);
-+      } while (len > o || cc < 0);
- }
- /*
--- 
-2.1.3
-
index 53246395730c0a317dbbde50971eefec91d42404..40580d2365f72a0b02b47d3aa1dc9cb855067073 100644 (file)
@@ -6,4 +6,4 @@ config BR2_PACKAGE_IPUTILS
          This package is set of small useful utilities for Linux networking.
          It includes complete versions of ping, traceroute, etc.
 
-         http://sourceforge.net/projects/iputils/
+         https://github.com/iputils/iputils
index 21a20444e301ed1c64d72f5acd5a42deef399ed2..e32e134114e3ef2ded3790db116d50c8f35efd85 100644 (file)
@@ -1,2 +1,2 @@
-# From http://sourceforge.net/projects/iputils/files/
-sha1   3e85179746fd93000d6267bd55addfe97f321ba7        iputils-s20121011.tar.bz2
+# Locally computed
+sha256 0e98cb527fa175d1e08afb969c124e452b30968f10ec2c3b078f1440c8977a94        iputils-c8ff6feaf0442f8efd96ccb415770c54f9e84d47.tar.gz
index 7510d99030b67afdd9d9eb8957807e9e20e38fbd..6392decfd318e00b36ffe7c05d83c00bcddcb1ab 100644 (file)
@@ -4,10 +4,16 @@
 #
 ################################################################################
 
-IPUTILS_VERSION = s20121011
-IPUTILS_SITE = http://www.skbuff.net/iputils
-IPUTILS_SOURCE = iputils-$(IPUTILS_VERSION).tar.bz2
-IPUTILS_LICENSE = GPLv2+, BSD-3c
+# The original upstream was forked to the github repository in 2014 to
+# pull fixes from other distribution and centralize the changes after
+# the upstream seemed to have gone dormant.  The fork contains the
+# latest changes including msul support, removing a libsysfs dependency
+# and IPv6 updates.
+# http://www.spinics.net/lists/netdev/msg279881.html
+
+IPUTILS_VERSION = c8ff6feaf0442f8efd96ccb415770c54f9e84d47
+IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION))
+IPUTILS_LICENSE = GPLv2+, BSD-3c, BSD-4c
 # Only includes a license file for BSD
 IPUTILS_LICENSE_FILES = ninfod/COPYING
 IPUTILS_DEPENDENCIES = openssl
@@ -18,11 +24,15 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 IPUTILS_DEPENDENCIES += busybox
 endif
 
-# Disabling CAP_SETPCAP (file capabilities)
-IPUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) USE_CAP=no USE_SYSFS=no\
-       CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \
-       arping clockdiff ping rarpd rdisc tftpd tracepath \
-       ping6 tracepath6 traceroute6
+IPUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) USE_SYSFS=no USE_IDN=no\
+       CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
+
+ifeq ($(BR2_PACKAGE_LIBCAP),y)
+IPUTILS_MAKE_OPTS += USE_CAP=yes
+IPUTILS_DEPENDENCIES += libcap
+else
+IPUTILS_MAKE_OPTS += USE_CAP=no
+endif
 
 define IPUTILS_BUILD_CMDS
        $(MAKE) -C $(@D) $(IPUTILS_MAKE_OPTS)
@@ -36,7 +46,6 @@ define IPUTILS_INSTALL_TARGET_CMDS
        $(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
-       $(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