* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2015-08-20 12:21 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2015-08-20 12:21 UTC (permalink / raw
To: gentoo-commits
commit: 8416ea962b3feb527e8ca0ed4d05c524f3a66b3a
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 20 12:18:18 2015 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Aug 20 12:18:18 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8416ea96
net-misc/iputils: Bump to version 20150815.
Package-Manager: portage-2.2.20.1
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
net-misc/iputils/Manifest | 2 +
.../files/iputils-20150815-nonroot-floodping.patch | 11 ++
.../files/iputils-20150815-ping6_crypto.patch | 29 ++++
.../files/iputils-20150815-ping_default_ipv4.patch | 65 ++++++++
net-misc/iputils/iputils-20150815.ebuild | 163 +++++++++++++++++++++
net-misc/iputils/metadata.xml | 3 +
6 files changed, 273 insertions(+)
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
index 40e0b48..a1191dc 100644
--- a/net-misc/iputils/Manifest
+++ b/net-misc/iputils/Manifest
@@ -1,2 +1,4 @@
+DIST iputils-20150815.tar.gz 194508 SHA256 1f9c11783e9db90b3ebc43145e412160d989fb133a573638745379957c73c082 SHA512 ce899b1fa4b4a423c0430831d77eed660f7fdb98a0bf0532fd8dfa11f4b5f90c7b7d8199dd265fc0ac0e318f3ef2ef353f61bbd290cce77746df646a29edf85a WHIRLPOOL 763bc8b886d1678428be2dedb3060358ef06beeb7297c4197a4e7772d5919183a90ac35a8f933222d880edb60e169817128b605286379636acf63bc2d78e32f4
DIST iputils-s20121221-manpages.tar.bz2 23778 SHA256 6fc7ed7d281b7a2ee00e4f75e5465c90498c685bcc988afdff74db4eaa736d1c SHA512 006be62e61bf1555c99dbd5aac270cbd8d1074a3016fdde3aeed47e5c9b1acd326aa30a596c532d6688827f7f61966a6e3141eaa3b6f4f943eb21ac227282d8c WHIRLPOOL da0ccb577c4b2189553419df2c093404752fb2865eb3e0bfececfc242d930ceb44f96b32d945cfdd0c9ca060359651b2ec8479db5cc9220cda412dfeee5e910d
DIST iputils-s20121221.tar.bz2 155344 SHA256 450f549fc5b620c23c5929aa6d54b7ddfc7ee1cb1e8efdc5e8bb21d8d0c5319f SHA512 693d240becd766c345c3af2053fc0699b9358e54d667d40738c21d731b70e779112d81476a220d8300ca54250120385414a13610d445996f95a90571047389f4 WHIRLPOOL 64529180eb4b8e2f7a60c18df7cac49e10a4b7702514252d418b16dcdc10a85ccb0a7f8beb51274cc9d708be2026c4c136e720986795fd39d314e4f9d5590ec9
+DIST iputils-s20150815-manpages.tar.xz 22508 SHA256 d82fac64808f9a3f8dee114a62bc0a652243522bf8e535605eaf46d886c2febe SHA512 cb57758203aa49874cc14b4a92db8566775a62da6e50caa55f98e362348fe026898de7aded09f62b4c26e245e89ffde4a37a6810bdaa6619480071917009b1bb WHIRLPOOL f4616abf8857a46420a115ef2f3b6918ab36a1e5160ee8422e985d669672505a7c259a38dc09742405a467b3caa5d552653cfb3e07c15eab97e1326181cbfd99
diff --git a/net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch b/net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch
new file mode 100644
index 0000000..50e108b
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch
@@ -0,0 +1,11 @@
+--- iputils-s20150815/ping.h
++++ iputils-s20150815/ping.h
+@@ -61,7 +61,7 @@
+
+ #define MAXWAIT 10 /* max seconds to wait for response */
+ #define MININTERVAL 10 /* Minimal interpacket gap */
+-#define MINUSERINTERVAL 200 /* Minimal allowed interval for non-root */
++#define MINUSERINTERVAL 0 /* Minimal allowed interval for non-root */
+
+ #define SCHINT(a) (((a) <= MININTERVAL) ? MININTERVAL : (a))
+
diff --git a/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch b/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch
new file mode 100644
index 0000000..1e236ee
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch
@@ -0,0 +1,29 @@
+From a45b719645960c9bacb430e452192d6ffac5be19 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Thu, 20 Aug 2015 13:43:47 +0200
+Subject: [PATCH] Let ping6 use crypto if enabled.
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index e34be5b..d4cb6c0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -159,9 +159,9 @@ LIB_clockdiff = $(LIB_CAP)
+
+ # ping / ping6
+ DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
+-DEF_ping6_common = $(DEF_CAP) $(DEF_IDN)
++DEF_ping6_common = $(DEF_CAP) $(DEF_IDN) $(DEF_CRYPTO)
+ DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_IPV4)
+-LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV)
++LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) $(LIB_CRYPTO)
+
+ ping: ping_common.o ping6_common.o
+ ping.o ping_common.o ping6_common.o: ping.h in6_flowlabel.h
+--
+2.5.0
+
diff --git a/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch b/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch
new file mode 100644
index 0000000..71d32f0
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch
@@ -0,0 +1,65 @@
+From 8d4d34eea9fbd25d0103975f366799764bbc4a2f Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Thu, 20 Aug 2015 11:47:22 +0200
+Subject: [PATCH] Add possibility to make ping use IPv4 by default.
+
+Using ping with a linux kernel without IPv6 capability yields to the
+following problem:
+
+> ping www.google.de
+ping: socket: Address family not supported by protocol (raw socket
+required by specified options).
+>
+
+because ping is using IPv6 by default when -4 option is omitted.
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ Makefile | 7 ++++++-
+ ping.c | 5 +++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 8b37c42..e34be5b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -114,6 +114,11 @@ ifeq ($(ENABLE_PING6_RTHDR),RFC3542)
+ endif
+ endif
+
++# DEFAULT TO IPV4
++ifneq ($(IPV4_DEFAULT),no)
++ DEF_IPV4 = -DIPV4_DEFAULT
++endif
++
+ # -------------------------------------
+ TARGETS=ping tracepath tracepath6 traceroute6 clockdiff rdisc arping tftpd rarpd
+
+@@ -155,7 +160,7 @@ LIB_clockdiff = $(LIB_CAP)
+ # ping / ping6
+ DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
+ DEF_ping6_common = $(DEF_CAP) $(DEF_IDN)
+-DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
++DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_IPV4)
+ LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV)
+
+ ping: ping_common.o ping6_common.o
+diff --git a/ping.c b/ping.c
+index ec9708e..a08a03e 100644
+--- a/ping.c
++++ b/ping.c
+@@ -439,6 +439,11 @@ main(int argc, char **argv)
+
+ target = argv[argc-1];
+
++#ifdef IPV4_DEFAULT
++ if (hints.ai_family == AF_UNSPEC)
++ hints.ai_family = AF_INET;
++#endif
++
+ /* Create sockets */
+ enable_capability_raw();
+ if (hints.ai_family != AF_INET6)
+--
+2.5.0
+
diff --git a/net-misc/iputils/iputils-20150815.ebuild b/net-misc/iputils/iputils-20150815.ebuild
new file mode 100644
index 0000000..8cf3708
--- /dev/null
+++ b/net-misc/iputils/iputils-20150815.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# For released versions, we precompile the man/html pages and store
+# them in a tarball on our mirrors. This avoids ugly issues while
+# building stages, and when the jade/sgml packages are broken (which
+# seems to be more common than would be nice).
+
+EAPI="4"
+
+inherit flag-o-matic eutils toolchain-funcs fcaps
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="https://github.com/iputils/iputils.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/iputils/iputils/archive/s${PV}.tar.gz -> ${P}.tar.gz
+ http://dev.gentoo.org/~polynomial-c/iputils-s${PV}-manpages.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="http://www.linuxfoundation.org/collaborate/workgroups/networking/iputils"
+
+LICENSE="BSD-4"
+SLOT="0"
+IUSE="arping caps clockdiff doc gcrypt idn ipv6 nettle +openssl rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
+
+LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn[static-libs(+)] )
+ ipv6? ( ssl? (
+ gcrypt? ( dev-libs/libgcrypt[static-libs(+)] )
+ nettle? ( dev-libs/nettle[static-libs(+)] )
+ openssl? ( dev-libs/openssl:0[static-libs(+)] )
+ ) )"
+RDEPEND="arping? ( !net-misc/arping )
+ rarpd? ( !net-misc/rarpd )
+ traceroute? ( !net-misc/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ virtual/os-headers"
+if [[ ${PV} == "99999999" ]] ; then
+ DEPEND+="
+ app-text/openjade
+ dev-perl/SGMLSpm
+ app-text/docbook-sgml-dtd
+ app-text/docbook-sgml-utils
+ "
+fi
+
+REQUIRED_USE="ipv6? ( ssl? ( ^^ ( gcrypt nettle openssl ) ) )"
+
+S=${WORKDIR}/${PN}-s${PV}
+
+PATCHES=(
+ "${FILESDIR}/021109-uclibc-no-ether_ntohost.patch"
+ "${FILESDIR}/${PN}-20150815-ping_default_ipv4.patch"
+ "${FILESDIR}/${PN}-20150815-ping6_crypto.patch"
+)
+
+src_prepare() {
+ epatch ${PATCHES[@]}
+ use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ TARGETS=(
+ ping
+ $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
+ )
+ if use ipv6 ; then
+ TARGETS+=(
+ $(usex tracepath 'tracepath6' '')
+ $(usex traceroute 'traceroute6' '')
+ )
+ fi
+
+ myconf=(
+ USE_CRYPTO=no
+ USE_GCRYPT=no
+ USE_NETTLE=no
+ )
+
+ if use ipv6 && use ssl ; then
+ myconf=(
+ USE_CRYPTO=$(usex openssl)
+ USE_GCRYPT=$(usex gcrypt)
+ USE_NETTLE=$(usex nettle)
+ )
+ fi
+}
+
+src_compile() {
+ tc-export CC
+ emake \
+ USE_CAP=$(usex caps) \
+ USE_IDN=$(usex idn) \
+ IPV4_DEFAULT=$(usex ipv6 'no' 'yes') \
+ TARGETS="${TARGETS[*]}" \
+ ${myconf[@]}
+
+ if [[ ${PV} == "99999999" ]] ; then
+ emake html man
+ fi
+}
+
+src_install() {
+ into /
+ dobin ping
+ dosym ping "${EPREFIX}"/bin/ping4
+ if use ipv6 ; then
+ dosym ping "${EPREFIX}"/bin/ping6
+ dosym ping.8 "${EPREFIX}"/usr/share/man/man8/ping6.8
+ fi
+ doman doc/ping.8
+
+ if use arping ; then
+ dobin arping
+ doman doc/arping.8
+ fi
+
+ into /usr
+
+ local u
+ for u in clockdiff rarpd rdisc tftpd tracepath ; do
+ if use ${u} ; then
+ case ${u} in
+ clockdiff) dobin ${u};;
+ *) dosbin ${u};;
+ esac
+ doman doc/${u}.8
+ fi
+ done
+
+ if use tracepath && use ipv6 ; then
+ dosbin tracepath6
+ dosym tracepath.8 "${EPREFIX}"/usr/share/man/man8/tracepath6.8
+ fi
+
+ if use traceroute && use ipv6 ; then
+ dosbin traceroute6
+ doman doc/traceroute6.8
+ fi
+
+ if use rarpd ; then
+ newinitd "${FILESDIR}"/rarpd.init.d rarpd
+ newconfd "${FILESDIR}"/rarpd.conf.d rarpd
+ fi
+
+ dodoc INSTALL RELNOTES
+
+ use doc && dohtml doc/*.html
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/bin/clockdiff' '')
+}
diff --git a/net-misc/iputils/metadata.xml b/net-misc/iputils/metadata.xml
index dc01592..183d454 100644
--- a/net-misc/iputils/metadata.xml
+++ b/net-misc/iputils/metadata.xml
@@ -5,6 +5,9 @@
<use>
<flag name="arping">Build and install arping -- tool for sending ARP requests to peers (see also <pkg>net-analyzer/arping</pkg>)</flag>
<flag name="clockdiff">Build and install clockdiff -- tool for comparing clocks via ICMP packets</flag>
+ <flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> for md5 support</flag>
+ <flag name="nettle">Use <pkg>dev-libs/nettle</pkg> for md5 support</flag>
+ <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> for md5 support</flag>
<flag name="rarpd">Build and install rarpd -- server for handling RARP (reverse ARP) requests; generally only used by old systems</flag>
<flag name="rdisc">Build and install rdisc -- server for the client side of the ICMP router discover protocol</flag>
<flag name="tftpd">Build and install tftpd -- server for the Trivial File Transfer Protocol (see also <pkg>net-ftp/tftp-hpa</pkg>)</flag>
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2016-03-07 15:50 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2016-03-07 15:50 UTC (permalink / raw
To: gentoo-commits
commit: f300a385b4d4a54333b686d25db2a652360e3ac9
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 7 15:49:42 2016 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Mar 7 15:50:12 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f300a385
net-misc/iputils: Replaced two patches with upstream equivalents.
Package-Manager: portage-2.2.27
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
.../files/iputils-20150815-defines_and_libs.patch | 28 +++++++++
...ls-20150815-handle_single_protocol_system.patch | 70 ++++++++++++++++++++++
.../files/iputils-20150815-ping6_crypto.patch | 29 ---------
.../files/iputils-20150815-ping_default_ipv4.patch | 65 --------------------
net-misc/iputils/iputils-20150815-r1.ebuild | 8 +--
5 files changed, 102 insertions(+), 98 deletions(-)
diff --git a/net-misc/iputils/files/iputils-20150815-defines_and_libs.patch b/net-misc/iputils/files/iputils-20150815-defines_and_libs.patch
new file mode 100644
index 0000000..4def935
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20150815-defines_and_libs.patch
@@ -0,0 +1,28 @@
+From ba739daf98450fe725569724eefc64a2afdeb909 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pavel=20=C5=A0imerda?= <psimerda@redhat.com>
+Date: Thu, 20 Aug 2015 16:16:14 +0200
+Subject: [PATCH] ping: fix defines and libs in Makefile
+
+---
+ Makefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9b0b70f..4eea516 100644
+--- a/Makefile
++++ b/Makefile
+@@ -153,10 +153,10 @@ DEF_clockdiff = $(DEF_CAP)
+ LIB_clockdiff = $(LIB_CAP)
+
+ # ping / ping6
+-DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
+-DEF_ping6_common = $(DEF_CAP) $(DEF_IDN)
+-DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
+-LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV)
++DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_CRYPTO) $(DEF_WITHOUT_IFADDRS)
++DEF_ping_common = $(DEF_ping)
++DEF_ping6_common = $(DEF_ping)
++LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_CRYPTO) $(LIB_RESOLV)
+
+ ping: ping_common.o ping6_common.o
+ ping.o ping_common.o ping6_common.o: ping.h in6_flowlabel.h
diff --git a/net-misc/iputils/files/iputils-20150815-handle_single_protocol_system.patch b/net-misc/iputils/files/iputils-20150815-handle_single_protocol_system.patch
new file mode 100644
index 0000000..1bf98cc
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20150815-handle_single_protocol_system.patch
@@ -0,0 +1,70 @@
+From 9fd870a4bac0b8b2070c38452f378ef1eb7d460a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pavel=20=C5=A0imerda?= <psimerda@redhat.com>
+Date: Fri, 21 Aug 2015 00:55:56 +0200
+Subject: [PATCH] ping: handle single protocol systems
+
+---
+ ping.c | 28 ++++++++++++++++++----------
+ 1 file changed, 18 insertions(+), 10 deletions(-)
+
+diff --git a/ping.c b/ping.c
+index ec9708e..95a10a7 100644
+--- a/ping.c
++++ b/ping.c
+@@ -110,26 +110,26 @@ static struct sockaddr_in source = { .sin_family = AF_INET };
+ static char *device;
+ static int pmtudisc = -1;
+
+-static void create_socket(socket_st *sock, int family, int socktype, int protocol)
++static void create_socket(socket_st *sock, int family, int socktype, int protocol, int requisite)
+ {
+ errno = 0;
+
+ sock->fd = socket(family, socktype, protocol);
+
+- /* Fallback to raw socket when ping socket failed */
+- if (sock->fd == -1 && socktype == SOCK_DGRAM) {
++ /* Attempt creating a raw socket when ping socket failed */
++ if (sock->fd == -1 && errno != EAFNOSUPPORT && socktype == SOCK_DGRAM) {
+ if (options & F_VERBOSE)
+ fprintf(stderr, "ping: socket: %s, attempting raw socket...\n", strerror(errno));
+- create_socket(sock, family, SOCK_RAW, protocol);
++ create_socket(sock, family, SOCK_RAW, protocol, requisite);
+ return;
+ }
+
+ if (sock->fd == -1) {
+- if (socktype == SOCK_RAW)
+- fprintf(stderr, "ping: socket: %s (raw socket required by specified options).\n", strerror(errno));
+- else
++ if (requisite || errno != EAFNOSUPPORT || options & F_VERBOSE)
+ fprintf(stderr, "ping: socket: %s\n", strerror(errno));
+- exit(2);
++ if (requisite)
++ exit(2);
++ return;
+ }
+
+ sock->socktype = socktype;
+@@ -442,11 +442,19 @@ main(int argc, char **argv)
+ /* Create sockets */
+ enable_capability_raw();
+ if (hints.ai_family != AF_INET6)
+- create_socket(&sock4, AF_INET, hints.ai_socktype, IPPROTO_ICMP);
++ create_socket(&sock4, AF_INET, hints.ai_socktype, IPPROTO_ICMP, hints.ai_family == AF_INET);
+ if (hints.ai_family != AF_INET)
+- create_socket(&sock6, AF_INET6, hints.ai_socktype, IPPROTO_ICMPV6);
++ create_socket(&sock6, AF_INET6, hints.ai_socktype, IPPROTO_ICMPV6, sock4.fd == -1);
+ disable_capability_raw();
+
++ /* Limit address family on single-protocol systems */
++ if (hints.ai_family == AF_UNSPEC) {
++ if (sock4.fd == -1)
++ hints.ai_family = AF_INET6;
++ else if (sock6.fd == -1)
++ hints.ai_family = AF_INET;
++ }
++
+ /* Set socket options */
+ if (settos)
+ set_socket_option(&sock4, IPPROTO_IP, IP_TOS, &settos, sizeof settos);
diff --git a/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch b/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch
deleted file mode 100644
index 1e236ee..0000000
--- a/net-misc/iputils/files/iputils-20150815-ping6_crypto.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a45b719645960c9bacb430e452192d6ffac5be19 Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Thu, 20 Aug 2015 13:43:47 +0200
-Subject: [PATCH] Let ping6 use crypto if enabled.
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index e34be5b..d4cb6c0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -159,9 +159,9 @@ LIB_clockdiff = $(LIB_CAP)
-
- # ping / ping6
- DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
--DEF_ping6_common = $(DEF_CAP) $(DEF_IDN)
-+DEF_ping6_common = $(DEF_CAP) $(DEF_IDN) $(DEF_CRYPTO)
- DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_IPV4)
--LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV)
-+LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) $(LIB_CRYPTO)
-
- ping: ping_common.o ping6_common.o
- ping.o ping_common.o ping6_common.o: ping.h in6_flowlabel.h
---
-2.5.0
-
diff --git a/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch b/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch
deleted file mode 100644
index 71d32f0..0000000
--- a/net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 8d4d34eea9fbd25d0103975f366799764bbc4a2f Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Thu, 20 Aug 2015 11:47:22 +0200
-Subject: [PATCH] Add possibility to make ping use IPv4 by default.
-
-Using ping with a linux kernel without IPv6 capability yields to the
-following problem:
-
-> ping www.google.de
-ping: socket: Address family not supported by protocol (raw socket
-required by specified options).
->
-
-because ping is using IPv6 by default when -4 option is omitted.
-
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- Makefile | 7 ++++++-
- ping.c | 5 +++++
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 8b37c42..e34be5b 100644
---- a/Makefile
-+++ b/Makefile
-@@ -114,6 +114,11 @@ ifeq ($(ENABLE_PING6_RTHDR),RFC3542)
- endif
- endif
-
-+# DEFAULT TO IPV4
-+ifneq ($(IPV4_DEFAULT),no)
-+ DEF_IPV4 = -DIPV4_DEFAULT
-+endif
-+
- # -------------------------------------
- TARGETS=ping tracepath tracepath6 traceroute6 clockdiff rdisc arping tftpd rarpd
-
-@@ -155,7 +160,7 @@ LIB_clockdiff = $(LIB_CAP)
- # ping / ping6
- DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
- DEF_ping6_common = $(DEF_CAP) $(DEF_IDN)
--DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
-+DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_IPV4)
- LIB_ping = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV)
-
- ping: ping_common.o ping6_common.o
-diff --git a/ping.c b/ping.c
-index ec9708e..a08a03e 100644
---- a/ping.c
-+++ b/ping.c
-@@ -439,6 +439,11 @@ main(int argc, char **argv)
-
- target = argv[argc-1];
-
-+#ifdef IPV4_DEFAULT
-+ if (hints.ai_family == AF_UNSPEC)
-+ hints.ai_family = AF_INET;
-+#endif
-+
- /* Create sockets */
- enable_capability_raw();
- if (hints.ai_family != AF_INET6)
---
-2.5.0
-
diff --git a/net-misc/iputils/iputils-20150815-r1.ebuild b/net-misc/iputils/iputils-20150815-r1.ebuild
index a23f1b9..5227963 100644
--- a/net-misc/iputils/iputils-20150815-r1.ebuild
+++ b/net-misc/iputils/iputils-20150815-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@@ -7,7 +7,7 @@
# building stages, and when the jade/sgml packages are broken (which
# seems to be more common than would be nice).
-EAPI="4"
+EAPI=5
inherit flag-o-matic eutils toolchain-funcs fcaps
if [[ ${PV} == "99999999" ]] ; then
@@ -58,8 +58,8 @@ S=${WORKDIR}/${PN}-s${PV}
PATCHES=(
"${FILESDIR}/021109-uclibc-no-ether_ntohost.patch"
- "${FILESDIR}/${PN}-20150815-ping_default_ipv4.patch"
- "${FILESDIR}/${PN}-20150815-ping6_crypto.patch"
+ "${FILESDIR}/${PN}-20150815-defines_and_libs.patch"
+ "${FILESDIR}/${PN}-20150815-handle_single_protocol_system.patch"
)
src_prepare() {
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2017-10-28 14:47 Thomas Deutschmann
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2017-10-28 14:47 UTC (permalink / raw
To: gentoo-commits
commit: c80f7a43e5789f3be0e39bbae4c29b6e25ab5e61
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 28 14:40:16 2017 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sat Oct 28 14:46:00 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c80f7a43
net-misc/iputils: Update live ebuild
Closes: https://github.com/gentoo/gentoo/pull/5591
Closes: https://bugs.gentoo.org/628240
Package-Manager: Portage-2.3.13, Repoman-2.3.4
.../files/iputils-99999999-tracepath46.patch | 30 +++++++++++++
net-misc/iputils/iputils-99999999.ebuild | 51 +++++++++++++---------
2 files changed, 61 insertions(+), 20 deletions(-)
diff --git a/net-misc/iputils/files/iputils-99999999-tracepath46.patch b/net-misc/iputils/files/iputils-99999999-tracepath46.patch
new file mode 100644
index 00000000000..20d017b34ee
--- /dev/null
+++ b/net-misc/iputils/files/iputils-99999999-tracepath46.patch
@@ -0,0 +1,30 @@
+From 2c4d0838dda90515d4971881d86e8b969baebe01 Mon Sep 17 00:00:00 2001
+From: Thomas Deutschmann <whissi@gentoo.org>
+Date: Thu, 19 Oct 2017 17:38:20 +0200
+Subject: [PATCH] tracepath: Support calling `tracepath` as `tracepath4` or
+ `tracepath6`
+
+---
+ tracepath.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/tracepath.c b/tracepath.c
+index b0eb911..d2a6edf 100644
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -394,6 +394,12 @@ int main(int argc, char **argv)
+ setlocale(LC_ALL, "");
+ #endif
+
++ /* Support being called using `tracepath4` or `tracepath6` symlinks */
++ if (argv[0][strlen(argv[0])-1] == '4')
++ hints.ai_family = AF_INET;
++ else if (argv[0][strlen(argv[0])-1] == '6')
++ hints.ai_family = AF_INET6;
++
+ while ((ch = getopt(argc, argv, "46nbh?l:m:p:")) != EOF) {
+ switch(ch) {
+ case '4':
+--
+2.14.3
+
diff --git a/net-misc/iputils/iputils-99999999.ebuild b/net-misc/iputils/iputils-99999999.ebuild
index ce003cbf4fe..9731575e02e 100644
--- a/net-misc/iputils/iputils-99999999.ebuild
+++ b/net-misc/iputils/iputils-99999999.ebuild
@@ -3,20 +3,22 @@
# For released versions, we precompile the man/html pages and store
# them in a tarball on our mirrors. This avoids ugly issues while
-# building stages, and when the jade/sgml packages are broken (which
-# seems to be more common than would be nice).
-# Required packages for doc generation:
-# app-text/docbook-sgml-utils
+# building stages, and reduces depedencies.
+# To regenerate man/html pages emerge iputils-99999999[doc] with
+# EGIT_COMMIT set to release tag and tar ${S}/doc folder.
-EAPI=5
+EAPI="6"
+
+inherit flag-o-matic toolchain-funcs fcaps
+
+PATCHES=( "${FILESDIR}"/${PN}-99999999-tracepath46.patch )
-inherit flag-o-matic eutils toolchain-funcs fcaps
if [[ ${PV} == "99999999" ]] ; then
EGIT_REPO_URI="https://github.com/iputils/iputils.git"
inherit git-r3
else
SRC_URI="https://github.com/iputils/iputils/archive/s${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~polynomial-c/iputils-s${PV}-manpages.tar.xz"
+ https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${PV}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
fi
@@ -43,13 +45,13 @@ RDEPEND="arping? ( !net-misc/arping )
!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND} )
- virtual/os-headers"
+ virtual/os-headers
+"
if [[ ${PV} == "99999999" ]] ; then
- DEPEND+="
- app-text/openjade
- dev-perl/SGMLSpm
- app-text/docbook-sgml-dtd
- app-text/docbook-sgml-utils
+ DEPEND+="app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
"
fi
@@ -58,7 +60,9 @@ REQUIRED_USE="ipv6? ( ssl? ( ^^ ( gcrypt nettle openssl ) ) )"
[ "${PV}" = "99999999" ] || S="${WORKDIR}/${PN}-s${PV}"
src_prepare() {
- use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch
+ use SECURITY_HAZARD && PATCHES+=( "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch )
+
+ default
}
src_configure() {
@@ -70,7 +74,6 @@ src_configure() {
)
if use ipv6 ; then
TARGETS+=(
- $(usex tracepath 'tracepath6' '')
$(usex traceroute 'traceroute6' '')
)
fi
@@ -100,7 +103,9 @@ src_compile() {
${myconf[@]}
if [[ ${PV} == "99999999" ]] ; then
- emake html man
+ emake man
+
+ use doc && emake html
fi
}
@@ -121,8 +126,14 @@ src_install() {
into /usr
+ if use tracepath ; then
+ dosbin tracepath
+ doman doc/tracepath.8
+ dosym tracepath /usr/sbin/tracepath4
+ fi
+
local u
- for u in clockdiff rarpd rdisc tftpd tracepath ; do
+ for u in clockdiff rarpd rdisc tftpd ; do
if use ${u} ; then
case ${u} in
clockdiff) dobin ${u};;
@@ -133,7 +144,7 @@ src_install() {
done
if use tracepath && use ipv6 ; then
- dosbin tracepath6
+ dosym tracepath /usr/sbin/tracepath6
dosym tracepath.8 /usr/share/man/man8/tracepath6.8
fi
@@ -147,9 +158,9 @@ src_install() {
newconfd "${FILESDIR}"/rarpd.conf.d rarpd
fi
- dodoc INSTALL.md RELNOTES
+ dodoc INSTALL.md
- use doc && dohtml doc/*.html
+ use doc && dodoc doc/*.html
}
pkg_postinst() {
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2018-05-16 19:26 Lars Wendler
0 siblings, 0 replies; 10+ messages in thread
From: Lars Wendler @ 2018-05-16 19:26 UTC (permalink / raw
To: gentoo-commits
commit: 034a66e5627fc629c4e43a5e49c2b483cac08333
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed May 16 19:24:50 2018 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed May 16 19:26:21 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=034a66e5
net-misc/iputils: Removed old.
Package-Manager: Portage-2.3.36, Repoman-2.3.9
net-misc/iputils/Manifest | 8 -
.../files/iputils-20071127-nonroot-floodping.patch | 11 -
.../files/iputils-20121221-crypto-build.patch | 35 ----
.../iputils/files/iputils-20121221-makefile.patch | 61 ------
.../iputils/files/iputils-20121221-openssl.patch | 92 ---------
.../files/iputils-20121221-owl-pingsock.diff | 224 ---------------------
.../files/iputils-20121221-parallel-doc.patch | 74 -------
.../files/iputils-20121221-printf-size.patch | 64 ------
.../iputils/files/iputils-20121221-strtod.patch | 45 -----
.../files/iputils-20121221-tftpd-setid.patch | 34 ----
.../files/iputils-20121221-tftpd-syslog.patch | 38 ----
.../iputils/files/iputils-99999999-openssl.patch | 97 ---------
.../files/iputils-99999999-tftpd-syslog.patch | 38 ----
net-misc/iputils/iputils-20121221-r1.ebuild | 103 ----------
net-misc/iputils/iputils-20121221-r2.ebuild | 153 --------------
net-misc/iputils/iputils-20151218.ebuild | 158 ---------------
net-misc/iputils/iputils-20160308.ebuild | 165 ---------------
net-misc/iputils/iputils-20161105.ebuild | 168 ----------------
18 files changed, 1568 deletions(-)
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
index db05f47bd4f..4bd330cb3a8 100644
--- a/net-misc/iputils/Manifest
+++ b/net-misc/iputils/Manifest
@@ -1,10 +1,2 @@
-DIST iputils-20160308.tar.gz 195348 BLAKE2B d034454921a117307c5092c5b44c250cb90ab96d4b0331cf0c7645523159d3f615746edf6c70faf5b13a2a58761fcb4dbe09043cd486ddc56586a9716f98ca5a SHA512 6b4d6e58ab8f1218f3ab52da695f252bd3e0004ffce755f2378b44fc3b4fbf9beb9beef51ff12f14348a07f6fe8525e64dba7f5d7b70997423d2c98c5ff7dde2
-DIST iputils-20161105.tar.gz 195879 BLAKE2B 3aacbe2a507415d43e524329df269d8a435b529c2e0bdd5387f4711a63ede46968f285dbf78491341013188b3c929e2e717898fed44c5c211fe15946bfe214a4 SHA512 1593077b6eff1e57eb8a32897dd9624a745d0c87db1501a96436b168b109ef22d41ee69406a4a2154d8d72c823c1df723b4c52eeec8d82ba2762fb01dc0d4797
DIST iputils-20171016_pre.tar.gz 195254 BLAKE2B 1170db29d53dd8285b11d4df7b7da2ea3bd2be3599a3f0df85ca7e64247f2a534d03e43a2b6267ba4b9c0b65fcc58045151833ae2c1035a839ed728a389804af SHA512 570896fc58d945e08032134701ab6ea02bbf6fff420437bc5f89687cdcce6f3c1c64418a4c5ff54ca3cdc582bae2c95e196b2c8368eba2b163ebf88490aabf99
DIST iputils-manpages-20171016_pre.tar.xz 29764 BLAKE2B 47def1413b2cdcfba7f924dd7a045063c289c244ba8fb4dc43caf2a8d52032b57ee6d86ee4dffd5351faa3124d4c83a33ca3365866568c2164b374eed9d70ec0 SHA512 31b4b0b4e46d7c98530577392c636e4397917cbe415762145a119e68e3223bc85b9d5afcfe61ae01584a35f6a1a772adffc52deeedc722c474179fa1d208d8d9
-DIST iputils-s20121221-manpages.tar.bz2 23778 BLAKE2B 6b781f7df17b272bf19ba41a7d9a1449526b60f5f596c2201dcf489caf776b74e6a9de2bfff67fada2e9e0480b49a2dce341ce8e5d13c82d6ffd2a0b65bf2c49 SHA512 006be62e61bf1555c99dbd5aac270cbd8d1074a3016fdde3aeed47e5c9b1acd326aa30a596c532d6688827f7f61966a6e3141eaa3b6f4f943eb21ac227282d8c
-DIST iputils-s20121221.tar.bz2 155344 BLAKE2B bef1fc6e0484fa43fe34b3c50e9060b0bb2a76cc4912e306143a5b74ff6c42d4cfd1db890548d8d684540f0aabf949def521e2562d7878a7042095e7b19cfd9c SHA512 693d240becd766c345c3af2053fc0699b9358e54d667d40738c21d731b70e779112d81476a220d8300ca54250120385414a13610d445996f95a90571047389f4
-DIST iputils-s20151218-manpages.tar.xz 22336 BLAKE2B ea19d5bc399cadc73c137badbe304383be0b0b0794db1b655fe766c87684b760664e986ed513a5717e5cfd4b068b0800ba188f10dca5a75215891754b1208e62 SHA512 964b9e22b18b67215ea48e046c45768cd86076b53db2131b00ac721be9e7de4edadefb74855d81861f12b4e10dcecd90d29f0098c2c4568d7601d97e756be0a3
-DIST iputils-s20151218.tar.bz2 157187 BLAKE2B d739fdc696b3592ec49ee98163a31bac364fc6cd9136510c34ecddd789d0ebdd76c92ed740fe6e2f098db086aa2885e9f48b94b8f43badd208ddcb6f9332a5dd SHA512 4bf0eed0ae5603e872afb0e09be039df3822a7723e8cbb8cbe578d69d8c457ffac9bdbe2eb17b32c95968e5e4ad6204af955617482c5701671f0f476b560b65c
-DIST iputils-s20160308-manpages.tar.xz 22684 BLAKE2B 4c9a8278640b55ffce0cbb929b89fe528716905bcb119d949ad4bc41b8fe74c6b6822d2a623e377c71ca0a82ee48d7fadb770e395a9acdbfedd43da0790ff910 SHA512 fe55ee334f1a99c6d93f4d18d97666d307676ced77175b73139f888af8f4f0ddc0f1d0511ab71d234f57909def606bf5c3aede2db28a0f73eb5628b9c8e16cac
-DIST iputils-s20161105-manpages.tar.xz 22660 BLAKE2B ae764e66ebbd3e77a0583b7191532a0d8774fc5713c239f00f35c624868a9d6ea8507175153f1025ffb01d854d96ba3c542006d3966119e4fd021899ec114ad1 SHA512 10cf22e1c2bf4ab90818e2120638d250ccefd65f19545cc9662537a31ab525089309b505759a347f09f1439800e291d7fa22f38bdec5460d41bd40f323412279
diff --git a/net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch b/net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch
deleted file mode 100644
index cae87791dc2..00000000000
--- a/net-misc/iputils/files/iputils-20071127-nonroot-floodping.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- iputils-s20071127/ping_common.h.orig 2008-06-10 11:16:06.000000000 +0100
-+++ iputils-s20071127/ping_common.h 2008-06-10 11:16:18.000000000 +0100
-@@ -28,7 +28,7 @@
-
- #define MAXWAIT 10 /* max seconds to wait for response */
- #define MININTERVAL 10 /* Minimal interpacket gap */
--#define MINUSERINTERVAL 200 /* Minimal allowed interval for non-root */
-+#define MINUSERINTERVAL 0 /* Minimal allowed interval for non-root */
-
- #define SCHINT(a) (((a) <= MININTERVAL) ? MININTERVAL : (a))
-
diff --git a/net-misc/iputils/files/iputils-20121221-crypto-build.patch b/net-misc/iputils/files/iputils-20121221-crypto-build.patch
deleted file mode 100644
index 1ec3c101d52..00000000000
--- a/net-misc/iputils/files/iputils-20121221-crypto-build.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 568e990d30fc7e9416e0a6f8c74ea5013921eaec Mon Sep 17 00:00:00 2001
-From: Arjan van de Ven <arjanvandeven@gmail.com>
-Date: Wed, 16 Jan 2013 03:12:15 +0900
-Subject: [PATCH [iputils]] ping6: Fix build command line argument with gnutls.
-
-The ping6 command can use either openssl or gnutls...
-and the Makefile has a bunch of setup for defining which of the two to use.
-
-Unfortunately, the final -D define on the commandline to enable gnutls
-inside the ping6.c file didn't actually make it onto the gcc
-commandline.
-This patch adds the $(DEF_CRYPTO) Makefile variable to fix this gap.
-
-Signed-off-by: Arjan van de Ven <arjanvandeven@gmail.com>
-Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index c62d9df..89249f5 100644
---- a/Makefile
-+++ b/Makefile
-@@ -149,7 +149,7 @@ LIB_clockdiff = $(LIB_CAP)
- DEF_ping_common = $(DEF_CAP) $(DEF_IDN)
- DEF_ping = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS)
- LIB_ping = $(LIB_CAP) $(LIB_IDN)
--DEF_ping6 = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_ENABLE_PING6_RTHDR)
-+DEF_ping6 = $(DEF_CAP) $(DEF_IDN) $(DEF_WITHOUT_IFADDRS) $(DEF_ENABLE_PING6_RTHDR) $(DEF_CRYPTO)
- LIB_ping6 = $(LIB_CAP) $(LIB_IDN) $(LIB_RESOLV) $(LIB_CRYPTO)
-
- ping: ping_common.o
---
-1.8.0.2
-
diff --git a/net-misc/iputils/files/iputils-20121221-makefile.patch b/net-misc/iputils/files/iputils-20121221-makefile.patch
deleted file mode 100644
index 66424c85cf8..00000000000
--- a/net-misc/iputils/files/iputils-20121221-makefile.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From c66609d2c830d6fe06f48f5d38c54eb5cc6f2975 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 24 Jan 2013 23:36:16 -0500
-Subject: [PATCH [iputils]] fix handling of CFLAGS
-
-This defaults CFLAGS to -O3 without clobbering settings people have set
-up in the environment already.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- Makefile | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 2c49940..ecabac3 100644
---- a/Makefile
-+++ b/Makefile
-@@ -2,8 +2,6 @@
- # Configuration
- #
-
--# CC
--CC=gcc
- # Path to parent kernel include files directory
- LIBC_INCLUDE=/usr/include
- # Libraries
-@@ -48,11 +46,10 @@ ENABLE_RDISC_SERVER=no
-
- # -------------------------------------
- # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
--# CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
--CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -g
--CCOPTOPT=-O3
--GLIBCFIX=-D_GNU_SOURCE
--DEFINES=
-+# CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
-+CFLAGS?=-O3 -g
-+CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
-+CPPFLAGS+=-D_GNU_SOURCE
- LDLIB=
-
- FUNC_LIB = $(if $(filter static,$(1)),$(LDFLAG_STATIC) $(2) $(LDFLAG_DYNAMIC),$(2))
-@@ -113,7 +110,6 @@ IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
- IPV6_TARGETS=tracepath6 traceroute6 ping6
- TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
-
--CFLAGS=$(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES)
- LDLIBS=$(LDLIB) $(ADDLIB)
-
- UNAME_N:=$(shell uname -n)
-@@ -132,6 +128,7 @@ all: $(TARGETS)
- $(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -S -o $@
- %.o: %.c
- $(COMPILE.c) $< $(DEF_$(patsubst %.o,%,$@)) -o $@
-+LINK.o += $(CFLAGS)
- $(TARGETS): %: %.o
- $(LINK.o) $^ $(LIB_$@) $(LDLIBS) -o $@
-
---
-1.8.0.2
-
diff --git a/net-misc/iputils/files/iputils-20121221-openssl.patch b/net-misc/iputils/files/iputils-20121221-openssl.patch
deleted file mode 100644
index 1c6ba81dab8..00000000000
--- a/net-misc/iputils/files/iputils-20121221-openssl.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From b57d77dcfa5cb363b7eba5b331324669a8505ac4 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 24 Jan 2013 23:32:39 -0500
-Subject: [PATCH [iputils]] ping6: allow disabling of openssl support
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- Makefile | 5 ++++-
- ping6.c | 14 +++++++++++++-
- 2 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 89249f5..2c49940 100644
---- a/Makefile
-+++ b/Makefile
-@@ -36,7 +36,7 @@ ARPING_DEFAULT_DEVICE=
-
- # GNU TLS library for ping6 [yes|no|static]
- USE_GNUTLS=yes
--# Crypto library for ping6 [shared|static]
-+# Crypto library for ping6 [shared|static|no]
- USE_CRYPTO=shared
- # Resolv library for ping6 [yes|static]
- USE_RESOLV=yes
-@@ -63,7 +63,10 @@ ifneq ($(USE_GNUTLS),no)
- LIB_CRYPTO = $(call FUNC_LIB,$(USE_GNUTLS),$(LDFLAG_GNUTLS))
- DEF_CRYPTO = -DUSE_GNUTLS
- else
-+ifneq ($(USE_CRYPTO),no)
- LIB_CRYPTO = $(call FUNC_LIB,$(USE_CRYPTO),$(LDFLAG_CRYPTO))
-+ DEF_CRYPTO = -DUSE_OPENSSL
-+endif
- endif
-
- # USE_RESOLV: LIB_RESOLV
-diff --git a/ping6.c b/ping6.c
-index c39864d..f2f90af 100644
---- a/ping6.c
-+++ b/ping6.c
-@@ -168,8 +168,10 @@ static int icmp_sock;
-
- #ifdef USE_GNUTLS
- # include <gnutls/openssl.h>
--#else
-+# define USE_CRYPTO
-+#elif defined USE_OPENSSL
- # include <openssl/md5.h>
-+# define USE_CRYPTO
- #endif
-
- /* Node Information query */
-@@ -326,6 +328,7 @@ static void niquery_init_nonce(void)
- #if !PING6_NONCE_MEMORY
- static int niquery_nonce(__u8 *nonce, int fill)
- {
-+# ifdef USE_CRYPTO
- static __u8 digest[MD5_DIGEST_LENGTH];
- static int seq = -1;
-
-@@ -348,6 +351,10 @@ static int niquery_nonce(__u8 *nonce, int fill)
- return -1;
- return ntohsp((__u16 *)nonce);
- }
-+# else
-+ fprintf(stderr, "ping6: function not available; crypto disabled\n");
-+ exit(3);
-+# endif
- }
- #endif
-
-@@ -502,6 +509,7 @@ static int niquery_option_subject_addr_handler(int index, const char *arg)
-
- static int niquery_option_subject_name_handler(int index, const char *arg)
- {
-+#ifdef USE_CRYPTO
- static char nigroup_buf[INET6_ADDRSTRLEN + 1 + IFNAMSIZ];
- unsigned char *dnptrs[2], **dpp, **lastdnptr;
- int n;
-@@ -627,6 +635,10 @@ errexit:
- free(idn);
- free(name);
- exit(1);
-+#else
-+ fprintf(stderr, "ping6: function not available; crypto disabled\n");
-+ exit(3);
-+#endif
- }
-
- int niquery_option_help_handler(int index, const char *arg)
---
-1.8.0.2
-
diff --git a/net-misc/iputils/files/iputils-20121221-owl-pingsock.diff b/net-misc/iputils/files/iputils-20121221-owl-pingsock.diff
deleted file mode 100644
index 283aa989f32..00000000000
--- a/net-misc/iputils/files/iputils-20121221-owl-pingsock.diff
+++ /dev/null
@@ -1,224 +0,0 @@
-http://openwall.info/wiki/people/segoon/ping
-
---- iputils-s20101006/ping.c
-+++ iputils-s20101006/ping.c
-@@ -88,6 +88,7 @@ struct sockaddr_in whereto; /* who to pi
- int optlen = 0;
- int settos = 0; /* Set TOS, Precendence or other QOS options */
- int icmp_sock; /* socket file descriptor */
-+int using_ping_socket = 0;
- u_char outpack[0x10000];
- int maxpacket = sizeof(outpack);
-
-@@ -123,7 +124,11 @@ main(int argc, char **argv)
- char *target, hnamebuf[MAX_HOSTNAMELEN];
- char rspace[3 + 4 * NROUTES + 1]; /* record route space */
-
-- icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
-+ icmp_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP);
-+ if (icmp_sock != -1)
-+ using_ping_socket = 1;
-+ else
-+ icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
- socket_errno = errno;
-
- uid = getuid();
-@@ -377,13 +382,35 @@ main(int argc, char **argv)
- }
- }
-
-- if ((options&F_STRICTSOURCE) &&
-- bind(icmp_sock, (struct sockaddr*)&source, sizeof(source)) == -1) {
-- perror("bind");
-- exit(2);
-+ if (!using_ping_socket) {
-+ if ((options&F_STRICTSOURCE) &&
-+ bind(icmp_sock, (struct sockaddr*)&source, sizeof(source)) == -1) {
-+ perror("bind");
-+ exit(2);
-+ }
-+ } else {
-+ struct sockaddr_in sa;
-+ socklen_t sl;
-+
-+ sa.sin_family = AF_INET;
-+ sa.sin_port = 0;
-+ sa.sin_addr.s_addr = (options&F_STRICTSOURCE) ?
-+ source.sin_addr.s_addr : 0;
-+ sl = sizeof(sa);
-+
-+ if (bind(icmp_sock, (struct sockaddr *) &sa, sl) == -1) {
-+ perror("bind");
-+ exit(2);
-+ }
-+
-+ if (getsockname(icmp_sock, (struct sockaddr *) &sa, &sl) == -1) {
-+ perror("getsockname");
-+ exit(2);
-+ }
-+ ident = sa.sin_port;
- }
-
-- if (1) {
-+ if (!using_ping_socket) {
- struct icmp_filter filt;
- filt.data = ~((1<<ICMP_SOURCE_QUENCH)|
- (1<<ICMP_DEST_UNREACH)|
-@@ -398,6 +425,12 @@ main(int argc, char **argv)
- hold = 1;
- if (setsockopt(icmp_sock, SOL_IP, IP_RECVERR, (char *)&hold, sizeof(hold)))
- fprintf(stderr, "WARNING: your kernel is veeery old. No problems.\n");
-+ if (using_ping_socket) {
-+ if (setsockopt(icmp_sock, SOL_IP, IP_RECVTTL, (char *)&hold, sizeof(hold)))
-+ perror("WARNING: setsockopt(IP_RECVTTL)");
-+ if (setsockopt(icmp_sock, SOL_IP, IP_RETOPTS, (char *)&hold, sizeof(hold)))
-+ perror("WARNING: setsockopt(IP_RETOPTS)");
-+ }
-
- /* record route option */
- if (options & F_RROUTE) {
-@@ -566,6 +599,7 @@ int receive_error_msg()
- nerrors++;
- } else if (e->ee_origin == SO_EE_ORIGIN_ICMP) {
- struct sockaddr_in *sin = (struct sockaddr_in*)(e+1);
-+ int error_pkt;
-
- if (res < sizeof(icmph) ||
- target.sin_addr.s_addr != whereto.sin_addr.s_addr ||
-@@ -576,9 +610,18 @@ int receive_error_msg()
- goto out;
- }
-
-- acknowledge(ntohs(icmph.un.echo.sequence));
-+ error_pkt = (e->ee_type != ICMP_REDIRECT &&
-+ e->ee_type != ICMP_SOURCE_QUENCH);
-+ if (error_pkt) {
-+ acknowledge(ntohs(icmph.un.echo.sequence));
-+ net_errors++;
-+ nerrors++;
-+ }
-+ else {
-+ saved_errno = 0;
-+ }
-
-- if (!working_recverr) {
-+ if (!using_ping_socket && !working_recverr) {
- struct icmp_filter filt;
- working_recverr = 1;
- /* OK, it works. Add stronger filter. */
-@@ -589,15 +632,14 @@ int receive_error_msg()
- perror("\rWARNING: setsockopt(ICMP_FILTER)");
- }
-
-- net_errors++;
-- nerrors++;
- if (options & F_QUIET)
- goto out;
- if (options & F_FLOOD) {
-- write_stdout("\bE", 2);
-+ if (error_pkt)
-+ write_stdout("\bE", 2);
- } else {
- print_timestamp();
-- printf("From %s icmp_seq=%u ", pr_addr(sin->sin_addr.s_addr), ntohs(icmph.un.echo.sequence));
-+ printf("From %s: icmp_seq=%u ", pr_addr(sin->sin_addr.s_addr), ntohs(icmph.un.echo.sequence));
- pr_icmph(e->ee_type, e->ee_code, e->ee_info, NULL);
- fflush(stdout);
- }
-@@ -695,15 +737,41 @@ parse_reply(struct msghdr *msg, int cc,
- struct iphdr *ip;
- int hlen;
- int csfailed;
-+ struct cmsghdr *cmsg;
-+ int ttl;
-+ __u8 *opts;
-+ int optlen;
-
- /* Check the IP header */
- ip = (struct iphdr *)buf;
-- hlen = ip->ihl*4;
-- if (cc < hlen + 8 || ip->ihl < 5) {
-- if (options & F_VERBOSE)
-- fprintf(stderr, "ping: packet too short (%d bytes) from %s\n", cc,
-- pr_addr(from->sin_addr.s_addr));
-- return 1;
-+ if (!using_ping_socket) {
-+ hlen = ip->ihl*4;
-+ if (cc < hlen + 8 || ip->ihl < 5) {
-+ if (options & F_VERBOSE)
-+ fprintf(stderr, "ping: packet too short (%d bytes) from %s\n", cc,
-+ pr_addr(from->sin_addr.s_addr));
-+ return 1;
-+ }
-+ ttl = ip->ttl;
-+ opts = buf + sizeof(struct iphdr);
-+ optlen = hlen - sizeof(struct iphdr);
-+ } else {
-+ hlen = 0;
-+ ttl = 0;
-+ opts = buf;
-+ optlen = 0;
-+ for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) {
-+ if (cmsg->cmsg_level != SOL_IP)
-+ continue;
-+ if (cmsg->cmsg_type == IP_TTL) {
-+ if (cmsg->cmsg_len < sizeof(int))
-+ continue;
-+ ttl = *(int *) CMSG_DATA(cmsg);
-+ } else if (cmsg->cmsg_type == IP_RETOPTS) {
-+ opts = (__u8 *) CMSG_DATA(cmsg);
-+ optlen = cmsg->cmsg_len;
-+ }
-+ }
- }
-
- /* Now the ICMP part */
-@@ -716,7 +784,7 @@ parse_reply(struct msghdr *msg, int cc,
- return 1; /* 'Twas not our ECHO */
- if (gather_statistics((__u8*)icp, sizeof(*icp), cc,
- ntohs(icp->un.echo.sequence),
-- ip->ttl, 0, tv, pr_addr(from->sin_addr.s_addr),
-+ ttl, 0, tv, pr_addr(from->sin_addr.s_addr),
- pr_echo_reply))
- return 0;
- } else {
-@@ -807,7 +875,7 @@ parse_reply(struct msghdr *msg, int cc,
- }
-
- if (!(options & F_FLOOD)) {
-- pr_options(buf + sizeof(struct iphdr), hlen);
-+ pr_options(opts, optlen + sizeof(struct iphdr));
-
- if (options & F_AUDIBLE)
- putchar('\a');
-@@ -916,8 +984,7 @@ void pr_icmph(__u8 type, __u8 code, __u3
- printf("Redirect, Bad Code: %d", code);
- break;
- }
-- if (icp)
-- printf("(New nexthop: %s)\n", pr_addr(icp->un.gateway));
-+ printf("(New nexthop: %s)\n", pr_addr(icp ? icp->un.gateway : info));
- if (icp && (options & F_VERBOSE))
- pr_iph((struct iphdr*)(icp + 1));
- break;
-@@ -1217,7 +1284,7 @@ void install_filter(void)
- insns
- };
-
-- if (once)
-+ if (once || using_ping_socket)
- return;
- once = 1;
-
---- iputils-s20101006/ping_common.c
-+++ iputils-s20101006/ping_common.c
-@@ -515,7 +515,8 @@ void setup(int icmp_sock)
- *p++ = i;
- }
-
-- ident = htons(getpid() & 0xFFFF);
-+ if (!ident)
-+ ident = htons(getpid() & 0xFFFF);
-
- set_signal(SIGINT, sigexit);
- set_signal(SIGALRM, sigexit);
diff --git a/net-misc/iputils/files/iputils-20121221-parallel-doc.patch b/net-misc/iputils/files/iputils-20121221-parallel-doc.patch
deleted file mode 100644
index 22bfb8811ed..00000000000
--- a/net-misc/iputils/files/iputils-20121221-parallel-doc.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 4e322b85a12ba3ef5e8118724e3442b2ebb0f6d6 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Wed, 1 Aug 2012 11:43:34 -0400
-Subject: [PATCH iputils] doc: fix parallel build of html/man pages
-
-The use of the same tempdir prevents building of these files in parallel.
-So build all of them in unique tempdirs so we can do them in parallel.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- doc/Makefile | 37 ++++++++++++++++++++++++-------------
- 1 file changed, 24 insertions(+), 13 deletions(-)
-
-diff --git a/doc/Makefile b/doc/Makefile
-index 7ec4f1c..4f930a3 100644
---- a/doc/Makefile
-+++ b/doc/Makefile
-@@ -12,29 +12,40 @@ man: $(MANFILES)
- # lots of some strange temporary junk directories and files.
- # So, scope it to a temporary dir and clean all after each run.
-
--$(HTMLFILES): index.db
-- @-rm -rf tmp.db2html
-- @mkdir tmp.db2html
-- @set -e; cd tmp.db2html; docbook2html ../$< ; mv *.html ..
-- @-rm -rf tmp.db2html
-+SETUP_TMPDIR = \
-+ t="tmp.db2html.$@"; \
-+ rm -rf $$t; \
-+ mkdir $$t; \
-+ cd $$t
-+CLEAN_TMPDIR = \
-+ cd ..; \
-+ rm -rf $$t
-+
-+MAKE_HTML = \
-+ @set -e; \
-+ $(SETUP_TMPDIR); \
-+ docbook2html ../$<; \
-+ mv *.html ..; \
-+ $(CLEAN_TMPDIR)
-
-+$(HTMLFILES): index.db
-+ $(MAKE_HTML)
- iputils.html: iputils.db
-- @-rm -rf tmp.db2html
-- @mkdir tmp.db2html
-- @set -e; cd tmp.db2html; docbook2html -u -o html ../$< ; mv html/$@ ..
-- @-rm -rf tmp.db2html
-+ $(MAKE_HTML)
-
- # docbook2man produces utterly ugly output and I did not find
- # any way to customize this but hacking backend perl script a little.
- # Well, hence...
-
- $(MANFILES): index.db
-- @-mkdir tmp.db2man
-- @set -e; cd tmp.db2man; nsgmls ../$< | sgmlspl ../docbook2man-spec.pl ; mv $@ ..
-- @-rm -rf tmp.db2man
-+ @set -e; \
-+ $(SETUP_TMPDIR); \
-+ nsgmls ../$< | sgmlspl ../docbook2man-spec.pl; \
-+ mv $@ ..; \
-+ $(CLEAN_TMPDIR)
-
- clean:
-- @rm -rf $(MANFILES) $(HTMLFILES) iputils.html tmp.db2html tmp.db2man
-+ @rm -rf $(MANFILES) $(HTMLFILES) iputils.html tmp.db2html* tmp.db2man*
-
- snapshot:
- @date "+%y%m%d" > snapshot.db
---
-2.3.5
-
diff --git a/net-misc/iputils/files/iputils-20121221-printf-size.patch b/net-misc/iputils/files/iputils-20121221-printf-size.patch
deleted file mode 100644
index 6d6c3b7d258..00000000000
--- a/net-misc/iputils/files/iputils-20121221-printf-size.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 23fcb10ae15a96aa9e5a823cfe0b612d9522691c Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 14 Aug 2010 01:16:42 -0400
-Subject: [PATCH [iputils]] tracepath: re-use printf return in print_host
-
-Since the printf funcs already return the length of chars displayed,
-use that value instead of re-calculating the length with strlen.
-
-This also fixes the handling of the strlen return -- it's a size_t,
-not an int.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- tracepath.c | 11 ++++-------
- tracepath6.c | 11 ++++-------
- 2 files changed, 8 insertions(+), 14 deletions(-)
-
-diff --git a/tracepath.c b/tracepath.c
-index 8a08f1d..f155816 100644
---- a/tracepath.c
-+++ b/tracepath.c
-@@ -73,13 +73,10 @@ void data_wait(int fd)
-
- void print_host(const char *a, const char *b, int both)
- {
-- int plen = 0;
-- printf("%s", a);
-- plen = strlen(a);
-- if (both) {
-- printf(" (%s)", b);
-- plen += strlen(b) + 3;
-- }
-+ int plen;
-+ plen = printf("%s", a);
-+ if (both)
-+ plen += printf(" (%s)", b);
- if (plen >= HOST_COLUMN_SIZE)
- plen = HOST_COLUMN_SIZE - 1;
- printf("%*s", HOST_COLUMN_SIZE - plen, "");
-diff --git a/tracepath6.c b/tracepath6.c
-index 126fadf..bee95c3 100644
---- a/tracepath6.c
-+++ b/tracepath6.c
-@@ -86,13 +86,10 @@ void data_wait(int fd)
-
- void print_host(const char *a, const char *b, int both)
- {
-- int plen = 0;
-- printf("%s", a);
-- plen = strlen(a);
-- if (both) {
-- printf(" (%s)", b);
-- plen += strlen(b) + 3;
-- }
-+ int plen;
-+ plen = printf("%s", a);
-+ if (both)
-+ plen += printf(" (%s)", b);
- if (plen >= HOST_COLUMN_SIZE)
- plen = HOST_COLUMN_SIZE - 1;
- printf("%*s", HOST_COLUMN_SIZE - plen, "");
---
-1.8.0.2
-
diff --git a/net-misc/iputils/files/iputils-20121221-strtod.patch b/net-misc/iputils/files/iputils-20121221-strtod.patch
deleted file mode 100644
index 303acf5c42c..00000000000
--- a/net-misc/iputils/files/iputils-20121221-strtod.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://bugs.gentoo.org/472592
-
-From dd0aa192626f94d08e399fc2a743ee72c50853fb Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Fri, 24 Apr 2015 20:41:31 -0400
-Subject: [PATCH iputils] ping: fix -i number parsing in locales
-
-Always use #.# format for the -i flag even when the current locale uses
-a different separator. Locale de_DE which uses #,# normally.
-
-Simple testcase:
-$ make USE_IDN=1
-$ LANG=de_DE.UTF8 ./ping -i 0.5 localhost
-
-Reported-by: Sergey Fionov <fionov@gmail.com>
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- ping_common.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/ping_common.c b/ping_common.c
-index 62f53a6..0a37e09 100644
---- a/ping_common.c
-+++ b/ping_common.c
-@@ -269,9 +269,17 @@ void common_options(int ch)
- double dbl;
- char *ep;
-
-+#ifdef USE_IDN
-+ setlocale(LC_ALL, "C");
-+#endif
-+
- errno = 0;
- dbl = strtod(optarg, &ep);
-
-+#ifdef USE_IDN
-+ setlocale(LC_ALL, "");
-+#endif
-+
- if (errno || *ep != '\0' ||
- !finite(dbl) || dbl < 0.0 || dbl >= (double)INT_MAX / 1000 - 1.0) {
- fprintf(stderr, "ping: bad timing interval\n");
---
-2.3.5
-
diff --git a/net-misc/iputils/files/iputils-20121221-tftpd-setid.patch b/net-misc/iputils/files/iputils-20121221-tftpd-setid.patch
deleted file mode 100644
index 0ea56685d26..00000000000
--- a/net-misc/iputils/files/iputils-20121221-tftpd-setid.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d81a44625b04d487c895473aa77af13420b7afdd Mon Sep 17 00:00:00 2001
-From: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
-Date: Thu, 19 Jun 2014 17:25:49 +0900
-Subject: [PATCH iputils] tftpd: Exit if setuid()/setgid() failed.
-
-Signed-off-by: YOSHIFUJI Hideaki <hideaki.yoshifuji@miraclelinux.com>
----
- tftpd.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/tftpd.c b/tftpd.c
-index 2a39ec4..e3af2f4 100644
---- a/tftpd.c
-+++ b/tftpd.c
-@@ -111,8 +111,14 @@ int main(int ac, char **av)
-
- /* Sanity. If parent forgot to setuid() on us. */
- if (geteuid() == 0) {
-- setgid(65534);
-- setuid(65534);
-+ if (setgid(65534)) {
-+ syslog(LOG_ERR, "setgid");
-+ exit(1);
-+ }
-+ if (setuid(65534)) {
-+ syslog(LOG_ERR, "setuid");
-+ exit(1);
-+ }
- }
-
- ac--; av++;
---
-2.3.5
-
diff --git a/net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch b/net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch
deleted file mode 100644
index ad34f3b5f64..00000000000
--- a/net-misc/iputils/files/iputils-20121221-tftpd-syslog.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e88ed3752872d7c7ca37d95eb4d434ca4d3c4eae Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 19 Apr 2014 10:39:39 -0400
-Subject: [PATCH iputils] tftpd: fix syslog setup
-
-Commit d81a44625b04d487c895473aa77af13420b7afdd added support for checking
-the set*id calls, but would call syslog() before it had called openlog().
-Move the call up earlier to fix that.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- tftpd.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tftpd.c b/tftpd.c
-index e3af2f4..7ddc8eb 100644
---- a/tftpd.c
-+++ b/tftpd.c
-@@ -109,6 +109,8 @@ int main(int ac, char **av)
- register int n = 0;
- int on = 1;
-
-+ openlog("tftpd", LOG_PID, LOG_DAEMON);
-+
- /* Sanity. If parent forgot to setuid() on us. */
- if (geteuid() == 0) {
- if (setgid(65534)) {
-@@ -125,7 +127,6 @@ int main(int ac, char **av)
- while (ac-- > 0 && n < MAXARG)
- dirs[n++] = *av++;
-
-- openlog("tftpd", LOG_PID, LOG_DAEMON);
- if (ioctl(0, FIONBIO, &on) < 0) {
- syslog(LOG_ERR, "ioctl(FIONBIO): %m\n");
- exit(1);
---
-2.3.5
-
diff --git a/net-misc/iputils/files/iputils-99999999-openssl.patch b/net-misc/iputils/files/iputils-99999999-openssl.patch
deleted file mode 100644
index 13f5639a6fb..00000000000
--- a/net-misc/iputils/files/iputils-99999999-openssl.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 321d64b9f94653322e678e34ac214ddb73a71db8 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 24 Jan 2013 23:32:39 -0500
-Subject: [PATCH iputils] ping6: allow disabling of openssl support
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- Makefile | 5 ++++-
- iputils_md5dig.h | 4 +++-
- ping6.c | 10 ++++++++++
- 3 files changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 54e5a6d..7147f08 100644
---- a/Makefile
-+++ b/Makefile
-@@ -36,7 +36,7 @@ ARPING_DEFAULT_DEVICE=
-
- # Libgcrypt (for MD5) for ping6 [yes|no|static]
- USE_GCRYPT=yes
--# Crypto library for ping6 [shared|static]
-+# Crypto library for ping6 [shared|static|no]
- USE_CRYPTO=shared
- # Resolv library for ping6 [yes|static]
- USE_RESOLV=yes
-@@ -63,7 +63,10 @@ ifneq ($(USE_GCRYPT),no)
- LIB_CRYPTO = $(call FUNC_LIB,$(USE_GCRYPT),$(LDFLAG_GCRYPT))
- DEF_CRYPTO = -DUSE_GCRYPT
- else
-+ifneq ($(USE_CRYPTO),no)
- LIB_CRYPTO = $(call FUNC_LIB,$(USE_CRYPTO),$(LDFLAG_CRYPTO))
-+ DEF_CRYPTO = -DUSE_OPENSSL
-+endif
- endif
-
- # USE_RESOLV: LIB_RESOLV
-diff --git a/iputils_md5dig.h b/iputils_md5dig.h
-index 4cec866..d6c4d46 100644
---- a/iputils_md5dig.h
-+++ b/iputils_md5dig.h
-@@ -5,8 +5,10 @@
- # include <stdlib.h>
- # include <gcrypt.h>
- # define IPUTILS_MD5DIG_LEN 16
--#else
-+# define USE_CRYPTO
-+#elif defined(USE_OPENSSL)
- # include <openssl/md5.h>
-+# define USE_CRYPTO
- #endif
-
- #ifdef USE_GCRYPT
-diff --git a/ping6.c b/ping6.c
-index 7085f31..7b7c1af 100644
---- a/ping6.c
-+++ b/ping6.c
-@@ -324,6 +324,7 @@ static void niquery_init_nonce(void)
- #if !PING6_NONCE_MEMORY
- static int niquery_nonce(__u8 *nonce, int fill)
- {
-+# ifdef USE_CRYPTO
- static __u8 digest[MD5_DIGEST_LENGTH];
- static int seq = -1;
-
-@@ -346,6 +347,10 @@ static int niquery_nonce(__u8 *nonce, int fill)
- return -1;
- return ntohsp((__u16 *)nonce);
- }
-+# else
-+ fprintf(stderr, "ping6: function not available; crypto disabled\n");
-+ exit(3);
-+# endif
- }
- #endif
-
-@@ -500,6 +505,7 @@ static int niquery_option_subject_addr_handler(int index, const char *arg)
-
- static int niquery_option_subject_name_handler(int index, const char *arg)
- {
-+#ifdef USE_CRYPTO
- static char nigroup_buf[INET6_ADDRSTRLEN + 1 + IFNAMSIZ];
- unsigned char *dnptrs[2], **dpp, **lastdnptr;
- int n;
-@@ -625,6 +631,10 @@ errexit:
- free(idn);
- free(name);
- exit(1);
-+#else
-+ fprintf(stderr, "ping6: function not available; crypto disabled\n");
-+ exit(3);
-+#endif
- }
-
- int niquery_option_help_handler(int index, const char *arg)
---
-2.3.5
-
diff --git a/net-misc/iputils/files/iputils-99999999-tftpd-syslog.patch b/net-misc/iputils/files/iputils-99999999-tftpd-syslog.patch
deleted file mode 100644
index ad34f3b5f64..00000000000
--- a/net-misc/iputils/files/iputils-99999999-tftpd-syslog.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e88ed3752872d7c7ca37d95eb4d434ca4d3c4eae Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 19 Apr 2014 10:39:39 -0400
-Subject: [PATCH iputils] tftpd: fix syslog setup
-
-Commit d81a44625b04d487c895473aa77af13420b7afdd added support for checking
-the set*id calls, but would call syslog() before it had called openlog().
-Move the call up earlier to fix that.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- tftpd.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tftpd.c b/tftpd.c
-index e3af2f4..7ddc8eb 100644
---- a/tftpd.c
-+++ b/tftpd.c
-@@ -109,6 +109,8 @@ int main(int ac, char **av)
- register int n = 0;
- int on = 1;
-
-+ openlog("tftpd", LOG_PID, LOG_DAEMON);
-+
- /* Sanity. If parent forgot to setuid() on us. */
- if (geteuid() == 0) {
- if (setgid(65534)) {
-@@ -125,7 +127,6 @@ int main(int ac, char **av)
- while (ac-- > 0 && n < MAXARG)
- dirs[n++] = *av++;
-
-- openlog("tftpd", LOG_PID, LOG_DAEMON);
- if (ioctl(0, FIONBIO, &on) < 0) {
- syslog(LOG_ERR, "ioctl(FIONBIO): %m\n");
- exit(1);
---
-2.3.5
-
diff --git a/net-misc/iputils/iputils-20121221-r1.ebuild b/net-misc/iputils/iputils-20121221-r1.ebuild
deleted file mode 100644
index 15da76e4a2e..00000000000
--- a/net-misc/iputils/iputils-20121221-r1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# For released versions, we precompile the man/html pages and store
-# them in a tarball on our mirrors. This avoids ugly issues while
-# building stages, and when the jade/sgml packages are broken (which
-# seems to be more common than would be nice).
-
-EAPI="4"
-
-inherit flag-o-matic eutils toolchain-funcs fcaps
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="git://www.linux-ipv6.org/gitroot/iputils"
- inherit git-2
-else
- SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2
- mirror://gentoo/iputils-s${PV}-manpages.tar.bz2"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Network monitoring tools including ping and ping6"
-HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
-
-LICENSE="BSD GPL-2+ rdisc"
-SLOT="0"
-IUSE="caps doc gnutls idn ipv6 SECURITY_HAZARD ssl static"
-
-LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
- idn? ( net-dns/libidn[static-libs(+)] )
- ipv6? ( ssl? (
- gnutls? (
- net-libs/gnutls[openssl(+)]
- net-libs/gnutls[static-libs(+)]
- )
- !gnutls? ( dev-libs/openssl:0[static-libs(+)] )
- ) )"
-RDEPEND="!net-misc/rarpd
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- virtual/os-headers"
-if [[ ${PV} == "99999999" ]] ; then
- DEPEND+="
- app-text/openjade
- dev-perl/SGMLSpm
- app-text/docbook-sgml-dtd
- app-text/docbook-sgml-utils
- "
-fi
-
-S=${WORKDIR}/${PN}-s${PV}
-
-src_prepare() {
- epatch "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
- epatch "${FILESDIR}"/${PN}-20121221-openssl.patch #335436
- epatch "${FILESDIR}"/${PN}-20121221-crypto-build.patch
- epatch "${FILESDIR}"/${PN}-20100418-so_mark.patch #335347
- epatch "${FILESDIR}"/${PN}-20121221-makefile.patch
- epatch "${FILESDIR}"/${PN}-20121221-printf-size.patch
- epatch "${FILESDIR}"/${PN}-20121221-owl-pingsock.diff
- use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20071127-nonroot-floodping.patch
- use static && append-ldflags -static
-}
-
-src_compile() {
- tc-export CC
- emake \
- USE_CAP=$(usex caps) \
- USE_IDN=$(usex idn) \
- USE_GNUTLS=$(usex gnutls) \
- USE_CRYPTO=$(usex ssl) \
- $(use ipv6 || echo IPV6_TARGETS=)
-
- if [[ ${PV} == "99999999" ]] ; then
- emake -j1 html man
- fi
-}
-
-ipv6() { usex ipv6 "$*" '' ; }
-
-src_install() {
- into /
- dobin arping ping $(ipv6 ping6)
- into /usr
- dobin clockdiff
- dosbin rarpd rdisc ipg tftpd tracepath $(ipv6 tracepath6)
-
- dodoc INSTALL RELNOTES
- use ipv6 \
- && dosym ping.8 /usr/share/man/man8/ping6.8 \
- || rm -f doc/*6.8
- rm -f doc/{setkey,traceroute6}.8
- doman doc/*.8
-
- use doc && dohtml doc/*.html
-}
-
-pkg_postinst() {
- fcaps cap_net_raw \
- bin/{ar,}ping \
- $(ipv6 bin/ping6) \
- usr/bin/clockdiff
-}
diff --git a/net-misc/iputils/iputils-20121221-r2.ebuild b/net-misc/iputils/iputils-20121221-r2.ebuild
deleted file mode 100644
index f81a3dd9c1c..00000000000
--- a/net-misc/iputils/iputils-20121221-r2.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# For released versions, we precompile the man/html pages and store
-# them in a tarball on our mirrors. This avoids ugly issues while
-# building stages, and when the jade/sgml packages are broken (which
-# seems to be more common than would be nice).
-
-EAPI="4"
-
-inherit flag-o-matic eutils toolchain-funcs fcaps
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="git://www.linux-ipv6.org/gitroot/iputils"
- inherit git-2
-else
- SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2
- mirror://gentoo/iputils-s${PV}-manpages.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Network monitoring tools including ping and ping6"
-HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
-
-LICENSE="BSD GPL-2+ rdisc"
-SLOT="0"
-IUSE="+arping caps clockdiff doc gnutls idn ipv6 libressl rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
-
-LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
- idn? ( net-dns/libidn[static-libs(+)] )
- ipv6? ( ssl? (
- gnutls? (
- net-libs/gnutls[openssl(+)]
- net-libs/gnutls[static-libs(+)]
- )
- !gnutls? (
- !libressl? ( dev-libs/openssl[static-libs(+)] )
- libressl? ( dev-libs/libressl[static-libs(+)] )
- )
- ) )"
-RDEPEND="arping? ( !net-misc/arping )
- rarpd? ( !net-misc/rarpd )
- traceroute? ( !net-analyzer/traceroute )
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- virtual/os-headers"
-if [[ ${PV} == "99999999" ]] ; then
- DEPEND+="
- app-text/openjade
- dev-perl/SGMLSpm
- app-text/docbook-sgml-dtd
- app-text/docbook-sgml-utils
- "
-fi
-
-S=${WORKDIR}/${PN}-s${PV}
-
-src_prepare() {
- epatch "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
- epatch "${FILESDIR}"/${PN}-20121221-openssl.patch #335436
- epatch "${FILESDIR}"/${PN}-20121221-crypto-build.patch
- epatch "${FILESDIR}"/${PN}-20100418-so_mark.patch #335347
- epatch "${FILESDIR}"/${PN}-20121221-tftpd-setid.patch
- epatch "${FILESDIR}"/${PN}-20121221-tftpd-syslog.patch
- epatch "${FILESDIR}"/${PN}-20121221-makefile.patch
- epatch "${FILESDIR}"/${PN}-20121221-parallel-doc.patch
- epatch "${FILESDIR}"/${PN}-20121221-printf-size.patch
- epatch "${FILESDIR}"/${PN}-20121221-owl-pingsock.diff
- epatch "${FILESDIR}"/${PN}-20121221-strtod.patch #472592
- use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20071127-nonroot-floodping.patch
-}
-
-src_configure() {
- use static && append-ldflags -static
-
- IPV4_TARGETS=(
- ping
- $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
- )
- IPV6_TARGETS=(
- ping6
- $(usex tracepath 'tracepath6' '')
- $(usex traceroute 'traceroute6' '')
- )
- use ipv6 || IPV6_TARGETS=()
-}
-
-src_compile() {
- tc-export CC
- emake \
- USE_CAP=$(usex caps) \
- USE_IDN=$(usex idn) \
- USE_GNUTLS=$(usex gnutls) \
- USE_CRYPTO=$(usex ssl) \
- IPV4_TARGETS="${IPV4_TARGETS[*]}" \
- IPV6_TARGETS="${IPV6_TARGETS[*]}"
-
- if [[ ${PV} == "99999999" ]] ; then
- emake html man
- fi
-}
-
-src_install() {
- into /
- dobin ping $(usex ipv6 'ping6' '')
- use ipv6 && dosym ping.8 "${EPREFIX}"/usr/share/man/man8/ping6.8
- doman doc/ping.8
-
- if use arping ; then
- dobin arping
- doman doc/arping.8
- fi
-
- into /usr
-
- local u
- for u in clockdiff rarpd rdisc tftpd tracepath ; do
- if use ${u} ; then
- case ${u} in
- clockdiff) dobin ${u};;
- *) dosbin ${u};;
- esac
- doman doc/${u}.8
- fi
- done
-
- if use tracepath && use ipv6 ; then
- dosbin tracepath6
- dosym tracepath.8 "${EPREFIX}"/usr/share/man/man8/tracepath6.8
- fi
-
- if use traceroute && use ipv6 ; then
- dosbin traceroute6
- doman doc/traceroute6.8
- fi
-
- if use rarpd ; then
- newinitd "${FILESDIR}"/rarpd.init.d rarpd
- newconfd "${FILESDIR}"/rarpd.conf.d rarpd
- fi
-
- dodoc INSTALL RELNOTES
-
- use doc && dohtml doc/*.html
-}
-
-pkg_postinst() {
- fcaps cap_net_raw \
- bin/ping \
- $(usex ipv6 'bin/ping6' '') \
- $(usex arping 'bin/arping' '') \
- $(usex clockdiff 'usr/bin/clockdiff' '')
-}
diff --git a/net-misc/iputils/iputils-20151218.ebuild b/net-misc/iputils/iputils-20151218.ebuild
deleted file mode 100644
index ab556ec060e..00000000000
--- a/net-misc/iputils/iputils-20151218.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# For released versions, we precompile the man/html pages and store
-# them in a tarball on our mirrors. This avoids ugly issues while
-# building stages, and when the jade/sgml packages are broken (which
-# seems to be more common than would be nice).
-
-EAPI=5
-
-inherit flag-o-matic eutils toolchain-funcs fcaps
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="git://www.linux-ipv6.org/gitroot/iputils"
- inherit git-2
-else
- SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2
- https://dev.gentoo.org/~polynomial-c/iputils-s${PV}-manpages.tar.xz"
- KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Network monitoring tools including ping and ping6"
-HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
-
-LICENSE="BSD GPL-2+ rdisc"
-SLOT="0"
-IUSE="+arping caps clockdiff doc gcrypt idn ipv6 libressl rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
-
-LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
- idn? ( net-dns/libidn[static-libs(+)] )
- ipv6? ( ssl? (
- gcrypt? ( dev-libs/libgcrypt:0=[static-libs(+)] )
- !gcrypt? (
- !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
- libressl? ( dev-libs/libressl:0=[static-libs(+)] )
- )
- ) )"
-RDEPEND="arping? ( !net-misc/arping )
- rarpd? ( !net-misc/rarpd )
- traceroute? ( !net-analyzer/traceroute )
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- virtual/os-headers"
-if [[ ${PV} == "99999999" ]] ; then
- DEPEND+="
- app-text/openjade
- dev-perl/SGMLSpm
- app-text/docbook-sgml-dtd
- app-text/docbook-sgml-utils
- "
-fi
-
-S=${WORKDIR}/${PN}-s${PV}
-
-PATCHES=(
- "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
- "${FILESDIR}"/${PN}-99999999-openssl.patch #335436
- "${FILESDIR}"/${PN}-99999999-tftpd-syslog.patch
- "${FILESDIR}"/${PN}-20121221-makefile.patch
- "${FILESDIR}"/${PN}-20121221-parallel-doc.patch
- "${FILESDIR}"/${PN}-20121221-strtod.patch #472592
-)
-
-src_prepare() {
- use SECURITY_HAZARD && PATCHES+=( "${FILESDIR}"/${PN}-20071127-nonroot-floodping.patch )
- epatch "${PATCHES[@]}"
-}
-
-src_configure() {
- use static && append-ldflags -static
-
- IPV4_TARGETS=(
- ping
- $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
- )
- IPV6_TARGETS=(
- ping6
- $(usex tracepath 'tracepath6' '')
- $(usex traceroute 'traceroute6' '')
- )
- use ipv6 || IPV6_TARGETS=()
-}
-
-ldflag_resolv() {
- # See if the system includes a libresolv. #584132
- echo "main(){}" > "${T}"/resolv.c
- if ${CC} ${CFLAGS} ${LDFLAGS} "${T}"/resolv.c -lresolv -o "${T}"/resolv 2>/dev/null ; then
- echo -lresolv
- fi
-}
-
-src_compile() {
- tc-export CC
- emake \
- USE_CAP=$(usex caps) \
- USE_IDN=$(usex idn) \
- USE_GCRYPT=$(usex gcrypt) \
- USE_CRYPTO=$(usex ssl) \
- LDFLAG_RESOLV=$(ldflag_resolv) \
- IPV4_TARGETS="${IPV4_TARGETS[*]}" \
- IPV6_TARGETS="${IPV6_TARGETS[*]}"
-
- if [[ ${PV} == "99999999" ]] ; then
- emake html man
- fi
-}
-
-src_install() {
- into /
- dobin ping $(usex ipv6 'ping6' '')
- use ipv6 && dosym ping.8 /usr/share/man/man8/ping6.8
- doman doc/ping.8
-
- if use arping ; then
- dobin arping
- doman doc/arping.8
- fi
-
- into /usr
-
- local u
- for u in clockdiff rarpd rdisc tftpd tracepath ; do
- if use ${u} ; then
- case ${u} in
- clockdiff) dobin ${u};;
- *) dosbin ${u};;
- esac
- doman doc/${u}.8
- fi
- done
-
- if use tracepath && use ipv6 ; then
- dosbin tracepath6
- dosym tracepath.8 /usr/share/man/man8/tracepath6.8
- fi
-
- if use traceroute && use ipv6 ; then
- dosbin traceroute6
- doman doc/traceroute6.8
- fi
-
- if use rarpd ; then
- newinitd "${FILESDIR}"/rarpd.init.d rarpd
- newconfd "${FILESDIR}"/rarpd.conf.d rarpd
- fi
-
- dodoc INSTALL RELNOTES
-
- use doc && dohtml doc/*.html
-}
-
-pkg_postinst() {
- fcaps cap_net_raw \
- bin/ping \
- $(usex ipv6 'bin/ping6' '') \
- $(usex arping 'bin/arping' '') \
- $(usex clockdiff 'usr/bin/clockdiff' '')
-}
diff --git a/net-misc/iputils/iputils-20160308.ebuild b/net-misc/iputils/iputils-20160308.ebuild
deleted file mode 100644
index 44e4b8cef39..00000000000
--- a/net-misc/iputils/iputils-20160308.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# For released versions, we precompile the man/html pages and store
-# them in a tarball on our mirrors. This avoids ugly issues while
-# building stages, and when the jade/sgml packages are broken (which
-# seems to be more common than would be nice).
-# Required packages for doc generation:
-# app-text/docbook-sgml-utils
-
-EAPI=5
-
-inherit flag-o-matic eutils toolchain-funcs fcaps
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="https://github.com/iputils/iputils.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/iputils/iputils/archive/s${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~polynomial-c/iputils-s${PV}-manpages.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Network monitoring tools including ping and ping6"
-HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
-
-LICENSE="BSD GPL-2+ rdisc"
-SLOT="0"
-IUSE="+arping caps clockdiff doc gcrypt idn ipv6 libressl nettle +openssl rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
-
-LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
- idn? ( net-dns/libidn[static-libs(+)] )
- ipv6? ( ssl? (
- gcrypt? ( dev-libs/libgcrypt:0=[static-libs(+)] )
- nettle? ( dev-libs/nettle[static-libs(+)] )
- openssl? (
- !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
- libressl? ( dev-libs/libressl[static-libs(+)] )
- )
- ) )"
-RDEPEND="arping? ( !net-misc/arping )
- rarpd? ( !net-misc/rarpd )
- traceroute? ( !net-analyzer/traceroute )
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- virtual/os-headers"
-if [[ ${PV} == "99999999" ]] ; then
- DEPEND+="
- app-text/openjade
- dev-perl/SGMLSpm
- app-text/docbook-sgml-dtd
- app-text/docbook-sgml-utils
- "
-fi
-
-REQUIRED_USE="ipv6? ( ssl? ( ^^ ( gcrypt nettle openssl ) ) )"
-
-S=${WORKDIR}/${PN}-s${PV}
-
-PATCHES=(
- "${FILESDIR}/021109-uclibc-no-ether_ntohost.patch"
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch
-}
-
-src_configure() {
- use static && append-ldflags -static
-
- TARGETS=(
- ping
- $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
- )
- if use ipv6 ; then
- TARGETS+=(
- $(usex tracepath 'tracepath6' '')
- $(usex traceroute 'traceroute6' '')
- )
- fi
-
- myconf=(
- USE_CRYPTO=no
- USE_GCRYPT=no
- USE_NETTLE=no
- )
-
- if use ipv6 && use ssl ; then
- myconf=(
- USE_CRYPTO=$(usex openssl)
- USE_GCRYPT=$(usex gcrypt)
- USE_NETTLE=$(usex nettle)
- )
- fi
-}
-
-src_compile() {
- tc-export CC
- emake \
- USE_CAP=$(usex caps) \
- USE_IDN=$(usex idn) \
- IPV4_DEFAULT=$(usex ipv6 'no' 'yes') \
- TARGETS="${TARGETS[*]}" \
- ${myconf[@]}
-
- if [[ ${PV} == "99999999" ]] ; then
- emake html man
- fi
-}
-
-src_install() {
- into /
- dobin ping
- dosym ping /bin/ping4
- if use ipv6 ; then
- dosym ping /bin/ping6
- dosym ping.8 /usr/share/man/man8/ping6.8
- fi
- doman doc/ping.8
-
- if use arping ; then
- dobin arping
- doman doc/arping.8
- fi
-
- into /usr
-
- local u
- for u in clockdiff rarpd rdisc tftpd tracepath ; do
- if use ${u} ; then
- case ${u} in
- clockdiff) dobin ${u};;
- *) dosbin ${u};;
- esac
- doman doc/${u}.8
- fi
- done
-
- if use tracepath && use ipv6 ; then
- dosbin tracepath6
- dosym tracepath.8 /usr/share/man/man8/tracepath6.8
- fi
-
- if use traceroute && use ipv6 ; then
- dosbin traceroute6
- doman doc/traceroute6.8
- fi
-
- if use rarpd ; then
- newinitd "${FILESDIR}"/rarpd.init.d rarpd
- newconfd "${FILESDIR}"/rarpd.conf.d rarpd
- fi
-
- dodoc INSTALL RELNOTES
-
- use doc && dohtml doc/*.html
-}
-
-pkg_postinst() {
- fcaps cap_net_raw \
- bin/ping \
- $(usex arping 'bin/arping' '') \
- $(usex clockdiff 'usr/bin/clockdiff' '')
-}
diff --git a/net-misc/iputils/iputils-20161105.ebuild b/net-misc/iputils/iputils-20161105.ebuild
deleted file mode 100644
index 729a49fd3eb..00000000000
--- a/net-misc/iputils/iputils-20161105.ebuild
+++ /dev/null
@@ -1,168 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# For released versions, we precompile the man/html pages and store
-# them in a tarball on our mirrors. This avoids ugly issues while
-# building stages, and when the jade/sgml packages are broken (which
-# seems to be more common than would be nice).
-# Required packages for doc generation:
-# app-text/docbook-sgml-utils
-
-EAPI=5
-
-inherit flag-o-matic eutils toolchain-funcs fcaps
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="https://github.com/iputils/iputils.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/iputils/iputils/archive/s${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~polynomial-c/iputils-s${PV}-manpages.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="Network monitoring tools including ping and ping6"
-HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
-
-LICENSE="BSD GPL-2+ rdisc"
-SLOT="0"
-IUSE="+arping caps clockdiff doc gcrypt idn ipv6 libressl nettle +openssl rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
-
-LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
- idn? ( net-dns/libidn[static-libs(+)] )
- ipv6? ( ssl? (
- gcrypt? ( dev-libs/libgcrypt:0=[static-libs(+)] )
- nettle? ( dev-libs/nettle[static-libs(+)] )
- openssl? (
- !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
- libressl? ( dev-libs/libressl[static-libs(+)] )
- )
- ) )"
-RDEPEND="arping? ( !net-misc/arping )
- rarpd? ( !net-misc/rarpd )
- traceroute? ( !net-analyzer/traceroute )
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- virtual/os-headers"
-if [[ ${PV} == "99999999" ]] ; then
- DEPEND+="
- app-text/openjade
- dev-perl/SGMLSpm
- app-text/docbook-sgml-dtd
- app-text/docbook-sgml-utils
- "
-fi
-
-REQUIRED_USE="ipv6? ( ssl? ( ^^ ( gcrypt nettle openssl ) ) )"
-
-S="${WORKDIR}/${PN}-s${PV}"
-
-PATCHES=(
- "${FILESDIR}/021109-uclibc-no-ether_ntohost.patch"
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
- use SECURITY_HAZARD && epatch "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch
-}
-
-src_configure() {
- use static && append-ldflags -static
-
- TARGETS=(
- ping
- $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
- )
- if use ipv6 ; then
- TARGETS+=(
- $(usex tracepath 'tracepath6' '')
- $(usex traceroute 'traceroute6' '')
- )
- fi
-
- myconf=(
- USE_CRYPTO=no
- USE_GCRYPT=no
- USE_NETTLE=no
- )
-
- if use ipv6 && use ssl ; then
- myconf=(
- USE_CRYPTO=$(usex openssl)
- USE_GCRYPT=$(usex gcrypt)
- USE_NETTLE=$(usex nettle)
- )
- fi
-}
-
-src_compile() {
- tc-export CC
- emake \
- USE_CAP=$(usex caps) \
- USE_IDN=$(usex idn) \
- IPV4_DEFAULT=$(usex ipv6 'no' 'yes') \
- TARGETS="${TARGETS[*]}" \
- ${myconf[@]}
-
- if [[ ${PV} == "99999999" ]] ; then
- emake html man
- fi
-}
-
-src_install() {
- into /
- dobin ping
- dosym ping /bin/ping4
- if use ipv6 ; then
- dosym ping /bin/ping6
- dosym ping.8 /usr/share/man/man8/ping6.8
- fi
- doman doc/ping.8
-
- if use arping ; then
- dobin arping
- doman doc/arping.8
- fi
-
- into /usr
-
- local u
- for u in clockdiff rarpd rdisc tftpd tracepath ; do
- if use ${u} ; then
- case ${u} in
- clockdiff) dobin ${u};;
- *) dosbin ${u};;
- esac
- doman doc/${u}.8
- fi
- done
-
- if use tracepath && use ipv6 ; then
- dosbin tracepath6
- dosym tracepath.8 /usr/share/man/man8/tracepath6.8
- fi
-
- if use traceroute && use ipv6 ; then
- dosbin traceroute6
- doman doc/traceroute6.8
- fi
-
- if use rarpd ; then
- newinitd "${FILESDIR}"/rarpd.init.d rarpd
- newconfd "${FILESDIR}"/rarpd.conf.d rarpd
- fi
-
- dodoc INSTALL.md RELNOTES
-
- if use doc ; then
- docinto html
- dodoc doc/*.html
- fi
-}
-
-pkg_postinst() {
- fcaps cap_net_raw \
- bin/ping \
- $(usex arping 'bin/arping' '') \
- $(usex clockdiff 'usr/bin/clockdiff' '')
-}
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2018-07-10 23:39 Thomas Deutschmann
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2018-07-10 23:39 UTC (permalink / raw
To: gentoo-commits
commit: 3ee18d29f9d2f245c8a9acda7a767edd247f7558
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 10 23:38:13 2018 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Jul 10 23:38:13 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ee18d29
net-misc/iputils: bump to v20180629
Package-Manager: Portage-2.3.41, Repoman-2.3.9
net-misc/iputils/Manifest | 2 +
net-misc/iputils/files/iputils-20180629-musl.patch | 87 ++++++++++
net-misc/iputils/iputils-20180629.ebuild | 178 +++++++++++++++++++++
3 files changed, 267 insertions(+)
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
index 4bd330cb3a8..e2cf5240b90 100644
--- a/net-misc/iputils/Manifest
+++ b/net-misc/iputils/Manifest
@@ -1,2 +1,4 @@
DIST iputils-20171016_pre.tar.gz 195254 BLAKE2B 1170db29d53dd8285b11d4df7b7da2ea3bd2be3599a3f0df85ca7e64247f2a534d03e43a2b6267ba4b9c0b65fcc58045151833ae2c1035a839ed728a389804af SHA512 570896fc58d945e08032134701ab6ea02bbf6fff420437bc5f89687cdcce6f3c1c64418a4c5ff54ca3cdc582bae2c95e196b2c8368eba2b163ebf88490aabf99
+DIST iputils-20180629.tar.gz 195094 BLAKE2B 81bf6ef427eac0769ea3f95c20294b46c81f9c619551234eb265b3a428998a96cf3df0cdc7499f9eea280c1999e899e87c3f4a863141de251a9c509840bc83b3 SHA512 16b8f5ad1cf88083ebaee0a71fddb14bb0a904336fd0baebfcca86c27ac0773553b21d12790b05cab7661d6432c75bbb1523e871e5e1b77faacd13ccc84f4476
DIST iputils-manpages-20171016_pre.tar.xz 29764 BLAKE2B 47def1413b2cdcfba7f924dd7a045063c289c244ba8fb4dc43caf2a8d52032b57ee6d86ee4dffd5351faa3124d4c83a33ca3365866568c2164b374eed9d70ec0 SHA512 31b4b0b4e46d7c98530577392c636e4397917cbe415762145a119e68e3223bc85b9d5afcfe61ae01584a35f6a1a772adffc52deeedc722c474179fa1d208d8d9
+DIST iputils-manpages-20180629.tar.xz 29804 BLAKE2B 15983cc97bc6b6853c193f046687f10be11902f7e1d2dc2eec6c58edd1926f10152108d378858b0d7eb2d2908f038965b05515c4927aedc460282a22307883ad SHA512 1c5b0bab8496a3f3d9b5080029221231a497d9a5e91c61bd0ddd0b63fd51572d052801294aafd08e1dc8ad448b82cdaf48c72f0b08cc143f9c144f3db6848d9a
diff --git a/net-misc/iputils/files/iputils-20180629-musl.patch b/net-misc/iputils/files/iputils-20180629-musl.patch
new file mode 100644
index 00000000000..48742d96602
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20180629-musl.patch
@@ -0,0 +1,87 @@
+commit 5007d7067918fb3d950d34c01d059e5222db679a
+Author: Aric Belsito <lluixhi@gmail.com>
+AuthorDate: Mon Dec 4 00:10:29 2017 +0100
+Commit: Thomas Deutschmann <whissi@gentoo.org>
+CommitDate: Wed Jul 11 01:33:28 2018 +0200
+
+ Fix build on MUSL
+
+ Add missing AI_IDN and NI_IDN declarations.
+
+ Bug: https://bugs.gentoo.org/503914
+ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
+
+diff --git a/arping.c b/arping.c
+index c2f2129..d753345 100644
+--- a/arping.c
++++ b/arping.c
+@@ -44,6 +44,13 @@
+
+ #ifdef USE_IDN
+ #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 3e09685..1e51c67 100644
+--- a/ping.h
++++ b/ping.h
+@@ -37,6 +37,17 @@
+
+ #ifdef USE_IDN
+ #include <idn2.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 53bda16..9558e49 100644
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -29,6 +29,14 @@
+
+ #ifdef USE_IDN
+ #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 a1022f9..ab34615 100644
+--- a/traceroute6.c
++++ b/traceroute6.c
+@@ -246,6 +246,10 @@
+ #ifdef USE_IDN
+ #include <locale.h>
+
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define ADDRINFO_IDN_FLAGS AI_IDN
+ #define getnameinfo_flags NI_IDN
+ #else
diff --git a/net-misc/iputils/iputils-20180629.ebuild b/net-misc/iputils/iputils-20180629.ebuild
new file mode 100644
index 00000000000..fb577b0efbb
--- /dev/null
+++ b/net-misc/iputils/iputils-20180629.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# For released versions, we precompile the man/html pages and store
+# them in a tarball on our mirrors. This avoids ugly issues while
+# building stages, and reduces depedencies.
+# To regenerate man/html pages emerge iputils-99999999[doc] with
+# EGIT_COMMIT set to release tag and tar ${S}/doc folder.
+
+EAPI="6"
+
+inherit flag-o-matic toolchain-funcs fcaps
+
+MY_PV="${PV/_pre/}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20180629-musl.patch
+)
+
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="https://github.com/iputils/iputils.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/iputils/iputils/archive/s${MY_PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${MY_PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
+
+LICENSE="BSD GPL-2+ rdisc"
+SLOT="0"
+IUSE="+arping caps clockdiff doc gcrypt idn ipv6 libressl nettle rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute"
+
+LIB_DEPEND="caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn2:=[static-libs(+)] )
+ ipv6? (
+ ssl? (
+ gcrypt? ( dev-libs/libgcrypt:0=[static-libs(+)] )
+ !gcrypt? (
+ nettle? ( dev-libs/nettle[static-libs(+)] )
+ !nettle? (
+ libressl? ( dev-libs/libressl:0=[static-libs(+)] )
+ !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
+ )
+ )
+ )
+ )
+"
+RDEPEND="arping? ( !net-misc/arping )
+ rarpd? ( !net-misc/rarpd )
+ traceroute? ( !net-analyzer/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ virtual/os-headers
+"
+if [[ ${PV} == "99999999" ]] ; then
+ DEPEND+="app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ "
+fi
+
+[ "${PV}" = "99999999" ] || S="${WORKDIR}/${PN}-s${PV}"
+
+src_prepare() {
+ use SECURITY_HAZARD && PATCHES+=( "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch )
+
+ default
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ TARGETS=(
+ ping
+ $(for v in arping clockdiff rarpd rdisc tftpd tracepath ; do usev ${v} ; done)
+ )
+ if use ipv6 ; then
+ TARGETS+=(
+ $(usex traceroute 'traceroute6' '')
+ )
+ fi
+
+ myconf=(
+ USE_CRYPTO=no
+ USE_GCRYPT=no
+ USE_NETTLE=no
+ )
+
+ if use ipv6 && use ssl ; then
+ myconf=(
+ USE_CRYPTO=yes
+ USE_GCRYPT=$(usex gcrypt)
+ USE_NETTLE=$(usex nettle)
+ )
+ fi
+}
+
+src_compile() {
+ tc-export CC
+ emake \
+ USE_CAP=$(usex caps) \
+ USE_IDN=$(usex idn) \
+ IPV4_DEFAULT=$(usex ipv6 'no' 'yes') \
+ TARGETS="${TARGETS[*]}" \
+ ${myconf[@]}
+
+ if [[ ${PV} == "99999999" ]] ; then
+ emake man
+
+ use doc && emake html
+ fi
+}
+
+src_install() {
+ into /
+ dobin ping
+ dosym ping /bin/ping4
+ if use ipv6 ; then
+ dosym ping /bin/ping6
+ dosym ping.8 /usr/share/man/man8/ping6.8
+ fi
+ doman doc/ping.8
+
+ if use arping ; then
+ dobin arping
+ doman doc/arping.8
+ fi
+
+ into /usr
+
+ if use tracepath ; then
+ dosbin tracepath
+ doman doc/tracepath.8
+ dosym tracepath /usr/sbin/tracepath4
+ fi
+
+ local u
+ for u in clockdiff rarpd rdisc tftpd ; do
+ if use ${u} ; then
+ case ${u} in
+ clockdiff) dobin ${u};;
+ *) dosbin ${u};;
+ esac
+ doman doc/${u}.8
+ fi
+ done
+
+ if use tracepath && use ipv6 ; then
+ dosym tracepath /usr/sbin/tracepath6
+ dosym tracepath.8 /usr/share/man/man8/tracepath6.8
+ fi
+
+ if use traceroute && use ipv6 ; then
+ dosbin traceroute6
+ doman doc/traceroute6.8
+ fi
+
+ if use rarpd ; then
+ newinitd "${FILESDIR}"/rarpd.init.d rarpd
+ newconfd "${FILESDIR}"/rarpd.conf.d rarpd
+ fi
+
+ dodoc INSTALL.md
+
+ use doc && dodoc doc/*.html
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/bin/clockdiff' '')
+}
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2020-04-07 18:09 Thomas Deutschmann
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2020-04-07 18:09 UTC (permalink / raw
To: gentoo-commits
commit: 23a95c6869f3abe76afd4197e4b7f92d25048861
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 7 18:04:59 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Apr 7 18:09:23 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23a95c68
net-misc/iputils: fix arping
Closes: https://bugs.gentoo.org/692982
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
...rt-partially-fix-sent-vs-received-package.patch | 34 ++++
net-misc/iputils/iputils-20190709-r1.ebuild | 201 +++++++++++++++++++++
2 files changed, 235 insertions(+)
diff --git a/net-misc/iputils/files/iputils-20190709-arping-revert-partially-fix-sent-vs-received-package.patch b/net-misc/iputils/files/iputils-20190709-arping-revert-partially-fix-sent-vs-received-package.patch
new file mode 100644
index 00000000000..715ed45041b
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20190709-arping-revert-partially-fix-sent-vs-received-package.patch
@@ -0,0 +1,34 @@
+From 18f14be80466ddc8fb17a400be82764a779c8dcd Mon Sep 17 00:00:00 2001
+From: Sami Kerola <kerolasa@iki.fi>
+Date: Wed, 31 Jul 2019 21:28:12 +0100
+Subject: [PATCH] arping: revert partially - fix sent vs received packages
+ return value
+
+Commit 84ca65ca980315c73f929fed8b6f16bbd698c3a0 caused regression. The
+arping -D needs return value evaluation that was the earlier default, in
+other cases the new return value should be correct.
+
+Addresses: https://github.com/iputils/iputils/issues/209
+See-also: https://github.com/void-linux/void-packages/issues/13304
+Signed-off-by: Sami Kerola <kerolasa@iki.fi>
+---
+ arping.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/arping.c b/arping.c
+index 77c9c56..2c87c15 100644
+--- a/arping.c
++++ b/arping.c
+@@ -792,7 +792,11 @@ static int event_loop(struct run_state *ctl)
+ close(tfd);
+ freeifaddrs(ctl->ifa0);
+ rc |= finish(ctl);
+- rc |= (ctl->sent != ctl->received);
++ if (ctl->dad && ctl->quit_on_reply)
++ /* Duplicate address detection mode return value */
++ rc |= !(ctl->brd_sent != ctl->received);
++ else
++ rc |= (ctl->sent != ctl->received);
+ return rc;
+ }
+
diff --git a/net-misc/iputils/iputils-20190709-r1.ebuild b/net-misc/iputils/iputils-20190709-r1.ebuild
new file mode 100644
index 00000000000..52bdec97980
--- /dev/null
+++ b/net-misc/iputils/iputils-20190709-r1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# For released versions, we precompile the man/html pages and store
+# them in a tarball on our mirrors. This avoids ugly issues while
+# building stages, and reduces depedencies.
+# To regenerate man/html pages emerge iputils-99999999[doc] with
+# EGIT_COMMIT set to release tag and tar ${S}/doc folder.
+
+EAPI="7"
+
+PLOCALES="ja"
+
+inherit fcaps flag-o-matic l10n meson systemd toolchain-funcs
+
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="https://github.com/iputils/iputils.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/iputils/iputils/archive/s${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
+
+LICENSE="BSD GPL-2+ rdisc"
+SLOT="0"
+IUSE="+arping caps clockdiff doc gcrypt idn ipv6 libressl nettle nls rarpd rdisc SECURITY_HAZARD ssl static tftpd tracepath traceroute6"
+
+BDEPEND="virtual/pkgconfig"
+
+LIB_DEPEND="
+ caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn2:=[static-libs(+)] )
+ ipv6? (
+ ssl? (
+ gcrypt? ( dev-libs/libgcrypt:0=[static-libs(+)] )
+ !gcrypt? (
+ nettle? ( dev-libs/nettle[static-libs(+)] )
+ !nettle? (
+ libressl? ( dev-libs/libressl:0=[static-libs(+)] )
+ !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
+ )
+ )
+ )
+ )
+ nls? ( sys-devel/gettext[static-libs(+)] )
+"
+
+RDEPEND="
+ arping? ( !net-misc/arping )
+ rarpd? ( !net-misc/rarpd )
+ traceroute6? ( !net-analyzer/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/os-headers
+ static? ( ${LIB_DEPEND} )
+"
+
+if [[ ${PV} == "99999999" ]] ; then
+ DEPEND+="
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-ns-stylesheets
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ "
+fi
+
+[ "${PV}" == "99999999" ] || S="${WORKDIR}/${PN}-s${PV}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-arping-revert-partially-fix-sent-vs-received-package.patch
+)
+
+src_prepare() {
+ use SECURITY_HAZARD && PATCHES+=( "${FILESDIR}"/${PN}-20150815-nonroot-floodping.patch )
+
+ default
+
+ l10n_get_locales > po/LINGUAS || die
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ local emesonargs=(
+ -DUSE_CAP="$(usex caps true false)"
+ -DUSE_IDN="$(usex idn true false)"
+ -DBUILD_ARPING="$(usex arping true false)"
+ -DBUILD_CLOCKDIFF="$(usex clockdiff true false)"
+ -DBUILD_PING="true"
+ -DBUILD_RARPD="$(usex rarpd true false)"
+ -DBUILD_RDISC="$(usex rdisc true false)"
+ -DENABLE_RDISC_SERVER="$(usex rdisc true false)"
+ -DBUILD_TFTPD="$(usex tftpd true false)"
+ -DBUILD_TRACEPATH="$(usex tracepath true false)"
+ -DBUILD_TRACEROUTE6="$(usex ipv6 $(usex traceroute6 true false) false)"
+ -DBUILD_NINFOD="false"
+ -DNINFOD_MESSAGES="false"
+ -DNO_SETCAP_OR_SUID="true"
+ -Dsystemdunitdir="$(systemd_get_systemunitdir)"
+ -DUSE_GETTEXT="$(usex nls true false)"
+ )
+
+ if use ipv6 && use ssl ; then
+ emesonargs+=(
+ -DUSE_CRYPTO="$(usex gcrypt gcrypt $(usex nettle nettle openssl))"
+ )
+ else
+ emesonargs+=(
+ -DUSE_CRYPTO="none"
+ )
+ fi
+
+ if [[ "${PV}" == 99999999 ]] ; then
+ emesonargs+=(
+ -DBUILD_HTML_MANS="$(usex doc true false)"
+ -DBUILD_MANS="true"
+ )
+ else
+ emesonargs+=(
+ -DBUILD_HTML_MANS="false"
+ -DBUILD_MANS="false"
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_compile() {
+ tc-export CC
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ dodir /bin
+ local my_bin
+ for my_bin in $(usex arping arping '') ping ; do
+ mv "${ED}"/usr/bin/${my_bin} "${ED}"/bin/ || die
+ done
+ dosym ping /bin/ping4
+
+ if use tracepath ; then
+ dosym tracepath /usr/bin/tracepath4
+ fi
+
+ if use ipv6 ; then
+ dosym ping /bin/ping6
+
+ if use tracepath ; then
+ dosym tracepath /usr/bin/tracepath6
+ dosym tracepath.8 /usr/share/man/man8/tracepath6.8
+ fi
+ fi
+
+ if [[ "${PV}" != 99999999 ]] ; then
+ local -a man_pages
+ local -a html_man_pages
+
+ while IFS= read -r -u 3 -d $'\0' my_bin
+ do
+ my_bin=$(basename "${my_bin}")
+ [[ -z "${my_bin}" ]] && continue
+
+ if [[ -f "${S}/doc/${my_bin}.8" ]] ; then
+ man_pages+=( ${my_bin}.8 )
+ fi
+
+ if [[ -f "${S}/doc/${my_bin}.html" ]] ; then
+ html_man_pages+=( ${my_bin}.html )
+ fi
+ done 3< <(find "${ED}"/{bin,usr/bin,usr/sbin} -type f -perm -a+x -print0 2>/dev/null)
+
+ pushd doc &>/dev/null || die
+ doman "${man_pages[@]}"
+ if use doc ; then
+ docinto html
+ dodoc "${html_man_pages[@]}"
+ fi
+ popd &>/dev/null || die
+ else
+ if use doc ; then
+ mv "${ED}"/usr/share/${PN} "${ED}"/usr/share/doc/${PF}/html || die
+ fi
+ fi
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/bin/clockdiff' '')
+}
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2020-04-07 18:09 Thomas Deutschmann
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Deutschmann @ 2020-04-07 18:09 UTC (permalink / raw
To: gentoo-commits
commit: 865c1a561c7eaabd160cd1d7b0aef09bfbcdb327
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 7 18:09:06 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Tue Apr 7 18:09:24 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=865c1a56
net-misc/iputils: add some more patches for ping
- ping: try next addrinfo on connect failure
- ping: fix main loop over multiple addrinfo results
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
...-main-loop-over-multiple-addrinfo-results.patch | 86 ++++++++++
...ping-try-next-addrinfo-on-connect-failure.patch | 190 +++++++++++++++++++++
net-misc/iputils/iputils-20190709-r1.ebuild | 2 +
3 files changed, 278 insertions(+)
diff --git a/net-misc/iputils/files/iputils-20190709-ping-fix-main-loop-over-multiple-addrinfo-results.patch b/net-misc/iputils/files/iputils-20190709-ping-fix-main-loop-over-multiple-addrinfo-results.patch
new file mode 100644
index 00000000000..9814707d723
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20190709-ping-fix-main-loop-over-multiple-addrinfo-results.patch
@@ -0,0 +1,86 @@
+From: Benjamin Poirier <benjamin.poirier@gmail.com>
+Date: Thu, 26 Dec 2019 10:44:03 +0900
+Subject: ping: fix main loop over multiple addrinfo results
+
+Despite what the log of commit f68eec0eafad ("ping: perform dual-stack ping
+by default") says, main() was not designed to loop over multiple addresses
+returned by getaddrinfo(). This is apparent because until commit
+db11bc96a68c ("ping: make command to return from main()"), ping{4,6}_run()
+never returned (they always exited). After commit db11bc96a68c, we
+encounter unexpected situations if getaddrinfo returns multiple results and
+ping{4,6}_run() return != 0.
+
+For example (notice echo reply is not received):
+
+ root@vsid:/src/iputils# ./builddir/ping/ping -w1 google.com
+ PING google.com(nrt12s22-in-x0e.1e100.net (2404:6800:4004:80c::200e)) 56 data bytes
+
+ --- google.com ping statistics ---
+ 1 packets transmitted, 0 received, 100% packet loss, time 0ms
+
+ PING (216.58.197.142) 56(84) bytes of data.
+
+ --- ping statistics ---
+ 1 packets transmitted, 0 received, 100% packet loss, time -1002ms
+
+ root@vsid:/src/iputils#
+
+Establish the following convention:
+
+* return value >= 0 -> exit with this code (same behavior as before commit
+ db11bc96a68c)
+
+* return value < 0 -> go on to next addrinfo result
+
+The second case will be used in the following patch.
+
+Fixes: db11bc96a68c ("ping: make command to return from main()")
+Signed-off-by: Benjamin Poirier <bpoirier@cumulusnetworks.com>
+Origin: https://github.com/iputils/iputils/commit/c249e48bb865e731896b7d8ceaf4bca7d28768b6
+Bug-Debian: https://bugs.debian.org/947921
+See-also: https://github.com/iputils/iputils/pull/244
+---
+ ping.c | 6 +++++-
+ ping6_common.c | 1 +
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/ping.c b/ping.c
+index 34653be..ae687b4 100644
+--- a/ping.c
++++ b/ping.c
+@@ -495,8 +495,11 @@ main(int argc, char **argv)
+ error(2, 0, _("unknown protocol family: %d"), ai->ai_family);
+ }
+
+- if (ret_val == 0)
++ if (ret_val >= 0)
+ break;
++ /* ret_val < 0 means to go on to next addrinfo result, there
++ * better be one. */
++ assert(ai->ai_next);
+ }
+
+ freeaddrinfo(result);
+@@ -504,6 +507,7 @@ main(int argc, char **argv)
+ return ret_val;
+ }
+
++/* return >= 0: exit with this code, < 0: go on to next addrinfo result */
+ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
+ {
+ static const struct addrinfo hints = {
+diff --git a/ping6_common.c b/ping6_common.c
+index 6cc5404..731dc6d 100644
+--- a/ping6_common.c
++++ b/ping6_common.c
+@@ -551,6 +551,7 @@ int niquery_option_handler(const char *opt_arg)
+ return ret;
+ }
+
++/* return >= 0: exit with this code, < 0: go on to next addrinfo result */
+ int ping6_run(int argc, char **argv, struct addrinfo *ai, struct socket_st *sock)
+ {
+ static const struct addrinfo hints = {
+--
+2.25.0.rc2
+
diff --git a/net-misc/iputils/files/iputils-20190709-ping-try-next-addrinfo-on-connect-failure.patch b/net-misc/iputils/files/iputils-20190709-ping-try-next-addrinfo-on-connect-failure.patch
new file mode 100644
index 00000000000..a308fb7c9f6
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20190709-ping-try-next-addrinfo-on-connect-failure.patch
@@ -0,0 +1,190 @@
+From: Benjamin Poirier <benjamin.poirier@gmail.com>
+Date: Wed, 25 Dec 2019 13:33:12 +0900
+Subject: ping: try next addrinfo on connect failure
+
+On hosts that have routing rules matching on the outgoing interface [1],
+getaddrinfo() may return results sorted in a suboptimal order because it is
+not aware of the network interface passed to ping via the "-I" option. In
+particular, address reachability detection may fail and getaddrinfo() will
+return ipv6 results first, even though the only routes available are ipv4.
+
+Improve user experience by trying next addrinfo entry if we encounter a
+failure at connect() time because of missing or unreachable routes.
+
+[1] For example, on switches running Cumulus Linux, the default VRF is used
+for front ports and a "mgmt" VRF is used for the management interface, which
+also handles all DNS traffic. (VRFs apply different routing rules based on
+the iif/oif, ie. influenced by SO_BINDTODEVICE.) In the default vrf, it's
+possible to ping an ipv4 address via the mgmt vrf by specifying "-I mgmt".
+However, that will fail if the target host is specified by name, has a AAAA
+record and there is no ipv6 route to it.
+
+Since libc commit 5ddb5bf5fb, getaddrinfo() does a udp connect to result
+addresses to check if there is a route to them. This is to implement
+RFC3484 §6 Rule 1 ("Avoid unusable destinations") which is part of the
+algorithm to order results. getaddrinfo() is unaware of ping's "-I" option
+and tries to connect its socket via the default vrf, which has no ipv6 route
+to the target host (and, in fact, no ipv4 route either). Following this
+failure, getaddrinfo() returns results ordered according to
+/etc/gai.conf (Rule 6) - by default, ipv6 first.
+
+ping tries only the first entry returned by getaddrinfo() and fails to
+connect to it because there is no ipv6 route to the host, even in the mgmt
+vrf. However, if getaddrinfo() had ordered the ipv4 result first or ping
+had tried the next addrinfo entry (the ipv4 one), ping could connect a udp
+socket to it and later successfully exchange icmp messages with it.
+
+Example:
+
+ cumulus@act-5812-10:~$ ip vrf list
+ Name Table
+ -----------------------
+ mgmt 1001
+ cumulus@act-5812-10:~$ ip vrf identify
+ cumulus@act-5812-10:~$ # --> default vrf
+ cumulus@act-5812-10:~$
+ cumulus@act-5812-10:~$ ip rule
+ 99: from all to 10.230.0.53 ipproto udp dport 53 lookup mgmt
+ 99: from all to 10.20.249.1 ipproto udp dport 53 lookup mgmt
+ 1000: from all lookup [l3mdev-table]
+ 32765: from all lookup local
+ 32766: from all lookup main
+ 32767: from all lookup default
+
+ cumulus@act-5812-10:~$ ip route
+
+ cumulus@act-5812-10:~$ ip -6 route
+ ::1 dev lo proto kernel metric 256 pref medium
+
+ cumulus@act-5812-10:~$ ip route show vrf mgmt
+ default via 10.230.130.1 dev eth0
+ unreachable default metric 4278198272
+ 10.230.130.0/24 dev eth0 proto kernel scope link src 10.230.130.211
+ 127.0.0.0/8 dev mgmt proto kernel scope link src 127.0.0.1
+
+ cumulus@act-5812-10:~$ ip -6 route show vrf mgmt
+ ::1 dev mgmt proto kernel metric 256 pref medium
+ anycast fe80:: dev eth0 proto kernel metric 0 pref medium
+ fe80::/64 dev eth0 proto kernel metric 256 pref medium
+ ff00::/8 dev eth0 metric 256 pref medium
+ unreachable default dev lo metric 4278198272 pref medium
+
+ cumulus@act-5812-10:~$ host google.com
+ google.com has address 172.217.0.46
+ google.com has IPv6 address 2607:f8b0:4005:802::200e
+ google.com mail is handled by 30 alt2.aspmx.l.google.com.
+ google.com mail is handled by 40 alt3.aspmx.l.google.com.
+ google.com mail is handled by 20 alt1.aspmx.l.google.com.
+ google.com mail is handled by 10 aspmx.l.google.com.
+ google.com mail is handled by 50 alt4.aspmx.l.google.com.
+
+Success with numeric address
+
+ cumulus@act-5812-10:~$ ping -n -c1 -I mgmt 172.217.0.46
+ ping: Warning: source address might be selected on device other than mgmt.
+ PING 172.217.0.46 (172.217.0.46) from 10.230.130.211 mgmt: 56(84) bytes of data.
+ 64 bytes from 172.217.0.46: icmp_seq=1 ttl=51 time=4.68 ms
+
+ --- 172.217.0.46 ping statistics ---
+ 1 packets transmitted, 1 received, 0% packet loss, time 0ms
+ rtt min/avg/max/mdev = 4.675/4.675/4.675/0.000 ms
+
+Failure with host by name
+
+ cumulus@act-5812-10:~$ ping -n -c1 -I mgmt google.com
+ connect: No route to host
+
+Success when running in the mgmt vrf because getaddrinfo()'s address
+reachability test is effective and ipv4 result(s) are ordered first.
+
+ cumulus@act-5812-10:~$ ip vrf exec mgmt ping -n -c1 google.com
+ PING google.com (172.217.0.46) 56(84) bytes of data.
+ 64 bytes from 172.217.0.46: icmp_seq=1 ttl=51 time=4.65 ms
+
+ --- google.com ping statistics ---
+ 1 packets transmitted, 1 received, 0% packet loss, time 0ms
+ rtt min/avg/max/mdev = 4.650/4.650/4.650/0.000 ms
+
+For demonstration purposes, the following configuration allows one to
+reproduce a similar problem. Starting from a host with a vanilla
+configuration, default ipv4 route using eth0, no ipv6 global routes:
+
+ root@vsid:~# ip route
+ default via 192.168.15.1 dev eth0
+ 192.168.15.0/24 dev eth0 proto kernel scope link src 192.168.15.100
+
+ root@vsid:~# ip -6 route
+ ::1 dev lo proto kernel metric 256 pref medium
+ fe80::/64 dev eth0 proto kernel metric 256 pref medium
+
+ root@vsid:~# ip rou flush table main
+
+ root@vsid:~# ip rou add table 1 192.168.15.0/24 dev eth0
+
+ root@vsid:~# ip rou add table 1 default via 192.168.15.1
+
+ root@vsid:~# ip rule
+ 0: from all lookup local
+ 32766: from all lookup main
+ 32767: from all lookup default
+ root@vsid:~# ip rule add pref 1 to 192.168.15.1 ipproto udp dport 53 lookup 1
+ root@vsid:~# ip rule add pref 2 oif eth0 lookup 1
+ root@vsid:~# ping -c1 -I eth0 google.com
+
+ ping: connect: Network is unreachable
+
+With the current patch
+
+ root@vsid:~# /src/iputils/builddir/ping/ping -c1 -I eth0 google.com
+ PING (172.217.174.110) from 192.168.15.100 eth0: 56(84) bytes of data.
+ 64 bytes from nrt12s28-in-f14.1e100.net (172.217.174.110): icmp_seq=1 ttl=53 time=11.3 ms
+
+ --- ping statistics ---
+ 1 packets transmitted, 1 received, 0% packet loss, time 0ms
+ rtt min/avg/max/mdev = 11.313/11.313/11.313/0.000 ms
+
+Signed-off-by: Benjamin Poirier <bpoirier@cumulusnetworks.com>
+Origin: https://github.com/iputils/iputils/commit/2705c8248281fbb8efaa5326ab1d0ed0a670bd3d
+Bug-Debian: https://bugs.debian.org/947921
+See-also: https://github.com/iputils/iputils/pull/244
+---
+ ping.c | 3 +++
+ ping6_common.c | 7 ++++++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/ping.c b/ping.c
+index 34653be..013c4e6 100644
+--- a/ping.c
++++ b/ping.c
+@@ -628,6 +628,9 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
+ error(2, errno, _("cannot set broadcasting"));
+ if (connect(probe_fd, (struct sockaddr *)&dst, sizeof(dst)) == -1)
+ error(2, errno, "connect");
++ } else if ((errno == EHOSTUNREACH || errno == ENETUNREACH) && ai->ai_next) {
++ close(probe_fd);
++ return -1;
+ } else
+ error(2, errno, "connect");
+ }
+diff --git a/ping6_common.c b/ping6_common.c
+index 6cc5404..bc1030b 100644
+--- a/ping6_common.c
++++ b/ping6_common.c
+@@ -651,8 +651,13 @@ int ping6_run(int argc, char **argv, struct addrinfo *ai, struct socket_st *sock
+ firsthop.sin6_family = AF_INET6;
+
+ firsthop.sin6_port = htons(1025);
+- if (connect(probe_fd, (struct sockaddr *)&firsthop, sizeof(firsthop)) == -1)
++ if (connect(probe_fd, (struct sockaddr *)&firsthop, sizeof(firsthop)) == -1) {
++ if ((errno == EHOSTUNREACH || errno == ENETUNREACH) && ai->ai_next) {
++ close(probe_fd);
++ return -1;
++ }
+ error(2, errno, "connect");
++ }
+ alen = sizeof source6;
+ if (getsockname(probe_fd, (struct sockaddr *)&source6, &alen) == -1)
+ error(2, errno, "getsockname");
+--
+2.25.0.rc2
+
diff --git a/net-misc/iputils/iputils-20190709-r1.ebuild b/net-misc/iputils/iputils-20190709-r1.ebuild
index 52bdec97980..de8b4a40ad6 100644
--- a/net-misc/iputils/iputils-20190709-r1.ebuild
+++ b/net-misc/iputils/iputils-20190709-r1.ebuild
@@ -76,6 +76,8 @@ fi
PATCHES=(
"${FILESDIR}"/${P}-arping-revert-partially-fix-sent-vs-received-package.patch
+ "${FILESDIR}"/${P}-ping-try-next-addrinfo-on-connect-failure.patch
+ "${FILESDIR}"/${P}-ping-fix-main-loop-over-multiple-addrinfo-results.patch
)
src_prepare() {
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2021-01-25 3:29 Mike Gilbert
0 siblings, 0 replies; 10+ messages in thread
From: Mike Gilbert @ 2021-01-25 3:29 UTC (permalink / raw
To: gentoo-commits
commit: f70bc63e84eb5797b02ec3aa6d972d2f1f8bc55a
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 03:27:29 2021 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 03:27:51 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f70bc63e
net-misc/iputils: fix fallback code when getrandom fails
Closes: https://bugs.gentoo.org/738842
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
.../iputils-20200821-getrandom-fallback.patch | 43 ++++++++++++++++++++++
...-20200821.ebuild => iputils-20200821-r1.ebuild} | 6 ++-
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/net-misc/iputils/files/iputils-20200821-getrandom-fallback.patch b/net-misc/iputils/files/iputils-20200821-getrandom-fallback.patch
new file mode 100644
index 00000000000..5b69e5c88fb
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20200821-getrandom-fallback.patch
@@ -0,0 +1,43 @@
+From 469b41ac89b9f6772ea31df8379669d205be95f8 Mon Sep 17 00:00:00 2001
+From: Nuno Silva <nuno.m.ribeiro.silva@tecnico.ulisboa.pt>
+Date: Mon, 24 Aug 2020 19:34:53 +0100
+Subject: [PATCH] common: fix infinite loop when getrandom fails
+
+Fixes: https://github.com/iputils/iputils/issues/291
+---
+ iputils_common.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/iputils_common.c b/iputils_common.c
+index 58eacd0..c41f201 100644
+--- a/iputils_common.c
++++ b/iputils_common.c
+@@ -98,18 +98,24 @@ static unsigned int iputil_srand_fallback(void)
+ void iputils_srand(void)
+ {
+ unsigned int i;
++
+ #if HAVE_GETRANDOM
+ ssize_t ret;
+
+- while ((ret = getrandom(&i, sizeof(i), GRND_NONBLOCK)) != sizeof(i)) {
+- switch(errno) {
++ do {
++ errno = 0;
++ ret = getrandom(&i, sizeof(i), GRND_NONBLOCK);
++ switch (errno) {
++ case 0:
++ break;
+ case EINTR:
+ continue;
+ default:
+ i = iputil_srand_fallback();
+- break;
++ goto done;
+ }
+- }
++ } while (ret != sizeof(i));
++ done:
+ #else
+ i = iputil_srand_fallback();
+ #endif
diff --git a/net-misc/iputils/iputils-20200821.ebuild b/net-misc/iputils/iputils-20200821-r1.ebuild
similarity index 97%
rename from net-misc/iputils/iputils-20200821.ebuild
rename to net-misc/iputils/iputils-20200821-r1.ebuild
index 035fe9df791..3b1245c1082 100644
--- a/net-misc/iputils/iputils-20200821.ebuild
+++ b/net-misc/iputils/iputils-20200821-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# For released versions, we precompile the man/html pages and store
@@ -61,7 +61,9 @@ fi
[ "${PV}" == "99999999" ] || S="${WORKDIR}/${PN}-s${PV}"
-PATCHES=()
+PATCHES=(
+ "${FILESDIR}/iputils-20200821-getrandom-fallback.patch"
+)
src_prepare() {
default
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2021-09-10 17:17 Sam James
0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-09-10 17:17 UTC (permalink / raw
To: gentoo-commits
commit: b88892c8d906c8bf491a8d9cf8fd7ddde1251700
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 10 17:17:36 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Sep 10 17:17:36 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b88892c8
net-misc/iputils: make tests conditional
Closes: https://bugs.gentoo.org/807973
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/iputils-20210722-optional-tests.patch | 202 +++++++++++++++++++++
net-misc/iputils/iputils-20210722.ebuild | 10 +-
net-misc/iputils/iputils-99999999.ebuild | 5 +-
3 files changed, 215 insertions(+), 2 deletions(-)
diff --git a/net-misc/iputils/files/iputils-20210722-optional-tests.patch b/net-misc/iputils/files/iputils-20210722-optional-tests.patch
new file mode 100644
index 00000000000..d6c4e98c080
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20210722-optional-tests.patch
@@ -0,0 +1,202 @@
+https://github.com/iputils/iputils/commit/3163c49f9f4ad473a00d8a345ee334a028376011.patch
+https://bugs.gentoo.org/807973
+
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Fri, 23 Jul 2021 16:32:46 +0200
+Subject: [PATCH] meson: Make tests optional
+
+Now can be disabled with -DSKIP_TESTS=true.
+
+It allows to avoid meson error during build when ip isn't installed.
+
+Closes: #359
+
+Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
+Signed-off-by: Heiko Becker <heirecka@exherbo.org>
+[ pvorel: Rename variable TEST => SKIP_TESTS, default false, adjust
+the description ]
+Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -72,3 +72,6 @@ option('INSTALL_SYSTEMD_UNITS', type: 'boolean', value: false,
+
+ option('USE_GETTEXT', type: 'boolean', value: true,
+ description: 'Enable I18N')
++
++option('SKIP_TESTS', type: 'boolean', value: false,
++ description: 'Skip tests during build')
+--- a/ping/meson.build
++++ b/ping/meson.build
+@@ -27,86 +27,6 @@ if (setcap_ping)
+ )
+ endif
+
+-##### TESTS #####
+-
+-# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_"
+-
+-# GitHub CI does not have working IPv6
+-# https://github.com/actions/virtual-environments/issues/668
+-ipv6_dst = []
+-ipv6_switch = []
+-r = run_command('ip', '-6', 'a')
+-if r.stdout().strip().contains('::1')
+- message('IPv6 enabled')
+- ipv6_dst = [ '::1' ]
+- ipv6_switch = [ '-6' ]
+-else
+- message('WARNING: IPv6 disabled')
++if not get_option('SKIP_TESTS')
++ subdir('test')
+ endif
+-
+-run_as_root = false
+-r = run_command('id', '-u')
+-if r.stdout().strip().to_int() == 0
+- message('running as root')
+- run_as_root = true
+-else
+- message('running as normal user')
+-endif
+-
+-foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst
+- foreach switch : [ '', '-4' ] + ipv6_switch
+- args = [ '-c1', dst ]
+- should_fail = false
+-
+- if switch != ''
+- args = [switch] + args
+- if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1')
+- should_fail = true
+- endif
+- endif
+-
+- name = 'ping ' + ' '.join(args)
+- test(name, ping, args : args, should_fail : should_fail)
+- endforeach
+-endforeach
+-
+-ping_tests_opt = [
+- [ '-c1' ],
+- [ '-c5', '-i0.1' ],
+- [ '-c1', '-I', 'lo' ],
+- [ '-c1', '-w1' ],
+- [ '-c1', '-W1' ],
+- [ '-c1', '-W1.1' ],
+-]
+-foreach dst : [ '127.0.0.1' ] + ipv6_dst
+- foreach args : ping_tests_opt
+- args += [ dst ]
+- name = 'ping ' + ' '.join(args)
+- test(name, ping, args : args)
+- endforeach
+-endforeach
+-
+-ping_tests_opt_fail = [
+- [ '-c1.1' ],
+- [ '-I', 'nonexisting' ],
+- [ '-w0.1' ],
+- [ '-w0,1' ],
+-]
+-foreach dst : [ '127.0.0.1' ] + ipv6_dst
+- foreach args : ping_tests_opt_fail
+- args += [ dst ]
+- name = 'ping ' + ' '.join(args)
+- test(name, ping, args : args, should_fail : true)
+- endforeach
+-endforeach
+-
+-ping_tests_user_fail = [
+- [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root
+-]
+-foreach dst : [ '127.0.0.1' ] + ipv6_dst
+- foreach args : ping_tests_user_fail
+- args += [ dst ]
+- name = 'ping ' + ' '.join(args)
+- test(name, ping, args : args, should_fail : not run_as_root)
+- endforeach
+-endforeach
+--- /dev/null
++++ b/ping/test/meson.build
+@@ -0,0 +1,81 @@
++# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_"
++
++# GitHub CI does not have working IPv6
++# https://github.com/actions/virtual-environments/issues/668
++ipv6_dst = []
++ipv6_switch = []
++r = run_command('ip', '-6', 'a')
++if r.stdout().strip().contains('::1')
++ message('IPv6 enabled')
++ ipv6_dst = [ '::1' ]
++ ipv6_switch = [ '-6' ]
++else
++ message('WARNING: IPv6 disabled')
++endif
++
++run_as_root = false
++r = run_command('id', '-u')
++if r.stdout().strip().to_int() == 0
++ message('running as root')
++ run_as_root = true
++else
++ message('running as normal user')
++endif
++
++foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst
++ foreach switch : [ '', '-4' ] + ipv6_switch
++ args = [ '-c1', dst ]
++ should_fail = false
++
++ if switch != ''
++ args = [switch] + args
++ if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1')
++ should_fail = true
++ endif
++ endif
++
++ name = 'ping ' + ' '.join(args)
++ test(name, ping, args : args, should_fail : should_fail)
++ endforeach
++endforeach
++
++ping_tests_opt = [
++ [ '-c1' ],
++ [ '-c5', '-i0.1' ],
++ [ '-c1', '-I', 'lo' ],
++ [ '-c1', '-w1' ],
++ [ '-c1', '-W1' ],
++ [ '-c1', '-W1.1' ],
++]
++foreach dst : [ '127.0.0.1' ] + ipv6_dst
++ foreach args : ping_tests_opt
++ args += [ dst ]
++ name = 'ping ' + ' '.join(args)
++ test(name, ping, args : args)
++ endforeach
++endforeach
++
++ping_tests_opt_fail = [
++ [ '-c1.1' ],
++ [ '-I', 'nonexisting' ],
++ [ '-w0.1' ],
++ [ '-w0,1' ],
++]
++foreach dst : [ '127.0.0.1' ] + ipv6_dst
++ foreach args : ping_tests_opt_fail
++ args += [ dst ]
++ name = 'ping ' + ' '.join(args)
++ test(name, ping, args : args, should_fail : true)
++ endforeach
++endforeach
++
++ping_tests_user_fail = [
++ [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root
++]
++foreach dst : [ '127.0.0.1' ] + ipv6_dst
++ foreach args : ping_tests_user_fail
++ args += [ dst ]
++ name = 'ping ' + ' '.join(args)
++ test(name, ping, args : args, should_fail : not run_as_root)
++ endforeach
++endforeach
diff --git a/net-misc/iputils/iputils-20210722.ebuild b/net-misc/iputils/iputils-20210722.ebuild
index 0e3d015bdb9..b89114ba078 100644
--- a/net-misc/iputils/iputils-20210722.ebuild
+++ b/net-misc/iputils/iputils-20210722.ebuild
@@ -28,10 +28,12 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
LICENSE="BSD GPL-2+ rdisc"
SLOT="0"
-IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static tftpd tracepath traceroute6"
+IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static test tftpd tracepath traceroute6"
+RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
+ test? ( sys-apps/iproute2 )
nls? ( sys-devel/gettext )
"
@@ -62,6 +64,11 @@ if [[ ${PV} == "99999999" ]] ; then
"
fi
+PATCHES=(
+ # Upstream; drop on bump
+ "${FILESDIR}"/${P}-optional-tests.patch
+)
+
src_prepare() {
default
@@ -88,6 +95,7 @@ src_configure() {
-DNO_SETCAP_OR_SUID="true"
-Dsystemdunitdir="$(systemd_get_systemunitdir)"
-DUSE_GETTEXT="$(usex nls true false)"
+ $(meson_use !test SKIP_TESTS)
)
if [[ "${PV}" == 99999999 ]] ; then
diff --git a/net-misc/iputils/iputils-99999999.ebuild b/net-misc/iputils/iputils-99999999.ebuild
index 0e3d015bdb9..fe97d131c7f 100644
--- a/net-misc/iputils/iputils-99999999.ebuild
+++ b/net-misc/iputils/iputils-99999999.ebuild
@@ -28,10 +28,12 @@ HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
LICENSE="BSD GPL-2+ rdisc"
SLOT="0"
-IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static tftpd tracepath traceroute6"
+IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static test tftpd tracepath traceroute6"
+RESTRICT="!test? ( test )"
BDEPEND="
virtual/pkgconfig
+ test? ( sys-apps/iproute2 )
nls? ( sys-devel/gettext )
"
@@ -88,6 +90,7 @@ src_configure() {
-DNO_SETCAP_OR_SUID="true"
-Dsystemdunitdir="$(systemd_get_systemunitdir)"
-DUSE_GETTEXT="$(usex nls true false)"
+ $(meson_use !test SKIP_TESTS)
)
if [[ "${PV}" == 99999999 ]] ; then
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/
@ 2021-10-14 3:16 Sam James
0 siblings, 0 replies; 10+ messages in thread
From: Sam James @ 2021-10-14 3:16 UTC (permalink / raw
To: gentoo-commits
commit: c8e7cf5b4f813a24758f4d81e722df07bba85017
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 14 03:15:47 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct 14 03:15:47 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8e7cf5b
net-misc/iputils: backport no-IPv6 ping patch
Bug: https://bugs.gentoo.org/818022
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/iputils-20210722-fix-no-ipv6-ping.patch | 47 +++++
net-misc/iputils/iputils-20210722-r1.ebuild | 192 +++++++++++++++++++++
2 files changed, 239 insertions(+)
diff --git a/net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch b/net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch
new file mode 100644
index 00000000000..61f9f5c03fd
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20210722-fix-no-ipv6-ping.patch
@@ -0,0 +1,47 @@
+https://github.com/iputils/iputils/commit/79d713eab6181e219bf932b404706f6f59ff2539.patch
+https://bugs.gentoo.org/818022
+
+From: Byron Stanoszek <gandalf@winds.org>
+Date: Thu, 16 Sep 2021 23:38:54 +0200
+Subject: [PATCH] ping: Remove 'unsupported IPv6' warning on disabled IPv6
+
+Regression was introduced in d141cb6 as introduced condition
+
+if ((errno == EAFNOSUPPORT && socktype == AF_INET6) || options & F_VERBOSE || requisite)
+
+was wrong, it should have been:
+
+if ((errno == EAFNOSUPPORT && family == AF_INET6 && requisite) || options & F_VERBOSE)
+
+but bug was hidden as `family == AF_INET6' was always false until
+otherwise correct fix 904cdb6 ("ping: AF_INET6 is address family not
+socket type [lgtm scan]") propagated the error.
+
+Tested on kernel booted with ipv6.disable=1 (disabling via sysctl, i.e.
+sysctl -w net.ipv6.conf.all.disable_ipv6=1; sysctl -w net.ipv6.conf.default.disable_ipv6=1
+does not trigger the issue as it exit with "socket: Address family not
+supported by protocol" - errno EADDRNOTAVAIL).
+
+Fixes: d141cb6 ("ping: work with older kernels that don't support ping sockets")
+Closes: https://github.com/iputils/iputils/issues/293
+Closes: https://github.com/iputils/iputils/pull/370
+
+Reported-by: lekto <lekto@o2.pl>
+Reviewed-by: Andrew Clayton <andrew@digital-domain.net>
+Reviewed-by: Petr Vorel <pvorel@suse.cz>
+Signed-off-by: Byron Stanoszek <gandalf@winds.org>
+[ pvorel: create commit from Byron's patch on the issue, do analysis and wrote commit message ]
+Signed-off-by: Petr Vorel <pvorel@suse.cz>
+--- a/ping/ping.c
++++ b/ping/ping.c
+@@ -150,8 +150,8 @@ static void create_socket(struct ping_rts *rts, socket_st *sock, int family,
+ /* Report error related to disabled IPv6 only when IPv6 also failed or in
+ * verbose mode. Report other errors always.
+ */
+- if ((errno == EAFNOSUPPORT && family == AF_INET6) ||
+- rts->opt_verbose || requisite)
++ if ((errno == EAFNOSUPPORT && family == AF_INET6 && requisite) ||
++ rts->opt_verbose)
+ error(0, errno, "socket");
+ if (requisite)
+ exit(2);
diff --git a/net-misc/iputils/iputils-20210722-r1.ebuild b/net-misc/iputils/iputils-20210722-r1.ebuild
new file mode 100644
index 00000000000..7d70dc9970a
--- /dev/null
+++ b/net-misc/iputils/iputils-20210722-r1.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# For released versions, we precompile the man/html pages and store
+# them in a tarball on our mirrors. This avoids ugly issues while
+# building stages, and reduces dependencies.
+# To regenerate man/html pages emerge iputils-99999999[doc] with
+# EGIT_COMMIT set to release tag, all USE flags enabled and
+# tar ${S}/doc folder.
+
+EAPI="7"
+
+PLOCALES="de fr ja pt_BR tr uk zh_CN"
+
+inherit fcaps flag-o-matic meson plocale systemd toolchain-funcs
+
+if [[ ${PV} == "99999999" ]] ; then
+ EGIT_REPO_URI="https://github.com/iputils/iputils.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/iputils/iputils/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~whissi/dist/iputils/${PN}-manpages-${PV}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="https://wiki.linuxfoundation.org/networking/iputils"
+
+LICENSE="BSD GPL-2+ rdisc"
+SLOT="0"
+IUSE="+arping caps clockdiff doc gcrypt idn ipv6 nettle nls rarpd rdisc ssl static test tftpd tracepath traceroute6"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? ( sys-apps/iproute2 )
+ nls? ( sys-devel/gettext )
+"
+
+LIB_DEPEND="
+ caps? ( sys-libs/libcap[static-libs(+)] )
+ idn? ( net-dns/libidn2:=[static-libs(+)] )
+ nls? ( virtual/libintl[static-libs(+)] )
+"
+
+RDEPEND="
+ traceroute6? ( !net-analyzer/traceroute )
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/os-headers
+ static? ( ${LIB_DEPEND} )
+"
+
+if [[ ${PV} == "99999999" ]] ; then
+ BDEPEND+="
+ app-text/docbook-xml-dtd:4.2
+ app-text/docbook-xml-dtd:4.5
+ app-text/docbook-xsl-ns-stylesheets
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt:0
+ "
+fi
+
+PATCHES=(
+ # Upstream; drop on bump
+ "${FILESDIR}"/${P}-optional-tests.patch
+ # Upstream; drop on bump
+ "${FILESDIR}"/${P}-fix-no-ipv6-ping.patch
+)
+
+src_prepare() {
+ default
+
+ plocale_get_locales > po/LINGUAS || die
+}
+
+src_configure() {
+ use static && append-ldflags -static
+
+ local emesonargs=(
+ -DUSE_CAP="$(usex caps true false)"
+ -DUSE_IDN="$(usex idn true false)"
+ -DBUILD_ARPING="$(usex arping true false)"
+ -DBUILD_CLOCKDIFF="$(usex clockdiff true false)"
+ -DBUILD_PING="true"
+ -DBUILD_RARPD="$(usex rarpd true false)"
+ -DBUILD_RDISC="$(usex rdisc true false)"
+ -DENABLE_RDISC_SERVER="$(usex rdisc true false)"
+ -DBUILD_TFTPD="$(usex tftpd true false)"
+ -DBUILD_TRACEPATH="$(usex tracepath true false)"
+ -DBUILD_TRACEROUTE6="$(usex ipv6 $(usex traceroute6 true false) false)"
+ -DBUILD_NINFOD="false"
+ -DNINFOD_MESSAGES="false"
+ -DNO_SETCAP_OR_SUID="true"
+ -Dsystemdunitdir="$(systemd_get_systemunitdir)"
+ -DUSE_GETTEXT="$(usex nls true false)"
+ $(meson_use !test SKIP_TESTS)
+ )
+
+ if [[ "${PV}" == 99999999 ]] ; then
+ emesonargs+=(
+ -DBUILD_HTML_MANS="$(usex doc true false)"
+ -DBUILD_MANS="true"
+ )
+ else
+ emesonargs+=(
+ -DBUILD_HTML_MANS="false"
+ -DBUILD_MANS="false"
+ )
+ fi
+
+ meson_src_configure
+}
+
+src_compile() {
+ tc-export CC
+ meson_src_compile
+}
+
+src_test() {
+ if [[ ${EUID} != 0 ]]; then
+ einfo "Tests require root privileges; Skipping ..."
+ return
+ fi
+
+ meson_src_test
+}
+
+src_install() {
+ meson_src_install
+
+ dodir /bin
+ local my_bin
+ for my_bin in $(usex arping arping '') ping ; do
+ mv "${ED}"/usr/bin/${my_bin} "${ED}"/bin/ || die
+ done
+ dosym ping /bin/ping4
+
+ if use tracepath ; then
+ dosym tracepath /usr/bin/tracepath4
+ fi
+
+ if use ipv6 ; then
+ dosym ping /bin/ping6
+
+ if use tracepath ; then
+ dosym tracepath /usr/bin/tracepath6
+ dosym tracepath.8 /usr/share/man/man8/tracepath6.8
+ fi
+ fi
+
+ if [[ "${PV}" != 99999999 ]] ; then
+ local -a man_pages
+ local -a html_man_pages
+
+ while IFS= read -r -u 3 -d $'\0' my_bin
+ do
+ my_bin=$(basename "${my_bin}")
+ [[ -z "${my_bin}" ]] && continue
+
+ if [[ -f "${S}/doc/${my_bin}.8" ]] ; then
+ man_pages+=( ${my_bin}.8 )
+ fi
+
+ if [[ -f "${S}/doc/${my_bin}.html" ]] ; then
+ html_man_pages+=( ${my_bin}.html )
+ fi
+ done 3< <(find "${ED}"/{bin,usr/bin,usr/sbin} -type f -perm -a+x -print0 2>/dev/null)
+
+ pushd doc &>/dev/null || die
+ doman "${man_pages[@]}"
+ if use doc ; then
+ docinto html
+ dodoc "${html_man_pages[@]}"
+ fi
+ popd &>/dev/null || die
+ else
+ if use doc ; then
+ mv "${ED}"/usr/share/${PN} "${ED}"/usr/share/doc/${PF}/html || die
+ fi
+ fi
+}
+
+pkg_postinst() {
+ fcaps cap_net_raw \
+ bin/ping \
+ $(usex arping 'bin/arping' '') \
+ $(usex clockdiff 'usr/bin/clockdiff' '')
+}
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-10-14 3:16 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-28 14:47 [gentoo-commits] repo/gentoo:master commit in: net-misc/iputils/, net-misc/iputils/files/ Thomas Deutschmann
-- strict thread matches above, loose matches on Subject: below --
2021-10-14 3:16 Sam James
2021-09-10 17:17 Sam James
2021-01-25 3:29 Mike Gilbert
2020-04-07 18:09 Thomas Deutschmann
2020-04-07 18:09 Thomas Deutschmann
2018-07-10 23:39 Thomas Deutschmann
2018-05-16 19:26 Lars Wendler
2016-03-07 15:50 Lars Wendler
2015-08-20 12:21 Lars Wendler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox