1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

iputils: upgrade to s20190629

License-Update: change license checksums to check the License files themselves (BSD3 and GPL2),
and the tool-to-license file (LICENSE).  Changes to LICENSE will now be
detected.

Backport a patch to fix the build with musl.

Drop upstreamed patch.

Update libidn build-dependency to libidn2.

Patch in an install target and use that to install binaries, to avoid upstream
adding binaries that we don't ship.  Also ship all binaries that are installed.

(From OE-Core rev: d227122d929330ff71a550689aaedc5d8299d859)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2018-07-23 13:36:57 +01:00
committed by Richard Purdie
parent ce56cf5353
commit b30285ca8f
5 changed files with 145 additions and 157 deletions
@@ -1,95 +0,0 @@
From c6c5966d9fae27bc2f0a34ab59b999555111bd2d Mon Sep 17 00:00:00 2001
From: Aric Belsito <lluixhi@gmail.com>
Date: Sun, 29 Oct 2017 23:17:03 +0100
Subject: [PATCH] Fix build on MUSL
Add missing AI_IDN and NI_IDN declarations.
Bug: https://bugs.gentoo.org/503914
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
arping.c | 7 +++++++
ping.h | 11 +++++++++++
tracepath.c | 8 ++++++++
traceroute6.c | 4 ++++
4 files changed, 30 insertions(+)
diff --git a/arping.c b/arping.c
index 1a3f40b..531d29d 100644
--- a/arping.c
+++ b/arping.c
@@ -45,6 +45,13 @@ struct sysfs_devattr_values;
#ifdef USE_IDN
#include <idna.h>
#include <locale.h>
+
+#ifndef AI_IDN
+#define AI_IDN 0x0040
+#endif
+#ifndef AI_CANONIDN
+#define AI_CANONIDN 0x0080
+#endif
#endif
#include "SNAPSHOT.h"
diff --git a/ping.h b/ping.h
index 749f3ff..227315f 100644
--- a/ping.h
+++ b/ping.h
@@ -38,6 +38,17 @@
#include <locale.h>
#include <idna.h>
#include <stringprep.h>
+
+#ifndef AI_IDN
+#define AI_IDN 0x0040
+#endif
+#ifndef AI_CANONIDN
+#define AI_CANONIDN 0x0080
+#endif
+#ifndef NI_IDN
+#define NI_IDN 32
+#endif
+
#define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN)
#define getnameinfo_flags NI_IDN
#else
diff --git a/tracepath.c b/tracepath.c
index 74a829d..dcec5b9 100644
--- a/tracepath.c
+++ b/tracepath.c
@@ -30,6 +30,14 @@
#ifdef USE_IDN
#include <idna.h>
#include <locale.h>
+
+#ifndef AI_IDN
+#define AI_IDN 0x0040
+#endif
+#ifndef NI_IDN
+#define NI_IDN 32
+#endif
+
#define getnameinfo_flags NI_IDN
#else
#define getnameinfo_flags 0
diff --git a/traceroute6.c b/traceroute6.c
index 48fc5c5..8d1eebf 100644
--- a/traceroute6.c
+++ b/traceroute6.c
@@ -251,6 +251,10 @@
#include <idna.h>
#include <locale.h>
+#ifndef NI_IDN
+#define NI_IDN 32
+#endif
+
#define getnameinfo_flags NI_IDN
#else
#define getnameinfo_flags 0
--
2.15.1
@@ -0,0 +1,58 @@
From 714e2b458c151c5bdfe93647445cd00dd8e36fff 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
Upstream-Status: Backport
Signed-off-by: Ross Burton <ross.burton@intel.com>
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
@@ -0,0 +1,26 @@
From 5c8c3b04d73304679340f893636e87691992053b Mon Sep 17 00:00:00 2001
From: Ross Burton <ross@burtonini.com>
Date: Mon, 23 Jul 2018 14:21:03 +0100
Subject: [PATCH] Add install
Add a simple install rule so that we always install the binaries that were built.
Upstream-Status: Inappropriate
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
Makefile | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Makefile b/Makefile
index 17fc5c9..e0c2784 100644
--- a/Makefile
+++ b/Makefile
@@ -231,3 +231,7 @@ rpm:
@$(RPMBUILD) -ta --define 'current yes' $(RPMTMP)/iputils.tar.bz2
@rm -f $(RPMTMP)/iputils.tar.bz2
+install:
+ for t in $(TARGETS); do \
+ install -D $$t $(DESTDIR)$(bindir)/$$t; \
+ done
@@ -1,62 +0,0 @@
SUMMARY = "Network monitoring tools"
DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
tracepath, tracepath6, ping, ping6 and arping."
HOMEPAGE = "https://github.com/iputils/iputils"
SECTION = "console/network"
LICENSE = "BSD & GPLv2+"
LIC_FILES_CHKSUM = "file://ping.c;beginline=1;endline=35;md5=f9ceb201733e9a6cf8f00766dd278d82 \
file://tracepath.c;beginline=1;endline=10;md5=0ecea2bf60bff2f3d840096d87647f3d \
file://arping.c;beginline=1;endline=11;md5=fe84301b5c2655c950f8b92a057fafa6 \
file://tftpd.c;beginline=1;endline=32;md5=28834bf8a91a5b8a92755dbee709ef96 "
DEPENDS = "gnutls libcap libgcrypt"
SRC_URI = "git://github.com/iputils/iputils \
file://0001-Fix-build-on-MUSL.patch \
"
S = "${WORKDIR}/git"
SRCREV = "bffc0e957b98d626ab4cea218c89251201425442"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
EXTRA_OEMAKE = "-e MAKEFLAGS="
PACKAGECONFIG ?= ""
PACKAGECONFIG[libidn] = "USE_IDN=yes,USE_IDN=no,libidn"
do_compile () {
oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" ${PACKAGECONFIG_CONFARGS} all
}
do_install () {
install -m 0755 -d ${D}${base_bindir}
# SUID root programs
install -m 4555 ping ${D}${base_bindir}/ping
install -m 4555 traceroute6 ${D}${base_bindir}/
install -m 4555 clockdiff ${D}${base_bindir}/
# Other programgs
for i in arping tracepath; do
install -m 0755 $i ${D}${base_bindir}/
done
}
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN}-ping = "ping"
ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
PACKAGES += "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff"
ALLOW_EMPTY_${PN} = "1"
RDEPENDS_${PN} += "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff"
FILES_${PN} = ""
FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
FILES_${PN}-arping = "${base_bindir}/arping"
FILES_${PN}-tracepath = "${base_bindir}/tracepath"
FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
@@ -0,0 +1,61 @@
SUMMARY = "Network monitoring tools"
DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
tracepath, tracepath6, ping, ping6 and arping."
HOMEPAGE = "https://github.com/iputils/iputils"
SECTION = "console/network"
LICENSE = "BSD & GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b792e38abdc59f766a3153908f23e766 \
file://LICENSE.BSD3;md5=0f00d99239d922ffd13cabef83b33444 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "gnutls libcap libgcrypt"
SRC_URI = "git://github.com/iputils/iputils \
file://ai_canonidn.patch \
file://install.patch"
SRCREV = "f6aac8dbe3f8c45c53424854a3312bdd8cdd58d3"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>s\d+)"
EXTRA_OEMAKE = "-e MAKEFLAGS="
PACKAGECONFIG ??= ""
PACKAGECONFIG[libidn] = "USE_IDN=yes,USE_IDN=no,libidn2"
do_compile () {
oe_runmake 'CC=${CC} -D_GNU_SOURCE' VPATH="${STAGING_LIBDIR}:${STAGING_DIR_HOST}/${base_libdir}" ${PACKAGECONFIG_CONFARGS} all
}
do_install() {
oe_runmake DESTDIR=${D} bindir=${base_bindir} install
for b in ping traceroute6 clockdiff; do
chmod u+s ${D}${base_bindir}/$b
done
}
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
ALTERNATIVE_${PN}-ping = "ping"
ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-traceroute6 ${PN}-clockdiff ${PN}-tftpd ${PN}-rarpd ${PN}-rdisc"
PACKAGES += "${SPLITPKGS}"
ALLOW_EMPTY_${PN} = "1"
RDEPENDS_${PN} += "${SPLITPKGS}"
FILES_${PN} = ""
FILES_${PN}-ping = "${base_bindir}/ping.${BPN}"
FILES_${PN}-arping = "${base_bindir}/arping"
FILES_${PN}-tracepath = "${base_bindir}/tracepath"
FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6"
FILES_${PN}-clockdiff = "${base_bindir}/clockdiff"
FILES_${PN}-tftpd = "${base_bindir}/tftpd"
FILES_${PN}-rarpd = "${base_bindir}/rarpd"
FILES_${PN}-rdisc = "${base_bindir}/rdisc"