summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes/inetutils/inetutils-1.8/fix-disable-ipv6.patch58
-rw-r--r--recipes/inetutils/inetutils_1.8.bb6
2 files changed, 63 insertions, 1 deletions
diff --git a/recipes/inetutils/inetutils-1.8/fix-disable-ipv6.patch b/recipes/inetutils/inetutils-1.8/fix-disable-ipv6.patch
new file mode 100644
index 0000000000..75d51a1b08
--- /dev/null
+++ b/recipes/inetutils/inetutils-1.8/fix-disable-ipv6.patch
@@ -0,0 +1,58 @@
+Upstream: http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
+
+diff -ur inetutils-1.8.orig/ping/ping_common.h inetutils-1.8/ping/ping_common.h
+--- inetutils-1.8.orig/ping/ping_common.h 2010-05-15 20:55:47.000000000 +0930
++++ inetutils-1.8/ping/ping_common.h 2010-12-01 12:19:08.000000000 +1030
+@@ -17,10 +17,14 @@
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see `http://www.gnu.org/licenses/'. */
+
++#include <config.h>
++
+ #include <netinet/in_systm.h>
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
++#ifdef HAVE_IPV6
+ #include <netinet/icmp6.h>
++#endif
+ #include <icmp.h>
+ #include <error.h>
+ #include <progname.h>
+@@ -66,13 +70,19 @@
+ (t).tv_usec = ((i)%PING_PRECISION)*(1000000/PING_PRECISION) ;\
+ } while (0)
+
++#ifdef HAVE_IPV6
+ /* Not sure about this step*/
+ #define _PING_BUFLEN(p, USE_IPV6) ((USE_IPV6)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
+ ((p)->ping_datalen + sizeof (icmphdr_t)))
++#else
++#define _PING_BUFLEN(p, USE_IPV6) ((p)->ping_datalen + sizeof (icmphdr_t))
++#endif
+
++#ifdef HAVE_IPV6
+ typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
+ struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
+ int datalen);
++#endif
+
+ typedef int (*ping_efp) (int code,
+ void *closure,
+@@ -81,13 +91,17 @@
+ struct ip * ip, icmphdr_t * icmp, int datalen);
+
+ union event {
++#ifdef HAVE_IPV6
+ ping_efp6 handler6;
++#endif
+ ping_efp handler;
+ };
+
+ union ping_address {
+ struct sockaddr_in ping_sockaddr;
++#ifdef HAVE_IPV6
+ struct sockaddr_in6 ping_sockaddr6;
++#endif
+ };
+
+ typedef struct ping_data PING;
diff --git a/recipes/inetutils/inetutils_1.8.bb b/recipes/inetutils/inetutils_1.8.bb
index 42fb760c57..1e3d2abe5a 100644
--- a/recipes/inetutils/inetutils_1.8.bb
+++ b/recipes/inetutils/inetutils_1.8.bb
@@ -17,12 +17,16 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \
file://inetutils-1.8-1003-use-daemon-from-the-C-library-when-possible.patch \
file://inetutils-1.8-1004-detect-fork-support.patch \
file://inetutils-1.8-1005-ftpd-add-daemon-D-nommu-support.patch \
+ file://fix-disable-ipv6.patch \
"
inherit autotools
+noipv6="${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6 gl_cv_socket_ipv6=no', d)}"
EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
- --with-path-procnet-dev=/proc/net/dev"
+ --with-path-procnet-dev=/proc/net/dev \
+ ${noipv6} \
+ "
do_configure_prepend () {
export HELP2MAN='true'