aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Fish <gentoo@seaofdirac.net>2018-07-21 22:25:15 +0200
committerNicholas Fish <gentoo@seaofdirac.net>2018-07-21 22:25:15 +0200
commit47462b4f454d9ded5b112816e07e20efe4a534f2 (patch)
treee13e4eeaa8e9243be2ccd2381c03793313930e93
parentmedia-libs/mesa: trim v9999, add v18.1.3 (diff)
downloadennui-47462b4f454d9ded5b112816e07e20efe4a534f2.tar.gz
ennui-47462b4f454d9ded5b112816e07e20efe4a534f2.tar.bz2
ennui-47462b4f454d9ded5b112816e07e20efe4a534f2.zip
net-misc/iputils: Add patch to address missing IDN support
-rw-r--r--net-misc/iputils/Manifest12
-rw-r--r--net-misc/iputils/files/iputils-20150815-nonroot-floodping.patch11
-rw-r--r--net-misc/iputils/files/iputils-20180629-exclude-ai_canonidn.patch27
-rw-r--r--net-misc/iputils/files/iputils-20180629-musl.patch87
-rw-r--r--net-misc/iputils/files/iputils-99999999-musl.patch92
-rw-r--r--net-misc/iputils/files/iputils-99999999-tracepath46.patch30
-rw-r--r--net-misc/iputils/files/rarpd.conf.d8
-rw-r--r--net-misc/iputils/files/rarpd.init.d19
-rw-r--r--net-misc/iputils/iputils-20180629.ebuild179
-rw-r--r--net-misc/iputils/iputils-99999999.ebuild176
-rw-r--r--net-misc/iputils/metadata.xml25
11 files changed, 666 insertions, 0 deletions
diff --git a/net-misc/iputils/Manifest b/net-misc/iputils/Manifest
new file mode 100644
index 0000000..433b499
--- /dev/null
+++ b/net-misc/iputils/Manifest
@@ -0,0 +1,12 @@
+AUX iputils-20150815-nonroot-floodping.patch 406 BLAKE2B 18c9adf92bb64ddae4a62aaf280a858e1ade2d34938f29026bc62c6b0b43919c26a909f2997d7caaaa5e9c82f139c8bc2aefc752aceeff6fe5f15f0c7b53618c SHA512 4f63d788d4aeccd66c410b6cc3352934a9b7d9b1222dedbcd7688c2b884b620a308b44e2dc777421cef20365a6ae371d59ad349f76bc5fcc751f90169a8f0d34
+AUX iputils-20180629-exclude-ai_canonidn.patch 683 BLAKE2B 300cddddc206a437e0b8127030c728e788519d82be3cc7ea30967499d0ed2c0f33251191e9ae0bf9d8c778660873a4706c824d161a35731d53e78322090ce577 SHA512 6ef326aebdb8b59380a99d568172c74c9d1e2ca7a469d5a0feab26b5980503fbae9c573e1ee6ed6c70b4d32a1022b7dc2638ba02499d01863ff64146b014cad5
+AUX iputils-20180629-musl.patch 1718 BLAKE2B cd701f102a57743ba5494645c78b5c70004623530d8c82f20b2dc6b7d006c422fc23ac9493040ab9eccbcf87874b8db6ab394620a4ea61a7eb2e33e32761290f SHA512 0f623a1644592211b8935b6a7556a2a2c95151ac9b291e574bb1e9a5371fd72f27994867f8d599bca22a402627213807338d6cac17d17e7d175eab847658398d
+AUX iputils-99999999-musl.patch 1799 BLAKE2B d178697fd3f3dad9977b15d5a48f3742408f8d3d72fd3883ad512b11a16a719ce56c81ca00281bf754d934192dc3d980998f9947d66974dd3993ba0ed8760be0 SHA512 d3e4cd51591d1c1bb96b58aedd131bbadf6c4f523ce6ec0aebd991d4396fcd516a1aa3af180510efd8484852caf5301cfe4b0936a449b62caffb251d78794c54
+AUX iputils-99999999-tracepath46.patch 824 BLAKE2B c964390aad46b75bda363ca77a87f90856a5a7f23e7b66bacd640034e09b07620f413bde16c1879659d2f01ea9d99ace664141907406239e58841e0ffcda3097 SHA512 65638246a73334640b02a136aa55a4a709d7c4639c57b7634d5595ec40d4bc9c41068a1469a76d22d0a216e9a2c8a52f7840432c435f40ee7035981494d0a443
+AUX rarpd.conf.d 250 BLAKE2B 5370ad1151911132ffff03952bc74ba2727eb71fb824b0d3f6ccd6dfad3aafd9c6ab2e0a4171ce2b34fd716d982362778c88154e5028db48836d4cc6c62b7c69 SHA512 8ff4c38b4f51f92ec6d66a446272e0cd9d958c3075162c5a4aa47eb54bb69f27045b888f8a547394ab3de51bdb69f14b8df528785a8c967fa33ab0c4db329338
+AUX rarpd.init.d 583 BLAKE2B 527579b7cc8211af9910702ff730b0911cd84dc2efe8c5272b78e8be5bf656ee7a938a3c3cdaa6a1b8e51fa221f6ff71f3cef4e48b932995b0e66a35a5d7a838 SHA512 926feed1792799ba63afd9a67111c7c3bf8157b758190a5f1587c25b016aa82cdeb4fbffa41ffa5012f2c3dae05fb8f4c0f0bf0ae2b3048c1299d9489ce1bada
+DIST iputils-20180629.tar.gz 195094 BLAKE2B 81bf6ef427eac0769ea3f95c20294b46c81f9c619551234eb265b3a428998a96cf3df0cdc7499f9eea280c1999e899e87c3f4a863141de251a9c509840bc83b3 SHA512 16b8f5ad1cf88083ebaee0a71fddb14bb0a904336fd0baebfcca86c27ac0773553b21d12790b05cab7661d6432c75bbb1523e871e5e1b77faacd13ccc84f4476
+DIST iputils-manpages-20180629.tar.xz 29804 BLAKE2B 15983cc97bc6b6853c193f046687f10be11902f7e1d2dc2eec6c58edd1926f10152108d378858b0d7eb2d2908f038965b05515c4927aedc460282a22307883ad SHA512 1c5b0bab8496a3f3d9b5080029221231a497d9a5e91c61bd0ddd0b63fd51572d052801294aafd08e1dc8ad448b82cdaf48c72f0b08cc143f9c144f3db6848d9a
+EBUILD iputils-20180629.ebuild 3986 BLAKE2B d996c00dbd471d7e97e37e0906fdc508079094f4c2d093725da3352c7df8038f21615afcfcaff1050169be228765fa862ddd801c3cacb75f2622bd57732aafe5 SHA512 c720c8412c840a9f30e8191c37449330acd98688ba33c421fbec7c8bd149139bd133219b0166ac52ae7729ce9226e75d90d78f1c2dbd7a5aff257cafc14160b2
+EBUILD iputils-99999999.ebuild 3918 BLAKE2B 0bacc8ef4b0eec5caaaed1461371760c5ecec642fa76b277848dcf62b15be95ed6ba4e298aca9b3fbc01c67562d75e71db4c237aadafcbbd25adce73d07a34c1 SHA512 33dd2f83fdb239d043bfb4339c0526e211e12218cef27d9447f78665309aea2ea9ebc0428e350d04dcdd9a96d7a8bc6b2a8e5b25c21d54aa982f49f9c379b8d2
+MISC metadata.xml 1698 BLAKE2B 0351c77626f66e4a50d83072124088cc7195c4666f6a66f6a981fa66b16b3740da6a08d63da9db0b2a4d02f8a75a04f97142e5b78099525ee8ed4921738d0236 SHA512 f1d211dbe4212072614039c5aea1996270560a24dfa3734af86c4f1f4254cc3abf8440c03d8894b925b71b970e70fb60e79682753655a68b82203cdc401f6ebc
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-20180629-exclude-ai_canonidn.patch b/net-misc/iputils/files/iputils-20180629-exclude-ai_canonidn.patch
new file mode 100644
index 0000000..e27171f
--- /dev/null
+++ b/net-misc/iputils/files/iputils-20180629-exclude-ai_canonidn.patch
@@ -0,0 +1,27 @@
+From 4f74c44f0b3cf992e364b2776367ba91c9d13599 Mon Sep 17 00:00:00 2001
+From: Nicholas Fish <github@seaofdirac.net>
+Date: Sat, 21 Jul 2018 16:42:46 +0200
+Subject: [PATCH] Fix compilation on systems that don't yet support IDN
+
+---
+ ping.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ping.c b/ping.c
+index 733477f..b241815 100644
+--- a/ping.c
++++ b/ping.c
+@@ -207,9 +207,9 @@ main(int argc, char **argv)
+
+ #ifdef USE_IDN
+ setlocale(LC_ALL, "");
+-#endif
+ if (!strcmp(setlocale(LC_ALL, NULL), "C"))
+ hints.ai_flags &= ~ AI_CANONIDN;
++#endif
+
+ /* Support being called using `ping4` or `ping6` symlinks */
+ if (argv[0][strlen(argv[0])-1] == '4')
+--
+2.18.0
+
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 0000000..48742d9
--- /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/files/iputils-99999999-musl.patch b/net-misc/iputils/files/iputils-99999999-musl.patch
new file mode 100644
index 0000000..167e7fa
--- /dev/null
+++ b/net-misc/iputils/files/iputils-99999999-musl.patch
@@ -0,0 +1,92 @@
+From 58ed671d1003caf32f3c35260531e8e1cd7efb80 Mon Sep 17 00:00:00 2001
+From: Aric Belsito <lluixhi@gmail.com>
+Date: Sun, 29 Oct 2017 23:17:03 +0100
+Subject: [PATCH] Fix build on MUSL
+
+Add missing AI_IDN and NI_IDN declarations.
+
+Bug: https://bugs.gentoo.org/503914
+---
+ arping.c | 7 +++++++
+ ping.h | 11 +++++++++++
+ tracepath.c | 8 ++++++++
+ traceroute6.c | 4 ++++
+ 4 files changed, 30 insertions(+)
+
+diff --git a/arping.c b/arping.c
+index 0ac18cd..5d2145e 100644
+--- a/arping.c
++++ b/arping.c
+@@ -45,6 +45,13 @@
+ #ifdef USE_IDN
+ #include <idna.h>
+ #include <locale.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++#ifndef AI_CANONIDN
++#define AI_CANONIDN 0x0080
++#endif
+ #endif
+
+ #include "SNAPSHOT.h"
+diff --git a/ping.h b/ping.h
+index c5f0321..0391de0 100644
+--- a/ping.h
++++ b/ping.h
+@@ -38,6 +38,17 @@
+ #include <locale.h>
+ #include <idna.h>
+ #include <stringprep.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++#ifndef AI_CANONIDN
++#define AI_CANONIDN 0x0080
++#endif
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN)
+ #define getnameinfo_flags NI_IDN
+ #else
+diff --git a/tracepath.c b/tracepath.c
+index b0eb911..c50e3ec 100644
+--- a/tracepath.c
++++ b/tracepath.c
+@@ -30,6 +30,14 @@
+ #ifdef USE_IDN
+ #include <idna.h>
+ #include <locale.h>
++
++#ifndef AI_IDN
++#define AI_IDN 0x0040
++#endif
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define getnameinfo_flags NI_IDN
+ #else
+ #define getnameinfo_flags 0
+diff --git a/traceroute6.c b/traceroute6.c
+index 7807956..c6d868a 100644
+--- a/traceroute6.c
++++ b/traceroute6.c
+@@ -247,6 +247,10 @@
+ #include <idna.h>
+ #include <locale.h>
+
++#ifndef NI_IDN
++#define NI_IDN 32
++#endif
++
+ #define getnameinfo_flags NI_IDN
+ #else
+ #define getnameinfo_flags 0
+--
+2.14.3
+
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 0000000..20d017b
--- /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/files/rarpd.conf.d b/net-misc/iputils/files/rarpd.conf.d
new file mode 100644
index 0000000..ef7fc48
--- /dev/null
+++ b/net-misc/iputils/files/rarpd.conf.d
@@ -0,0 +1,8 @@
+# Config file for /etc/init.d/rarpd
+
+# You probably want to select the interface for this to listen on.
+# By default it uses loopback which most likely won't help.
+RARPD_IFACE="lo"
+
+# See the rarpd(8) manpage for more info.
+RARPD_OPTS="-b /tftpboot"
diff --git a/net-misc/iputils/files/rarpd.init.d b/net-misc/iputils/files/rarpd.init.d
new file mode 100644
index 0000000..27081fc
--- /dev/null
+++ b/net-misc/iputils/files/rarpd.init.d
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/rarpd.pid"
+command="/usr/sbin/rarpd"
+# The -d option keeps it from forking. This way s-s-d can do the fork and
+# set up the pidfile with the right value below.
+command_args="-d ${RARPD_OPTS} ${RARPD_IFACE}"
+start_stop_daemon_args="--background --make-pidfile"
+
+start_pre() {
+ if [ ! -f /etc/ethers ] ; then
+ eerror "Please create /etc/ethers with the following content:"
+ eerror "[MAC address] [name or IP]"
+ return 1
+ fi
+ return 0
+}
diff --git a/net-misc/iputils/iputils-20180629.ebuild b/net-misc/iputils/iputils-20180629.ebuild
new file mode 100644
index 0000000..97045b2
--- /dev/null
+++ b/net-misc/iputils/iputils-20180629.ebuild
@@ -0,0 +1,179 @@
+# 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
+ "${FILESDIR}"/${PN}-20180629-exclude-ai_canonidn.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' '')
+}
diff --git a/net-misc/iputils/iputils-99999999.ebuild b/net-misc/iputils/iputils-99999999.ebuild
new file mode 100644
index 0000000..b393491
--- /dev/null
+++ b/net-misc/iputils/iputils-99999999.ebuild
@@ -0,0 +1,176 @@
+# 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
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-20180629-exclude-ai_canonidn.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${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 ~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' '')
+}
diff --git a/net-misc/iputils/metadata.xml b/net-misc/iputils/metadata.xml
new file mode 100644
index 0000000..8fb0527
--- /dev/null
+++ b/net-misc/iputils/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <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>
+ <flag name="tracepath">Build and install tracepath -- tool for tracing network paths for discovering MTU values</flag>
+ <flag name="traceroute">Build and install traceroute -- tool for tracing network paths (see also <pkg>net-analyzer/traceroute</pkg>)</flag>
+ <flag name="SECURITY_HAZARD">Allow non-root users to flood (ping -f). This is generally a very bad idea.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:skbuff:iputils</remote-id>
+ <remote-id type="github">iputils/iputils</remote-id>
+ </upstream>
+</pkgmetadata>