Commit 837de179 authored by Matt Weber's avatar Matt Weber Committed by Thomas Petazzoni
Browse files

iputils: resolve musl compatibility

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: default avatarMatt Weber <matt@thewebers.ws>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 11d7b8b6
Loading
Loading
Loading
Loading
+0 −34
Original line number Diff line number Diff line
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
+1 −1
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
# From http://sourceforge.net/projects/iputils/files/
sha1	3e85179746fd93000d6267bd55addfe97f321ba7	iputils-s20121011.tar.bz2
# Locally computed
sha256	0e98cb527fa175d1e08afb969c124e452b30968f10ec2c3b078f1440c8977a94	iputils-c8ff6feaf0442f8efd96ccb415770c54f9e84d47.tar.gz
+19 −10
Original line number Diff line number Diff line
@@ -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