net-misc/iputils: fix build on musl when USE=-idn
authorThomas Deutschmann <whissi@gentoo.org>
Mon, 1 Oct 2018 18:00:17 +0000 (20:00 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Mon, 1 Oct 2018 18:00:17 +0000 (20:00 +0200)
Closes: https://bugs.gentoo.org/665164
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11

net-misc/iputils/files/iputils-20180629-fix-ping-on-musl.patch [new file with mode: 0644]
net-misc/iputils/iputils-20180629.ebuild

diff --git a/net-misc/iputils/files/iputils-20180629-fix-ping-on-musl.patch b/net-misc/iputils/files/iputils-20180629-fix-ping-on-musl.patch
new file mode 100644 (file)
index 0000000..8d8160a
--- /dev/null
@@ -0,0 +1,54 @@
+From 25899e849aa3abc1ad29ebf0b830262a859eaed5 Mon Sep 17 00:00:00 2001
+From: Petr Vorel <petr.vorel@gmail.com>
+Date: Sat, 21 Jul 2018 17:46:14 +0200
+Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems
+
+Commit 99f67db used AI_CANONIDN in a way, which broke compilation on
+systems where AI_CANONIDN is not defined in netdb.h (e.g. glibc < 2.3.4,
+alternative libcs that don't support IDN: e.g. current musl 1.1.19 and
+uClibc-ng 1.0.30) when not using the system libidn2.
+
+Fixes: 99f67db ping: Fix ping name encoded using ACE on C locale
+
+Reported-by: Nicholas Fish
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+---
+ ping.c | 2 +-
+ ping.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ping.c b/ping.c
+index 733477f..b241815 100644
+--- a/ping.c
++++ b/ping.c
+@@ -207,9 +207,9 @@ main(int argc, char **argv)
+ #ifdef USE_IDN
+       setlocale(LC_ALL, "");
+-#endif
+       if (!strcmp(setlocale(LC_ALL, NULL), "C"))
+               hints.ai_flags &= ~ AI_CANONIDN;
++#endif
+       /* Support being called using `ping4` or `ping6` symlinks */
+       if (argv[0][strlen(argv[0])-1] == '4')
+diff --git a/ping.h b/ping.h
+index 3e09685..8a0c4ef 100644
+--- a/ping.h
++++ b/ping.h
+@@ -28,7 +28,6 @@
+ #include <netinet/icmp6.h>
+ #include <linux/filter.h>
+ #include <resolv.h>
+-#include <locale.h>
+ #ifdef CAPABILITIES
+ #include <sys/prctl.h>
+@@ -36,6 +35,7 @@
+ #endif
+ #ifdef USE_IDN
++#include <locale.h>
+ #include <idn2.h>
+ #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN)
+ #define getnameinfo_flags NI_IDN
index fb577b0efbb1610cf6da01c7de35741683ff0e83..98e13d04e31d0f802a3de1d6c5be314effcb8ce4 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # For released versions, we precompile the man/html pages and store
@@ -15,6 +15,7 @@ MY_PV="${PV/_pre/}"
 
 PATCHES=(
        "${FILESDIR}"/${PN}-20180629-musl.patch
+       "${FILESDIR}"/${P}-fix-ping-on-musl.patch
 )
 
 if [[ ${PV} == "99999999" ]] ; then