net-misc/iputils: Bump to version 20150815.
authorLars Wendler <polynomial-c@gentoo.org>
Thu, 20 Aug 2015 12:18:18 +0000 (14:18 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Thu, 20 Aug 2015 12:18:18 +0000 (14:18 +0200)
Package-Manager: portage-2.2.20.1
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
net-misc/iputils/Manifest
net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch [new file with mode: 0644]
net-misc/iputils/files/iputils-20150815-ping6_crypto.patch [new file with mode: 0644]
net-misc/iputils/files/iputils-20150815-ping_default_ipv4.patch [new file with mode: 0644]
net-misc/iputils/iputils-20150815.ebuild [new file with mode: 0644]
net-misc/iputils/metadata.xml

index 40e0b48a681b8b720d5735a8abd280b846235c83..a1191dc0fadfb553f98e0434a7b2f6d6e81c1d63 100644 (file)
@@ -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 (file)
index 0000000..50e108b
--- /dev/null
@@ -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 (file)
index 0000000..1e236ee
--- /dev/null
@@ -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 (file)
index 0000000..71d32f0
--- /dev/null
@@ -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 (file)
index 0000000..8cf3708
--- /dev/null
@@ -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' '')
+}
index dc01592f717169a6a3e200574f100c5c546a097f..183d454a96bb383aa6bc2fbad91ab9c1fe7cd69b 100644 (file)
@@ -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>