diff --git a/.gitignore b/.gitignore
index c41b7be..802b2bf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
 SOURCES/ifenslave.tar.gz
-SOURCES/iputils-s20121221.tar.bz2
+SOURCES/iputils-s20160308.tar.gz
diff --git a/.iputils.metadata b/.iputils.metadata
index fd94f06..9a7b349 100644
--- a/.iputils.metadata
+++ b/.iputils.metadata
@@ -1,2 +1,2 @@
 1e2652cb1d1e29a8ebed1209131924a6eb864daf SOURCES/ifenslave.tar.gz
-4d56d8c75d6a5d58f052e4056e975f01ebab9ba9 SOURCES/iputils-s20121221.tar.bz2
+bd9292647baafec6bd9ebe119923abf854e56e7f SOURCES/iputils-s20160308.tar.gz
diff --git a/SOURCES/iputils-20020927-rh.patch b/SOURCES/iputils-20020927-rh.patch
deleted file mode 100644
index 32ec1bc..0000000
--- a/SOURCES/iputils-20020927-rh.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Fedora-specific makefile patch.
-
---- iputils-s20121221-dist/Makefile	2013-01-07 13:37:04.913224305 +0100
-+++ iputils-s20121221-new/Makefile	2013-01-07 13:42:56.542052062 +0100
-@@ -27,7 +27,7 @@
- # sysfs support (with libsysfs - deprecated) [no|yes|static]
- USE_SYSFS=no
- # IDN support (experimental) [no|yes|static]
--USE_IDN=no
-+USE_IDN=yes
- 
- # Do not use getifaddrs [no|yes|static]
- WITHOUT_IFADDRS=no
-@@ -35,7 +35,7 @@
- ARPING_DEFAULT_DEVICE=
- 
- # GNU TLS library for ping6 [yes|no|static]
--USE_GNUTLS=yes
-+USE_GNUTLS=no
- # Crypto library for ping6 [shared|static]
- USE_CRYPTO=shared
- # Resolv library for ping6 [yes|static]
-@@ -49,7 +49,7 @@
- # -------------------------------------
- # 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
-+CCOPT=-fno-strict-aliasing -Wstrict-prototypes -Wall -g -Werror
- CCOPTOPT=-O3
- GLIBCFIX=-D_GNU_SOURCE
- DEFINES=
-@@ -110,7 +110,7 @@
- IPV6_TARGETS=tracepath6 traceroute6 ping6
- TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
- 
--CFLAGS=$(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES)
-+CFLAGS+=$(RPM_OPT_FLAGS) $(CCOPTOPT) $(CCOPT) $(GLIBCFIX) $(DEFINES)
- LDLIBS=$(LDLIB) $(ADDLIB)
- 
- UNAME_N:=$(shell uname -n)
-@@ -187,6 +187,7 @@
- 
- # -------------------------------------
- # ninfod
-+ninfod: CFLAGS:=$(filter-out -Werror,$(CFLAGS))
- ninfod:
- 	@set -e; \
- 		if [ ! -f ninfod/Makefile ]; then \
diff --git a/SOURCES/iputils-20121221-floodlocale.patch b/SOURCES/iputils-20121221-floodlocale.patch
deleted file mode 100644
index 832f21b..0000000
--- a/SOURCES/iputils-20121221-floodlocale.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- iputils-s20121221-orig/ping_common.c	2013-02-01 08:28:29.836191171 +0100
-+++ iputils-s20121221-new/ping_common.c	2013-02-01 08:28:11.013152725 +0100
-@@ -269,7 +269,9 @@ void common_options(int ch)
- 		char *ep;
- 
- 		errno = 0;
-+		setlocale(LC_ALL, "C");
- 		dbl = strtod(optarg, &ep);
-+		setlocale(LC_ALL, "");
- 
- 		if (errno || *ep != '\0' ||
- 		    !finite(dbl) || dbl < 0.0 || dbl >= (double)INT_MAX / 1000 - 1.0) {
diff --git a/SOURCES/iputils-20121221-ping-wrong-inet6-host.patch b/SOURCES/iputils-20121221-ping-wrong-inet6-host.patch
deleted file mode 100644
index fd4620f..0000000
--- a/SOURCES/iputils-20121221-ping-wrong-inet6-host.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -rup iputils-s20121221/ping.c iputils-s20121221-new/ping.c
---- iputils-s20121221/ping.c	2012-12-21 15:01:07.000000000 +0100
-+++ iputils-s20121221-new/ping.c	2015-04-29 13:40:42.978415476 +0200
-@@ -279,7 +279,7 @@ main(int argc, char **argv)
- #else
- 			idn = target;
- #endif
--			hp = gethostbyname(idn);
-+			hp = gethostbyname2(idn, AF_INET);
- 			if (!hp) {
- 				fprintf(stderr, "ping: unknown host %s\n", target);
- 				exit(2);
-diff -rup iputils-s20121221/tracepath.c iputils-s20121221-new/tracepath.c
---- iputils-s20121221/tracepath.c	2012-12-21 15:01:07.000000000 +0100
-+++ iputils-s20121221-new/tracepath.c	2015-04-29 13:41:09.506353342 +0200
-@@ -370,9 +370,9 @@ main(int argc, char **argv)
- 	}
- #endif
- 
--	he = gethostbyname(p);
-+	he = gethostbyname2(p, AF_INET);
- 	if (he == NULL) {
--		herror("gethostbyname");
-+		herror("gethostbyname2");
- 		exit(1);
- 	}
- 
diff --git a/SOURCES/iputils-20121221-tracepath-back-count.patch b/SOURCES/iputils-20121221-tracepath-back-count.patch
deleted file mode 100644
index 98debb2..0000000
--- a/SOURCES/iputils-20121221-tracepath-back-count.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -urp iputils-s20071127/tracepath6.c iputils-new/tracepath6.c
---- iputils-s20071127/tracepath6.c	2014-11-18 15:08:22.691677284 +0100
-+++ iputils-new/tracepath6.c	2014-11-18 15:11:42.434034029 +0100
-@@ -183,6 +183,13 @@ restart:
- 			printf("(This broken router returned corrupted payload) ");
- 	}
- 
-+	if (rethops<=64)
-+		rethops = 65-rethops;
-+	else if (rethops<=128)
-+		rethops = 129-rethops;
-+	else
-+		rethops = 256-rethops;
-+
- 	switch (e->ee_errno) {
- 	case ETIMEDOUT:
- 		printf("\n");
-@@ -208,12 +215,6 @@ restart:
- 		     e->ee_type == 3 &&
- 		     e->ee_code == 0)) {
- 			if (rethops>=0) {
--				if (rethops<=64)
--					rethops = 65-rethops;
--				else if (rethops<=128)
--					rethops = 129-rethops;
--				else
--					rethops = 256-rethops;
- 				if (sndhops>=0 && rethops != sndhops)
- 					printf("asymm %2d ", rethops);
- 				else if (sndhops<0 && rethops != ttl)
-diff -urp iputils-s20071127/tracepath.c iputils-new/tracepath.c
---- iputils-s20071127/tracepath.c	2014-11-18 15:08:22.685677303 +0100
-+++ iputils-new/tracepath.c	2014-11-18 15:10:46.531214060 +0100
-@@ -170,6 +170,13 @@ restart:
- 			printf("(This broken router returned corrupted payload) ");
- 	}
- 
-+	if (rethops<=64)
-+		rethops = 65-rethops;
-+	else if (rethops<=128)
-+		rethops = 129-rethops;
-+	else
-+		rethops = 256-rethops;
-+
- 	switch (e->ee_errno) {
- 	case ETIMEDOUT:
- 		printf("\n");
-@@ -192,12 +199,6 @@ restart:
- 		    e->ee_type == 11 &&
- 		    e->ee_code == 0) {
- 			if (rethops>=0) {
--				if (rethops<=64)
--					rethops = 65-rethops;
--				else if (rethops<=128)
--					rethops = 129-rethops;
--				else
--					rethops = 256-rethops;
- 				if (sndhops>=0 && rethops != sndhops)
- 					printf("asymm %2d ", rethops);
- 				else if (sndhops<0 && rethops != ttl)
diff --git a/SOURCES/iputils-arping-doc.patch b/SOURCES/iputils-arping-doc.patch
new file mode 100644
index 0000000..7e41a1f
--- /dev/null
+++ b/SOURCES/iputils-arping-doc.patch
@@ -0,0 +1,24 @@
+The -I option is actually optional when a suitable device is found.
+
+--- iputils-s20160308/arping.c	2016-03-08 13:58:56.000000000 +0100
++++ iputils-s20160308-new/arping.c	2016-09-05 12:59:22.746617891 +0200
+@@ -1086,7 +1086,7 @@ main(int argc, char **argv)
+ 			fprintf(stderr, "arping: Device %s not available.\n", device.name);
+ 			exit(2);
+ 		}
+-		fprintf(stderr, "arping: device (option -I) is required.\n");
++		fprintf(stderr, "arping: Suitable device could not be determined. Please, use option -I.\n");
+ 		usage();
+ 	}
+ 
+--- iputils-s20160308/doc/arping.sgml	2016-03-08 13:58:56.000000000 +0100
++++ iputils-s20160308-new/doc/arping.sgml	2016-09-05 12:58:03.425799308 +0200
+@@ -19,7 +19,7 @@
+ <arg choice="opt">-c <replaceable/count/</arg>
+ <arg choice="opt">-w <replaceable/deadline/</arg>
+ <arg choice="opt">-s <replaceable/source/</arg>
+-<arg choice="req">-I <replaceable/interface/</arg>
++<arg choice="opt">-I <replaceable/interface/</arg>
+ <arg choice="req"><replaceable/destination/</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
diff --git a/SOURCES/iputils-fix-I-setsockopt.patch b/SOURCES/iputils-fix-I-setsockopt.patch
new file mode 100644
index 0000000..c2df236
--- /dev/null
+++ b/SOURCES/iputils-fix-I-setsockopt.patch
@@ -0,0 +1,25 @@
+Resolves: #1351540
+
+--- a/ping.c
++++ b/ping.c
+@@ -569,6 +569,7 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
+ 			strncpy(ifr.ifr_name, device, IFNAMSIZ-1);
+ 
+ 			enable_capability_raw();
++			setsockopt(sock->fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1);
+ 			rc = setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1);
+ 			disable_capability_raw();
+ 
+--- a/ping6_common.c
++++ b/ping6_common.c
+@@ -797,8 +797,10 @@ int ping6_run(int argc, char **argv, struct addrinfo *ai, struct socket_st *sock
+ 			enable_capability_raw();
+ 			if (
+ #ifdef IPV6_RECVPKTINFO
++			    setsockopt(sock->fd, IPPROTO_IPV6, IPV6_PKTINFO, &ipi, sizeof ipi) == -1 &&
+ 			    setsockopt(probe_fd, IPPROTO_IPV6, IPV6_PKTINFO, &ipi, sizeof ipi) == -1 &&
+ #endif
++			    setsockopt(sock->fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1) == -1 &&
+ 			    setsockopt(probe_fd, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1) == -1) {
+ 				perror("setsockopt(SO_BINDTODEVICE)");
+ 				exit(2);
diff --git a/SOURCES/iputils-oversized-packets.patch b/SOURCES/iputils-oversized-packets.patch
new file mode 100644
index 0000000..464b8a0
--- /dev/null
+++ b/SOURCES/iputils-oversized-packets.patch
@@ -0,0 +1,46 @@
+From 61ed3913790901f2ad4973de60b373150fde01e0 Mon Sep 17 00:00:00 2001
+From: Jan Synacek <jsynacek@redhat.com>
+Date: Wed, 20 Apr 2016 09:51:12 +0200
+Subject: [PATCH] ping: do not allow oversized packets to root
+
+The code later fails anyways (as the original comment suggests), which
+results in a weird recvmsg() loop that times out eventually.
+
+Reproducer:
+
+./ping -c 1 -s 65530 127.0.0.1
+---
+ ping.c | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/ping.c b/ping.c
+index f435fe2..ea37c4f 100644
+--- a/ping.c
++++ b/ping.c
+@@ -80,8 +80,6 @@ ping_func_set_st ping4_func_set = {
+ #define	NROUTES		9		/* number of record route slots */
+ #define TOS_MAX		255		/* 8-bit TOS field */
+ 
+-static const int max_ping4_packet = 0x10000;
+-
+ static int ts_type;
+ static int nroute = 0;
+ static __u32 route[10];
+@@ -806,12 +804,8 @@ int ping4_run(int argc, char **argv, struct addrinfo *ai, socket_st *sock)
+ 	}
+ 
+ 	if (datalen > 0xFFFF - 8 - optlen - 20) {
+-		if (uid || datalen > max_ping4_packet-8 || datalen > MAXPACKET-8) {
+-			fprintf(stderr, "Error: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen);
+-			exit(2);
+-		}
+-		/* Allow small oversize to root yet. It will cause EMSGSIZE. */
+-		fprintf(stderr, "WARNING: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen);
++		fprintf(stderr, "Error: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen);
++		exit(2);
+ 	}
+ 
+ 	if (datalen >= sizeof(struct timeval))	/* can we time transfer */
+-- 
+2.7.4
+
diff --git a/SOURCES/iputils-ping-hang.patch b/SOURCES/iputils-ping-hang.patch
new file mode 100644
index 0000000..dca8228
--- /dev/null
+++ b/SOURCES/iputils-ping-hang.patch
@@ -0,0 +1,48 @@
+commit 1c97ab2b9bf401d8c4db9f4f4a4e13e1002c2d64
+Author: Robert Schiele <rschiele@gmail.com>
+Date:   Mon Mar 14 08:59:56 2016 +0100
+
+    Revert "ping_common.c: fix message flood when EPERM is encountered in ping"
+    
+    This reverts commit a60ad56a18b660ea8158e6ce8d782fb0290329f8.
+    
+    The reason for this revert is that while the patch above fixed
+    https://bugzilla.redhat.com/show_bug.cgi?id=1061867 it had weird behavior
+    with other types of EPERM responses where it could end up in an endless
+    loop despite the fact that -c flag was specified.  In addition to that the
+    mentioned bug is also fixed with
+    commit 8b75f100bbc84aa32a2c35b54c53f48071af6e95
+    "ping: ICMP error replies while errno < 0 is a hard error"
+    by Jason A. Donenfeld <Jason@zx2c4.com>
+    such that this one should no longer be needed anyway.
+    
+    Signed-off-by: Robert Schiele <rschiele@gmail.com>
+
+diff --git a/ping_common.c b/ping_common.c
+index fe7d6e3..7ea1fb3 100644
+--- a/ping_common.c
++++ b/ping_common.c
+@@ -373,11 +373,10 @@ resend:
+ 	if (i > 0) {
+ 		/* Apparently, it is some fatal bug. */
+ 		abort();
+-	} else if (errno == ENOBUFS || errno == ENOMEM || errno == EPERM) {
++	} else if (errno == ENOBUFS || errno == ENOMEM) {
+ 		int nores_interval;
+ 
+-		/* Device queue overflow, OOM or operation not permitted.
+-		 * Packet is not sent. */
++		/* Device queue overflow or OOM. Packet is not sent. */
+ 		tokens = 0;
+ 		/* Slowdown. This works only in adaptive mode (option -A) */
+ 		rtt_addend += (rtt < 8*50000 ? rtt/8 : 50000);
+@@ -386,8 +385,7 @@ resend:
+ 		nores_interval = SCHINT(interval/2);
+ 		if (nores_interval > 500)
+ 			nores_interval = 500;
+-		if (errno != EPERM)
+-			oom_count++;
++		oom_count++;
+ 		if (oom_count*nores_interval < lingertime)
+ 			return nores_interval;
+ 		i = 0;
diff --git a/SOURCES/iputils-reorder-I-parsing.patch b/SOURCES/iputils-reorder-I-parsing.patch
new file mode 100644
index 0000000..e646955
--- /dev/null
+++ b/SOURCES/iputils-reorder-I-parsing.patch
@@ -0,0 +1,37 @@
+commit 1f6f39b84f81cfa6bc243557a68eebeeac7e8ea3
+Author: Robert Schiele <rschiele@gmail.com>
+Date:   Mon Mar 14 09:18:08 2016 +0100
+
+    reorder -I option parsing
+    
+    This changes -I option parsing in a way that device is only assigned
+    if neither an IPv4 nor an IPv6 address is detected.  Otherwise those
+    addresses are misinterpreted as device names and as such will cause
+    error messages later in the code.
+    
+    Signed-off-by: Robert Schiele <rschiele@gmail.com>
+
+diff --git a/ping.c b/ping.c
+index c42d6eb..498c0e8 100644
+--- a/ping.c
++++ b/ping.c
+@@ -279,10 +279,6 @@ main(int argc, char **argv)
+ 			break;
+ 		}
+ 		case 'I':
+-			if (inet_pton(AF_INET, optarg, &source.sin_addr) > 0)
+-				options |= F_STRICTSOURCE;
+-			else
+-				device = optarg;
+ 			/* IPv6 */
+ 			if (strchr(optarg, ':')) {
+ 				char *p, *addr = strdup(optarg);
+@@ -306,6 +302,8 @@ main(int argc, char **argv)
+ 				options |= F_STRICTSOURCE;
+ 
+ 				free(addr);
++			} else if (inet_pton(AF_INET, optarg, &source.sin_addr) > 0) {
++				options |= F_STRICTSOURCE;
+ 			} else {
+ 				device = optarg;
+ 			}
diff --git a/SOURCES/iputils-rh-ping-ipv4-by-default.patch b/SOURCES/iputils-rh-ping-ipv4-by-default.patch
new file mode 100644
index 0000000..1804cfe
--- /dev/null
+++ b/SOURCES/iputils-rh-ping-ipv4-by-default.patch
@@ -0,0 +1,31 @@
+RHEL only.
+
+Resolves: #1317796
+
+From b2cc1e501531d5d66988ce8b6ab3e8a7b359f040 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pavel=20=C5=A0imerda?= <psimerda@redhat.com>
+Date: Mon, 21 Mar 2016 14:13:56 +0100
+Subject: [PATCH] rhel-7.3: keep good old IPv4 ping
+
+---
+ ping.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ping.c b/ping.c
+index 498c0e8..5474b9d 100644
+--- a/ping.c
++++ b/ping.c
+@@ -443,6 +443,10 @@ main(int argc, char **argv)
+ 
+ 	target = argv[argc-1];
+ 
++	/* RHEL-7.3 rebase: Disable the new dual-stack feature. */
++	if (hints.ai_family == AF_UNSPEC)
++		hints.ai_family = AF_INET;
++
+ 	/* Create sockets */
+ 	enable_capability_raw();
+ 	if (hints.ai_family != AF_INET6)
+-- 
+2.7.2
+
diff --git a/SOURCES/iputils-rh.patch b/SOURCES/iputils-rh.patch
new file mode 100644
index 0000000..f66f885
--- /dev/null
+++ b/SOURCES/iputils-rh.patch
@@ -0,0 +1,20 @@
+--- iputils-s20160308/Makefile	2016-03-08 13:58:56.000000000 +0100
++++ iputils-s20160308-new/Makefile	2016-03-09 10:09:02.295409179 +0100
+@@ -36,7 +36,7 @@ WITHOUT_IFADDRS=no
+ ARPING_DEFAULT_DEVICE=
+ 
+ # nettle library for ipv6 ping [yes|no|static]
+-USE_NETTLE=yes
++USE_NETTLE=no
+ # libgcrypt library for ipv6 ping [no|yes|static]
+ USE_GCRYPT=no
+ # Crypto library for ping6 [shared|static|no]
+@@ -53,7 +53,7 @@ ENABLE_RDISC_SERVER=no
+ # What a pity, all new gccs are buggy and -Werror does not work. Sigh.
+ # CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall -Werror -g
+ CFLAGS?=-O3 -g
+-CFLAGS+=-fno-strict-aliasing -Wstrict-prototypes -Wall
++CFLAGS+=$(RPM_OPT_FLAGS) -fno-strict-aliasing -Wstrict-prototypes -Wall
+ CPPFLAGS+=-D_GNU_SOURCE
+ LDLIB=
+ 
diff --git a/SPECS/iputils.spec b/SPECS/iputils.spec
index 13b7e7c..247666d 100644
--- a/SPECS/iputils.spec
+++ b/SPECS/iputils.spec
@@ -2,27 +2,30 @@
 
 Summary: Network monitoring tools including ping
 Name: iputils
-Version: 20121221
-Release: 7%{?dist}
+Version: 20160308
+Release: 8%{?dist}
 # some parts are under the original BSD (ping.c)
 # some are under GPLv2+ (tracepath.c)
 License: BSD and GPLv2+
-URL: http://www.skbuff.net/iputils
+URL: https://github.com/iputils/iputils
 Group: System Environment/Daemons
 
-Source0: http://www.skbuff.net/iputils/%{name}-s%{version}.tar.bz2
+Source0: https://github.com/iputils/iputils/archive/s%{version}.tar.gz#/%{name}-s%{version}.tar.gz
 Source1: ifenslave.tar.gz
 Source3: rdisc.initd
 Source4: rdisc.service
 Source5: rdisc.sysconfig
 Source6: ninfod.service
 
-Patch0: iputils-20020927-rh.patch
+Patch0: iputils-rh.patch
 Patch1: iputils-ifenslave.patch
-Patch2: iputils-20121221-floodlocale.patch
-Patch3: iputils-20121221-caps.patch
-Patch4: iputils-20121221-ping-wrong-inet6-host.patch
-Patch5: iputils-20121221-tracepath-back-count.patch
+Patch2: iputils-20121221-caps.patch
+Patch3: iputils-rh-ping-ipv4-by-default.patch
+Patch4: iputils-oversized-packets.patch
+Patch5: iputils-reorder-I-parsing.patch
+Patch6: iputils-fix-I-setsockopt.patch
+Patch7: iputils-ping-hang.patch
+Patch8: iputils-arping-doc.patch
 
 BuildRequires: docbook-utils perl-SGMLSpm
 BuildRequires: glibc-kernheaders >= 2.4-8.19
@@ -70,12 +73,15 @@ Queries.
 %prep
 %setup -q -a 1 -n %{name}-s%{version}
 
-%patch0 -p1 -b .rh
-%patch1 -p1 -b .addr
-%patch2 -p1 -b .floc
-%patch3 -p1 -b .caps
-%patch4 -p1 -b .wrong-inet6-host
-%patch5 -p1 -b .tracepath-back-count
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
 
 %build
 %ifarch s390 s390x
@@ -85,7 +91,7 @@ Queries.
 %endif
 export LDFLAGS="-pie -Wl,-z,relro,-z,now"
 
-make %{?_smp_mflags} arping clockdiff ping ping6 rdisc tracepath tracepath6 \
+make %{?_smp_mflags} arping clockdiff ping rdisc tracepath tracepath6 \
                      ninfod
 gcc -Wall $RPM_OPT_FLAGS ifenslave.c -o ifenslave
 make -C doc man
@@ -101,13 +107,13 @@ install -cp arping		${RPM_BUILD_ROOT}%{_sbindir}/
 install -cp ping		${RPM_BUILD_ROOT}%{_bindir}/
 install -cp ifenslave		${RPM_BUILD_ROOT}%{_sbindir}/
 install -cp rdisc		${RPM_BUILD_ROOT}%{_sbindir}/
-install -cp ping6		${RPM_BUILD_ROOT}%{_bindir}/
 install -cp tracepath		${RPM_BUILD_ROOT}%{_bindir}/
 install -cp tracepath6		${RPM_BUILD_ROOT}%{_bindir}/
 install -cp ninfod/ninfod	${RPM_BUILD_ROOT}%{_sbindir}/
 
 mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
-ln -sf ../bin/ping6 ${RPM_BUILD_ROOT}%{_sbindir}
+ln -sf ping ${RPM_BUILD_ROOT}%{_bindir}/ping6
+ln -sf ../bin/ping ${RPM_BUILD_ROOT}%{_sbindir}/ping6
 ln -sf ../bin/tracepath ${RPM_BUILD_ROOT}%{_sbindir}
 ln -sf ../bin/tracepath6 ${RPM_BUILD_ROOT}%{_sbindir}
 
@@ -158,9 +164,9 @@ mv -f RELNOTES.tmp RELNOTES
 %attr(0755,root,root) %caps(cap_net_raw=p cap_net_admin=p) %{_bindir}/ping
 %{_sbindir}/ifenslave
 %{_sbindir}/rdisc
-%attr(0755,root,root) %caps(cap_net_raw=p cap_net_admin=p) %{_bindir}/ping6
 %{_bindir}/tracepath
 %{_bindir}/tracepath6
+%{_bindir}/ping6
 %{_sbindir}/ping6
 %{_sbindir}/tracepath
 %{_sbindir}/tracepath6
@@ -183,6 +189,34 @@ mv -f RELNOTES.tmp RELNOTES
 %attr(644,root,root) %{_mandir}/man8/ninfod.8.gz
 
 %changelog
+* Mon Sep  5 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-8
+- arping documentation inconsistency (#1351704)
+
+* Mon Aug 29 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-7
+- ping hung when it cannot receive echo reply (#1362463)
+- arping documentation inconsistency (#1351704)
+
+* Fri Jul 29 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-6
+- ping does not use device specified with -I parameter (#1351540)
+
+* Tue Jul 12 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-5
+- add missing /bin/ping6 (#1355674)
+
+* Fri Jun  3 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-4
+- reorder -I option parsing (#1337598)
+
+* Wed May 11 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-3
+- inconsistent ping behaviour and hang with too large packet size (#1172084)
+
+* Tue Mar 29 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-2
+- ping IPv4 addresses by default when given a name (#1317796)
+
+* Mon Mar 14 2016 Jan Synáček <jsynacek@redhat.com> - 20160308-1
+- Update to iputils-s20160308 (#1273336)
+
+* Tue Mar  1 2016 Jan Synáček <jsynacek@redhat.com> - 20150815-1
+- Update to iputils-s20150815 (#1273336)
+
 * Wed Apr 29 2015 Jan Synáček <jsynacek@redhat.com> - 20121221-7
 - ping returns odd results with options inet6 in resolv.conf (#1210331)
 - count of "back" is not correct in tracepath (#1208372)