# ChangeLog for net-misc/iputils
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/iputils/ChangeLog,v 1.42 2006/08/20 07:26:41 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/iputils/ChangeLog,v 1.43 2006/12/20 16:06:51 vapier Exp $
+
+*iputils-20060512 (20 Dec 2006)
+
+ 20 Dec 2006; Mike Frysinger <vapier@gentoo.org>
+ +files/iputils-20060512-RFC3542.patch, +files/iputils-20060512-gcc4.patch,
+ +files/iputils-20060512-kernel-ifaddr.patch,
+ +files/iputils-20060512-linux-headers.patch,
+ +files/iputils-20060512-makefile.patch, +iputils-20060512.ebuild:
+ Version bump.
20 Aug 2006; Mike Frysinger <vapier@gentoo.org>
+files/iputils-021109-ipv6-updates.patch, iputils-021109-r3.ebuild:
MD5 79de65b9da536090d0560ba51520fd9d files/iputils-021109-linux-udp-header.patch 418
RMD160 fc11364990492f813061116252bdab361e43092e files/iputils-021109-linux-udp-header.patch 418
SHA256 0a206f5b0848b73609ff8be30411510431a6b8ec91a6fbed4e7c84788a2584f9 files/iputils-021109-linux-udp-header.patch 418
+AUX iputils-20060512-RFC3542.patch 572 RMD160 1008d7bf14ffea9f0187c316bb9f3d5b9dcf2258 SHA1 f1a785adf73168b429494878c2db0e47f4a6e2ee SHA256 7f9320f02b22acb73fbf98a2044c34ef481c95264ad337caee38b5599b7deba5
+MD5 ab6d91dfd2a300f556fc6285958b21d1 files/iputils-20060512-RFC3542.patch 572
+RMD160 1008d7bf14ffea9f0187c316bb9f3d5b9dcf2258 files/iputils-20060512-RFC3542.patch 572
+SHA256 7f9320f02b22acb73fbf98a2044c34ef481c95264ad337caee38b5599b7deba5 files/iputils-20060512-RFC3542.patch 572
+AUX iputils-20060512-gcc4.patch 3842 RMD160 8047c466e3d452c3819d6c4ad06a73f54c394175 SHA1 b330a19ecbc85de40d847e925cf85de4c3c452b6 SHA256 f27bc75d71a8e62c5156672479da21ae95ad9c482583b29c857e2b85c9c9764b
+MD5 e48a6543f70991a919dd752b48b4165f files/iputils-20060512-gcc4.patch 3842
+RMD160 8047c466e3d452c3819d6c4ad06a73f54c394175 files/iputils-20060512-gcc4.patch 3842
+SHA256 f27bc75d71a8e62c5156672479da21ae95ad9c482583b29c857e2b85c9c9764b files/iputils-20060512-gcc4.patch 3842
+AUX iputils-20060512-kernel-ifaddr.patch 1732 RMD160 88d0f57dc248e67fd7a7c6ca5705a721c553a177 SHA1 6e2617524eb6167476bd51461f43b24e619fcc1a SHA256 6b6d1e80ecb2a1bf8b5887c653abd6403e5edd743638d60eb07bc491b91bd7fe
+MD5 63918c30a1f249c6b2ebf49ac3162c8b files/iputils-20060512-kernel-ifaddr.patch 1732
+RMD160 88d0f57dc248e67fd7a7c6ca5705a721c553a177 files/iputils-20060512-kernel-ifaddr.patch 1732
+SHA256 6b6d1e80ecb2a1bf8b5887c653abd6403e5edd743638d60eb07bc491b91bd7fe files/iputils-20060512-kernel-ifaddr.patch 1732
+AUX iputils-20060512-linux-headers.patch 213 RMD160 55c51196e4604e1810ab85faa5dfd195b0fddbf1 SHA1 8ff0acaf2ec425f860b6476dee71d2a07d9d4525 SHA256 b715bb3db742310727a87582d2c8eb79983160772c3fc8221d49efd3ed133c4f
+MD5 123e85c31544297f1b4331555bcb9b5d files/iputils-20060512-linux-headers.patch 213
+RMD160 55c51196e4604e1810ab85faa5dfd195b0fddbf1 files/iputils-20060512-linux-headers.patch 213
+SHA256 b715bb3db742310727a87582d2c8eb79983160772c3fc8221d49efd3ed133c4f files/iputils-20060512-linux-headers.patch 213
+AUX iputils-20060512-makefile.patch 1011 RMD160 703f761f21f03d5b0ba970b16436ce7128f6311c SHA1 5e952870bf4f1c2996d7ded8566f32668c2726a9 SHA256 339cc4826a9352db5829e94c8fd1d1306424a1b34b3612d9936fb2b0ea943ee1
+MD5 4e95a30129623fe2c1b651f00c2413d0 files/iputils-20060512-makefile.patch 1011
+RMD160 703f761f21f03d5b0ba970b16436ce7128f6311c files/iputils-20060512-makefile.patch 1011
+SHA256 339cc4826a9352db5829e94c8fd1d1306424a1b34b3612d9936fb2b0ea943ee1 files/iputils-20060512-makefile.patch 1011
+DIST iputils-s20060512.tar.bz2 88091 RMD160 7fedbf48a0899e81f9e9d8b4902c0ab3d7b66db7 SHA1 daa7fd4efb9ac0c8800c46325faf487298025412 SHA256 61d5adff80ebe0530c8f4b9933cc8e08d8528012f8a96a788e638b411f369e8e
DIST iputils-ss021109-try.tar.bz2 428335 RMD160 7786bff8416164906208d47853af83581195c6b6 SHA1 8e695eb45d7f63fe2321b59b8cb64bff1078a03a SHA256 06ea9c83b5ff1ed02f526ed798a59e949793da1c232457077e75fcc8a10cdcb4
EBUILD iputils-021109-r3.ebuild 2478 RMD160 4dd808a39dda06bd9cf610a6db233d37cffa12a9 SHA1 60372b3559916d373c09dd001a55850ca922735c SHA256 3d8b4110f6c6b833e6acd574a119ebda4450f3f07f24e6eeabef850d3b94b625
MD5 31bb4f0403d1bbf7919def937f33c240 iputils-021109-r3.ebuild 2478
RMD160 4dd808a39dda06bd9cf610a6db233d37cffa12a9 iputils-021109-r3.ebuild 2478
SHA256 3d8b4110f6c6b833e6acd574a119ebda4450f3f07f24e6eeabef850d3b94b625 iputils-021109-r3.ebuild 2478
-MISC ChangeLog 6493 RMD160 d372afbcf6bb19f81605723135ea543893eb1413 SHA1 5c774575b9dc3e02be5b1cf5802ee632235aa105 SHA256 a93afdf648e19e908dad5ea0a2930a77469542847e762d642c808d7d9cd102de
-MD5 69928d08a762b86040b094eaa357c063 ChangeLog 6493
-RMD160 d372afbcf6bb19f81605723135ea543893eb1413 ChangeLog 6493
-SHA256 a93afdf648e19e908dad5ea0a2930a77469542847e762d642c808d7d9cd102de ChangeLog 6493
+EBUILD iputils-20060512.ebuild 2082 RMD160 00f6773a2ac51be4e582354b88754a2f46f8775a SHA1 c902bfab4315928847e15f19cca466e5d5da9bda SHA256 bdedf1771388422e6eee93d5369eb853191f90da05b5e82dfa1ed73faa18a5de
+MD5 b2d3ff82fd8262b3b7be124164fb9a1b iputils-20060512.ebuild 2082
+RMD160 00f6773a2ac51be4e582354b88754a2f46f8775a iputils-20060512.ebuild 2082
+SHA256 bdedf1771388422e6eee93d5369eb853191f90da05b5e82dfa1ed73faa18a5de iputils-20060512.ebuild 2082
+MISC ChangeLog 6832 RMD160 85ef2d46d8266176642ad9336d1a1bdc59bd38ad SHA1 7eb9be05557dbc2346c8722083681fa3205f7380 SHA256 87094fd43d2f2db470b959dac4557c13b4ad2c7f4232796c49a6e365352966d3
+MD5 047152814f5c65df5eb03178458e8ee5 ChangeLog 6832
+RMD160 85ef2d46d8266176642ad9336d1a1bdc59bd38ad ChangeLog 6832
+SHA256 87094fd43d2f2db470b959dac4557c13b4ad2c7f4232796c49a6e365352966d3 ChangeLog 6832
MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
MD5 2125d037650c8570ef6590ee37901f17 files/digest-iputils-021109-r3 265
RMD160 b38a02ef844475283c5af946c5c0f9166acde648 files/digest-iputils-021109-r3 265
SHA256 701565fd43b0b8af78eb94ed1f695a3ce68a94674c309bd47a79e4f20fed02b4 files/digest-iputils-021109-r3 265
+MD5 d1a03b4e8b248518bfbdb595e328f009 files/digest-iputils-20060512 253
+RMD160 3af2bac60b9609d76247499078f8beb978cedea4 files/digest-iputils-20060512 253
+SHA256 cc03114cb4292c3e01b341a32fe72f00b3f736f2af9cd00c6ed6480510dcee35 files/digest-iputils-20060512 253
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
-iD8DBQFE6WHramhnQswr0vIRAu63AKCVSiSsFWPgsOap5hrmdK6Qf0ndmwCferpj
-Dub2NH9Si4AQKJ7XfoBaHSg=
-=wUSu
+iD4DBQFFiV+yK9sYciBdMQMRAuUYAJY4Rke/QMp0LtzxoUchDxuDAv70AJ9paGqH
+oJUZtapVtaIe8TkvhkS+ig==
+=p7W8
-----END PGP SIGNATURE-----
--- /dev/null
+MD5 ec00560576a068fb95fe0bf1a298e2d5 iputils-s20060512.tar.bz2 88091
+RMD160 7fedbf48a0899e81f9e9d8b4902c0ab3d7b66db7 iputils-s20060512.tar.bz2 88091
+SHA256 61d5adff80ebe0530c8f4b9933cc8e08d8528012f8a96a788e638b411f369e8e iputils-s20060512.tar.bz2 88091
--- /dev/null
+taken from upstream git repo
+
+--- ping6.c
++++ ping6.c
+@@ -80,6 +80,11 @@
+ #define SOL_ICMPV6 IPPROTO_ICMPV6
+ #endif
+
++/* RFC3542 */
++#ifndef ICMP6_DST_UNREACH_BEYONDSCOPE
++#define ICMP6_DST_UNREACH_BEYONDSCOPE ICMP6_DST_UNREACH_NOTNEIGHBOR
++#endif
++
+ #ifndef IPV6_SRCRT_TYPE_0
+ #define IPV6_SRCRT_TYPE_0 0
+ #endif
+@@ -829,7 +834,7 @@
+ case ICMP6_DST_UNREACH_ADMIN:
+ printf("Administratively prohibited");
+ break;
+- case ICMP6_DST_UNREACH_NOTNEIGHBOR:
++ case ICMP6_DST_UNREACH_BEYONDSCOPE:
+ printf("Not neighbour");
+ break;
+ case ICMP6_DST_UNREACH_ADDR:
--- /dev/null
+fix a lot of incorrect types
+
+--- iputils/arping.c
++++ iputils/arping.c
+@@ -434,7 +434,7 @@ main(int argc, char **argv)
+ }
+ } else if (!dad) {
+ int on = 1;
+- int alen = sizeof(saddr);
++ socklen_t alen = sizeof(saddr);
+
+ saddr.sin_port = htons(1025);
+ saddr.sin_addr = dst;
+@@ -463,7 +463,7 @@ main(int argc, char **argv)
+ }
+
+ if (1) {
+- int alen = sizeof(me);
++ socklen_t alen = sizeof(me);
+ if (getsockname(s, (struct sockaddr*)&me, &alen) == -1) {
+ perror("getsockname");
+ exit(2);
+@@ -495,9 +495,9 @@ main(int argc, char **argv)
+
+ while(1) {
+ sigset_t sset, osset;
+- char packet[4096];
++ unsigned char packet[4096];
+ struct sockaddr_ll from;
+- int alen = sizeof(from);
++ socklen_t alen = sizeof(from);
+ int cc;
+
+ if ((cc = recvfrom(s, packet, sizeof(packet), 0,
+--- iputils/clockdiff.c
++++ iputils/clockdiff.c
+@@ -120,7 +120,7 @@ long rtt_sigma = 0;
+ int
+ measure(struct sockaddr_in * addr)
+ {
+- int length;
++ socklen_t length;
+ int msgcount;
+ int cc, count;
+ fd_set ready;
+@@ -299,7 +299,7 @@ char *myname, *hisname;
+ int
+ measure_opt(struct sockaddr_in * addr)
+ {
+- int length;
++ socklen_t length;
+ int msgcount;
+ int cc, count;
+ fd_set ready;
+@@ -597,7 +597,7 @@ main(int argc, char *argv[])
+ }
+ if (ip_opt_len) {
+ struct sockaddr_in myaddr;
+- int addrlen = sizeof(myaddr);
++ socklen_t addrlen = sizeof(myaddr);
+ unsigned char rspace[ip_opt_len];
+
+ bzero(rspace, sizeof(rspace));
+--- iputils/ping6.c
++++ iputils/ping6.c
+@@ -313,7 +313,7 @@ int main(int argc, char *argv[])
+ hostname = target;
+
+ if (ipv6_addr_any(&source.sin6_addr)) {
+- int alen;
++ socklen_t alen;
+ int probe_fd = socket(AF_INET6, SOCK_DGRAM, 0);
+
+ if (probe_fd < 0) {
+--- iputils/ping.c
++++ iputils/ping.c
+@@ -260,7 +260,7 @@ main(int argc, char **argv)
+ }
+
+ if (source.sin_addr.s_addr == 0) {
+- int alen;
++ socklen_t alen;
+ struct sockaddr_in dst = whereto;
+ int probe_fd = socket(AF_INET, SOCK_DGRAM, 0);
+
+--- iputils/ping_common.c
++++ iputils/ping_common.c
+@@ -67,7 +67,7 @@ static void fill(char *patp)
+ int ii, jj, kk;
+ int pat[16];
+ char *cp;
+- char *bp = outpack+8;
++ u_char *bp = outpack+8;
+
+ for (cp = patp; *cp; cp++) {
+ if (!isxdigit(*cp)) {
+@@ -393,7 +393,7 @@ resend:
+ void sock_setbufs(int icmp_sock, int alloc)
+ {
+ int rcvbuf, hold;
+- int tmplen = sizeof(hold);
++ socklen_t tmplen = sizeof(hold);
+
+ if (!sndbuf)
+ sndbuf = alloc;
+@@ -464,7 +464,7 @@ void setup(int icmp_sock)
+
+ if (!(options & F_PINGFILLED)) {
+ int i;
+- char *p = outpack+8;
++ u_char *p = outpack+8;
+
+ /* Do not forget about case of small datalen,
+ * fill timestamp area too!
+--- iputils/rarpd.c
++++ iputils/rarpd.c
+@@ -423,7 +423,7 @@ void serve_it(int fd)
+ {
+ unsigned char buf[1024];
+ struct sockaddr_ll sll;
+- int sll_len = sizeof(sll);
++ socklen_t sll_len = sizeof(sll);
+ struct arphdr *a = (struct arphdr*)buf;
+ struct rarp_map *rmap;
+ unsigned char *ptr;
+--- iputils/rdisc.c
++++ iputils/rdisc.c
+@@ -451,7 +451,7 @@ next:
+ for (;;) {
+ u_char packet[MAXPACKET];
+ int len = sizeof (packet);
+- int fromlen = sizeof (from);
++ socklen_t fromlen = sizeof (from);
+ int cc;
+
+ cc=recvfrom(s, (char *)packet, len, 0,
+--- iputils/tftpd.c
++++ iputils/tftpd.c
+@@ -89,7 +89,7 @@ union {
+ struct sockaddr_in sin;
+ struct sockaddr_in6 sin6;
+ } from;
+-int fromlen;
++socklen_t fromlen;
+
+ #define MAXARG 1
+ char *dirs[MAXARG+1];
+@@ -149,7 +149,8 @@ int main(int ac, char **av)
+ */
+ {
+ int pid;
+- int i, j;
++ int i;
++ socklen_t j;
+
+ for (i = 1; i < 20; i++) {
+ pid = fork();
+--- iputils/traceroute6.c
++++ iputils/traceroute6.c
+@@ -501,7 +501,7 @@ int main(int argc, char *argv[])
+ (char *)&on, sizeof(on));
+
+ if (source == NULL) {
+- int alen;
++ socklen_t alen;
+ int probe_fd = socket(AF_INET6, SOCK_DGRAM, 0);
+
+ if (probe_fd < 0) {
--- /dev/null
+--- rarpd.c.orig
++++ rarpd.c
+@@ -47,6 +47,14 @@
+ #endif
+ void usage(void) __attribute__((noreturn));
+
++struct kern_ifaddr
++{
++ struct kern_ifaddr *next;
++ __u32 prefix;
++ __u32 mask;
++ __u32 local;
++};
++
+ struct iflink
+ {
+ struct iflink *next;
+@@ -54,17 +62,9 @@
+ int hatype;
+ unsigned char lladdr[16];
+ unsigned char name[IFNAMSIZ];
+- struct ifaddr *ifa_list;
++ struct kern_ifaddr *ifa_list;
+ } *ifl_list;
+
+-struct ifaddr
+-{
+- struct ifaddr *next;
+- __u32 prefix;
+- __u32 mask;
+- __u32 local;
+-};
+-
+ struct rarp_map
+ {
+ struct rarp_map *next;
+@@ -91,7 +91,7 @@
+ int fd;
+ struct ifreq *ifrp, *ifend;
+ struct iflink *ifl;
+- struct ifaddr *ifa;
++ struct kern_ifaddr *ifa;
+ struct ifconf ifc;
+ struct ifreq ibuf[256];
+
+@@ -182,7 +182,7 @@
+ if (ifa == NULL) {
+ if (mask == 0 || prefix == 0)
+ continue;
+- ifa = (struct ifaddr*)malloc(sizeof(*ifa));
++ ifa = (struct kern_ifaddr*)malloc(sizeof(*ifa));
+ memset(ifa, 0, sizeof(*ifa));
+ ifa->local = addr;
+ ifa->prefix = prefix;
+@@ -238,10 +238,10 @@
+ return dent != NULL;
+ }
+
+-struct ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist)
++struct kern_ifaddr *select_ipaddr(int ifindex, __u32 *sel_addr, __u32 **alist)
+ {
+ struct iflink *ifl;
+- struct ifaddr *ifa;
++ struct kern_ifaddr *ifa;
+ int retry = 0;
+ int i;
+
+@@ -297,7 +297,7 @@
+
+ if (r == NULL) {
+ if (hatype == ARPHRD_ETHER && halen == 6) {
+- struct ifaddr *ifa;
++ struct kern_ifaddr *ifa;
+ struct hostent *hp;
+ char ename[256];
+ static struct rarp_map emap = {
+@@ -370,7 +370,7 @@
+ {
+ __u32 laddr = 0;
+ struct iflink *ifl;
+- struct ifaddr *ifa;
++ struct kern_ifaddr *ifa;
+
+ for (ifl=ifl_list; ifl; ifl = ifl->next)
+ if (ifl->index == ifindex)
--- /dev/null
+--- rdisc.c
++++ rdisc.c
+@@ -34,6 +34,7 @@
+ #include <sys/time.h>
+ /* Do not use "improved" glibc version! */
+ #include <linux/limits.h>
++#include <linux/types.h>
+
+ #include <sys/param.h>
+ #include <sys/socket.h>
--- /dev/null
+--- Makefile.orig
++++ Makefile
+@@ -1,20 +1,18 @@
+ # Path to parent kernel include files directory
+ LIBC_INCLUDE=/usr/include
+
+-DEFINES=
+-
+ #options if you have a bind>=4.9.4 libresolv (or, maybe, glibc)
+ LDLIBS=-lresolv
+-ADDLIB=
+
+ #options if you compile with libc5, and without a bind>=4.9.4 libresolv
+ # NOT AVAILABLE. Please, use libresolv.
+
+-CC=gcc
++CC ?= gcc
+ # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
+ #CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g -Werror
+-CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
+-CFLAGS=$(CCOPT) $(GLIBCFIX) -I../include $(DEFINES)
++CFLAGS ?= -O2 -g
++CFLAGS += -Wstrict-prototypes -Wall
++CPPFLAGS += -D_GNU_SOURCE
+
+ IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
+ IPV6_TARGETS=tracepath6 traceroute6 ping6
+@@ -35,7 +33,7 @@
+ rdisc_srv: rdisc_srv.o
+
+ rdisc_srv.o: rdisc.c
+- $(CC) $(CFLAGS) -DRDISC_SERVER -o rdisc_srv.o rdisc.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) -DRDISC_SERVER -o rdisc_srv.o rdisc.c
+
+
+ check-kernel:
--- /dev/null
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/iputils/iputils-20060512.ebuild,v 1.1 2006/12/20 16:06:51 vapier Exp $
+
+inherit flag-o-matic eutils toolchain-funcs
+
+DESCRIPTION="Network monitoring tools including ping and ping6"
+HOMEPAGE="http://www.skbuff.net/iputils/"
+SRC_URI="http://www.skbuff.net/iputils/iputils-s${PV}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="static ipv6 doc"
+
+DEPEND="virtual/os-headers
+ doc? (
+ app-text/openjade
+ dev-perl/SGMLSpm
+ app-text/docbook-sgml-dtd
+ app-text/docbook-sgml-utils
+ )"
+RDEPEND=""
+
+S=${WORKDIR}/${PN}-s${PV}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-021109-gcc34.patch
+ epatch "${FILESDIR}"/${P}-gcc4.patch
+ epatch "${FILESDIR}"/021109-ipg-linux-2.6.patch #71756
+ epatch "${FILESDIR}"/021109-uclibc-no-ether_ntohost.patch
+ epatch "${FILESDIR}"/${P}-makefile.patch
+ epatch "${FILESDIR}"/${P}-kernel-ifaddr.patch
+ epatch "${FILESDIR}"/${P}-linux-headers.patch
+ epatch "${FILESDIR}"/${P}-RFC3542.patch
+
+ use static && append-ldflags -static
+ use ipv6 || sed -i -e 's:IPV6_TARGETS=:#IPV6_TARGETS=:' Makefile
+}
+
+src_compile() {
+ tc-export CC
+ emake || die "make main failed"
+
+ # We include the extra check for docbook2html
+ # because when we emerge from a stage1/stage2,
+ # it may not exist #23156
+ if use doc && type -p docbook2html ; then
+ emake -j1 html || die
+ fi
+ emake -j1 man || die "make man failed"
+}
+
+src_install() {
+ into /
+ dobin ping || die "ping"
+ use ipv6 && dobin ping6
+ dosbin arping || die "arping"
+ into /usr
+ dosbin tracepath || die "tracepath"
+ use ipv6 && dosbin trace{path,route}6
+ dosbin clockdiff rarpd rdisc ipg tftpd || die "misc sbin"
+
+ fperms 4711 /bin/ping
+ use ipv6 && fperms 4711 /bin/ping6 /usr/sbin/traceroute6
+
+ dodoc INSTALL RELNOTES
+
+ rm -f doc/setkey.8
+ use ipv6 \
+ && dosym ping.8 /usr/share/man/man8/ping6.8 \
+ || rm -f doc/*6.8
+ doman doc/*.8
+
+ use doc && dohtml doc/*.html
+}