From 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 Mon Sep 17 00:00:00 2001 From: wbx Date: Sun, 17 May 2009 14:41:34 +0200 Subject: Initial import --- package/mtr/Config.in | 18 + package/mtr/Makefile | 28 ++ package/mtr/ipkg/mtr.control | 15 + package/mtr/patches/501-dns.patch | 511 +++++++++++++++++++++++++ package/mtr/patches/patch-Makefile | 763 +++++++++++++++++++++++++++++++++++++ package/mtr/patches/patch-curses_c | 21 + package/mtr/patches/patch-report_c | 30 ++ 7 files changed, 1386 insertions(+) create mode 100644 package/mtr/Config.in create mode 100644 package/mtr/Makefile create mode 100644 package/mtr/ipkg/mtr.control create mode 100644 package/mtr/patches/501-dns.patch create mode 100644 package/mtr/patches/patch-Makefile create mode 100644 package/mtr/patches/patch-curses_c create mode 100644 package/mtr/patches/patch-report_c (limited to 'package/mtr') diff --git a/package/mtr/Config.in b/package/mtr/Config.in new file mode 100644 index 000000000..7de08c5c8 --- /dev/null +++ b/package/mtr/Config.in @@ -0,0 +1,18 @@ +config ADK_PACKAGE_MTR + prompt "mtr............................... Full screen ncurses traceroute tool" + tristate + default n + select ADK_PACKAGE_LIBNCURSES + help + mtr combines the functionality of the 'traceroute' and 'ping' programs + in a single network diagnostic tool. + . + As mtr starts, it investigates the network connection between the host + mtr runs on and a user-specified destination host. After it + determines the address of each network hop between the machines, + it sends a sequence ICMP ECHO requests to each one to determine the + quality of the link to each machine. As it does this, it prints + running statistics about each machine. + . + http://www.bitwizard.nl/mtr/ + diff --git a/package/mtr/Makefile b/package/mtr/Makefile new file mode 100644 index 000000000..eac1e3d72 --- /dev/null +++ b/package/mtr/Makefile @@ -0,0 +1,28 @@ +# $Id$ +#- +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= mtr +PKG_VERSION:= 0.75 +PKG_RELEASE:= 1 +PKG_MD5SUM:= 23baca52d0922c2ecba7eba05317868c +MASTER_SITES:= ftp://ftp.bitwizard.nl/mtr/ + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,MTR,mtr,${PKG_VERSION}-${PKG_RELEASE},${ARCH})) + +CONFIGURE_STYLE+= gnu +CONFIGURE_ENV+= ac_cv_lib_resolv_res_mkquery=yes +CONFIGURE_ARGS+= --without-gtk +BUILD_STYLE:= auto +INSTALL_STYLE:= auto + +post-install: + ${INSTALL_DIR} ${IDIR_MTR}/usr/sbin + ${INSTALL_BIN} ${WRKINST}/usr/sbin/mtr ${IDIR_MTR}/usr/sbin/ + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/mtr/ipkg/mtr.control b/package/mtr/ipkg/mtr.control new file mode 100644 index 000000000..c5dad152c --- /dev/null +++ b/package/mtr/ipkg/mtr.control @@ -0,0 +1,15 @@ +Package: mtr +Priority: optional +Section: net +Depends: libncurses +Description: Full screen ncurses traceroute/ping tool + mtr combines the functionality of the 'traceroute' and 'ping' programs + in a single network diagnostic tool. + . + As mtr starts, it investigates the network connection between the host + mtr runs on and a user-specified destination host. After it + determines the address of each network hop between the machines, + it sends a sequence ICMP ECHO requests to each one to determine the + quality of the link to each machine. As it does this, it prints + running statistics about each machine. + diff --git a/package/mtr/patches/501-dns.patch b/package/mtr/patches/501-dns.patch new file mode 100644 index 000000000..f1c915580 --- /dev/null +++ b/package/mtr/patches/501-dns.patch @@ -0,0 +1,511 @@ +diff -Naur mtr-0.69.old/dns.c mtr-0.69.new/dns.c +--- mtr-0.69.old/dns.c 2005-01-11 09:32:42.000000000 +0100 ++++ mtr-0.69.new/dns.c 2005-10-03 21:31:27.000000000 +0200 +@@ -853,6 +853,507 @@ + fputs("\r",stderr); + } + ++#ifdef __UCLIBC__ ++ ++static const char digits[] = "0123456789"; ++#define __set_errno(e) (errno = (e)) ++ ++#define NS_PUT16(s, cp) do { \ ++ register u_int16_t t_s = (u_int16_t)(s); \ ++ register u_char *t_cp = (u_char *)(cp); \ ++ *t_cp++ = t_s >> 8; \ ++ *t_cp = t_s; \ ++ (cp) += NS_INT16SZ; \ ++} while (0) ++ ++ ++ ++#define NS_PUT32(l, cp) do { \ ++ register u_int32_t t_l = (u_int32_t)(l); \ ++ register u_char *t_cp = (u_char *)(cp); \ ++ *t_cp++ = t_l >> 24; \ ++ *t_cp++ = t_l >> 16; \ ++ *t_cp++ = t_l >> 8; \ ++ *t_cp = t_l; \ ++ (cp) += NS_INT32SZ; \ ++} while (0) ++ ++ ++void ++ns_put16(u_int src, u_char *dst) { ++ NS_PUT16(src, dst); ++} ++ ++void ++ns_put32(u_long src, u_char *dst) { ++ NS_PUT32(src, dst); ++} ++ ++void __putshort(u_int16_t src, u_char *dst) { ns_put16(src, dst); } ++void __putlong(u_int32_t src, u_char *dst) { ns_put32(src, dst); } ++ ++int ++mklower(int ch) { ++ if (ch >= 0x41 && ch <= 0x5A) ++ return (ch + 0x20); ++ return (ch); ++} ++ ++ ++static int ++dn_find(const u_char *domain, const u_char *msg, ++ const u_char * const *dnptrs, ++ const u_char * const *lastdnptr) ++{ ++ const u_char *dn, *cp, *sp; ++ const u_char * const *cpp; ++ u_int n; ++ ++ for (cpp = dnptrs; cpp < lastdnptr; cpp++) { ++ sp = *cpp; ++ /* ++ * terminate search on: ++ * root label ++ * compression pointer ++ * unusable offset ++ */ ++ while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 && ++ (sp - msg) < 0x4000) { ++ dn = domain; ++ cp = sp; ++ while ((n = *cp++) != 0) { ++ /* ++ * check for indirection ++ */ ++ switch (n & NS_CMPRSFLGS) { ++ case 0: /* normal case, n == len */ ++ if (n != *dn++) ++ goto next; ++ for ((void)NULL; n > 0; n--) ++ if (mklower(*dn++) != ++ mklower(*cp++)) ++ goto next; ++ /* Is next root for both ? */ ++ if (*dn == '\0' && *cp == '\0') ++ return (sp - msg); ++ if (*dn) ++ continue; ++ goto next; ++ ++ case NS_CMPRSFLGS: /* indirection */ ++ cp = msg + (((n & 0x3f) << 8) | *cp); ++ break; ++ ++ default: /* illegal type */ ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ } ++ next: ++ sp += *sp + 1; ++ } ++ } ++ __set_errno (ENOENT); ++ return (-1); ++} ++ ++ ++int ++ns_name_pack(const u_char *src, u_char *dst, int dstsiz, ++ const u_char **dnptrs, const u_char **lastdnptr) ++{ ++ u_char *dstp; ++ const u_char **cpp, **lpp, *eob, *msg; ++ const u_char *srcp; ++ int n, l, first = 1; ++ ++ srcp = src; ++ dstp = dst; ++ eob = dstp + dstsiz; ++ lpp = cpp = NULL; ++ if (dnptrs != NULL) { ++ if ((msg = *dnptrs++) != NULL) { ++ for (cpp = dnptrs; *cpp != NULL; cpp++) ++ (void)NULL; ++ lpp = cpp; /* end of list to search */ ++ } ++ } else ++ msg = NULL; ++ ++ /* make sure the domain we are about to add is legal */ ++ l = 0; ++ do { ++ n = *srcp; ++ if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ if (n == 0x41) ++ n = *++srcp / 8; ++ l += n + 1; ++ if (l > MAXCDNAME) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ srcp += n + 1; ++ } while (n != 0); ++ ++ /* from here on we need to reset compression pointer array on error */ ++ srcp = src; ++ do { ++ /* Look to see if we can use pointers. */ ++ n = *srcp; ++ if (n != 0 && n != 0x41 && msg != NULL) { ++ l = dn_find(srcp, msg, (const u_char * const *)dnptrs, ++ (const u_char * const *)lpp); ++ if (l >= 0) { ++ if (dstp + 1 >= eob) { ++ goto cleanup; ++ } ++ *dstp++ = (l >> 8) | NS_CMPRSFLGS; ++ *dstp++ = l % 256; ++ return (dstp - dst); ++ } ++ /* Not found, save it. */ ++ if (lastdnptr != NULL && cpp < lastdnptr - 1 && ++ (dstp - msg) < 0x4000 && first) { ++ *cpp++ = dstp; ++ *cpp = NULL; ++ first = 0; ++ } ++ } ++ /* copy label to buffer */ ++ if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) { /* Should not happen. */ ++ goto cleanup; ++ } ++ if (n == 0x41) { ++ n = *++srcp / 8; ++ if (dstp + 1 >= eob) ++ goto cleanup; ++ *dstp++ = 0x41; ++ } ++ if (dstp + 1 + n >= eob) { ++ goto cleanup; ++ } ++ memcpy(dstp, srcp, n + 1); ++ srcp += n + 1; ++ dstp += n + 1; ++ } while (n != 0); ++ ++ if (dstp > eob) { ++cleanup: ++ if (msg != NULL) ++ *lpp = NULL; ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ return (dstp - dst); ++} ++ ++ ++int ++ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { ++ u_char *label, *bp, *eom; ++ int c, n, escaped; ++ char *cp; ++ ++ escaped = 0; ++ bp = dst; ++ eom = dst + dstsiz; ++ label = bp++; ++ ++ while ((c = *src++) != 0) { ++ if (escaped) { ++ if ((cp = strchr(digits, c)) != NULL) { ++ n = (cp - digits) * 100; ++ if ((c = *src++) == 0 || ++ (cp = strchr(digits, c)) == NULL) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ n += (cp - digits) * 10; ++ if ((c = *src++) == 0 || ++ (cp = strchr(digits, c)) == NULL) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ n += (cp - digits); ++ if (n > 255) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ c = n; ++ } else if (c == '[' && label == bp - 1 && *src == 'x') { ++ /* Theoretically we would have to handle \[o ++ as well but we do not since we do not need ++ it internally. */ ++ *label = 0x41; ++ label = bp++; ++ ++src; ++ while (isxdigit (*src)) { ++ n = *src > '9' ? *src - 'a' + 10 : *src - '0'; ++ ++src; ++ if (! isxdigit(*src)) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ n <<= 4; ++ n += *src > '9' ? *src - 'a' + 10 : *src - '0'; ++ if (bp + 1 >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ *bp++ = n; ++ ++src; ++ } ++ *label = (bp - label - 1) * 8; ++ if (*src++ != ']' || *src++ != '.') { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ escaped = 0; ++ label = bp++; ++ if (bp >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ continue; ++ } ++ escaped = 0; ++ } else if (c == '\\') { ++ escaped = 1; ++ continue; ++ } else if (c == '.') { ++ c = (bp - label - 1); ++ if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */ ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ if (label >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ *label = c; ++ /* Fully qualified ? */ ++ if (*src == '\0') { ++ if (c != 0) { ++ if (bp >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ *bp++ = '\0'; ++ } ++ if ((bp - dst) > MAXCDNAME) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ return (1); ++ } ++ if (c == 0 || *src == '.') { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ label = bp++; ++ continue; ++ } ++ if (bp >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ *bp++ = (u_char)c; ++ } ++ c = (bp - label - 1); ++ if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */ ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ if (label >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ *label = c; ++ if (c != 0) { ++ if (bp >= eom) { ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ *bp++ = 0; ++ } ++ if ((bp - dst) > MAXCDNAME) { /* src too big */ ++ __set_errno (EMSGSIZE); ++ return (-1); ++ } ++ return (0); ++} ++ ++ ++ ++int ++ns_name_compress(const char *src, u_char *dst, size_t dstsiz, ++ const u_char **dnptrs, const u_char **lastdnptr) ++{ ++ u_char tmp[NS_MAXCDNAME]; ++ ++ if (ns_name_pton(src, tmp, sizeof tmp) == -1) ++ return (-1); ++ return (ns_name_pack(tmp, dst, dstsiz, dnptrs, lastdnptr)); ++} ++ ++ ++int ++dn_comp(const char *src, u_char *dst, int dstsiz, ++ u_char **dnptrs, u_char **lastdnptr) ++{ ++ return (ns_name_compress(src, dst, (size_t)dstsiz, ++ (const u_char **)dnptrs, ++ (const u_char **)lastdnptr)); ++} ++ ++ ++ ++ ++int ++res_nmkquery(res_state statp, ++ int op, /* opcode of query */ ++ const char *dname, /* domain name */ ++ int class, int type, /* class and type of query */ ++ const u_char *data, /* resource record data */ ++ int datalen, /* length of data */ ++ const u_char *newrr_in, /* new rr for modify or append */ ++ u_char *buf, /* buffer to put query */ ++ int buflen) /* size of buffer */ ++{ ++ register HEADER *hp; ++ register u_char *cp; ++ register int n; ++ u_char *dnptrs[20], **dpp, **lastdnptr; ++ ++#ifdef DEBUG ++ if (statp->options & RES_DEBUG) ++ printf(";; res_nmkquery(%s, %s, %s, %s)\n", ++ _res_opcodes[op], dname, p_class(class), p_type(type)); ++#endif ++ /* ++ * Initialize header fields. ++ */ ++ if ((buf == NULL) || (buflen < HFIXEDSZ)) ++ return (-1); ++ memset(buf, 0, HFIXEDSZ); ++ hp = (HEADER *) buf; ++ /* We randomize the IDs every time. The old code just ++ incremented by one after the initial randomization which ++ still predictable if the application does multiple ++ requests. */ ++#if 0 ++ hp->id = htons(++statp->id); ++#else ++ hp->id = htons(statp->id); ++ int randombits; ++ do ++ { ++#ifdef RANDOM_BITS ++ RANDOM_BITS (randombits); ++#else ++ struct timeval tv; ++ gettimeofday (&tv, NULL); ++ randombits = (tv.tv_sec << 8) ^ tv.tv_usec; ++#endif ++ } ++ while ((randombits & 0xffff) == 0); ++ statp->id = (statp->id + randombits) & 0xffff; ++#endif ++ hp->opcode = op; ++ hp->rd = (statp->options & RES_RECURSE) != 0; ++ hp->rcode = NOERROR; ++ cp = buf + HFIXEDSZ; ++ buflen -= HFIXEDSZ; ++ dpp = dnptrs; ++ *dpp++ = buf; ++ *dpp++ = NULL; ++ lastdnptr = dnptrs + sizeof dnptrs / sizeof dnptrs[0]; ++ /* ++ * perform opcode specific processing ++ */ ++ switch (op) { ++ case QUERY: /*FALLTHROUGH*/ ++ case NS_NOTIFY_OP: ++ if ((buflen -= QFIXEDSZ) < 0) ++ return (-1); ++ if ((n = dn_comp(dname, cp, buflen, dnptrs, lastdnptr)) < 0) ++ return (-1); ++ cp += n; ++ buflen -= n; ++ __putshort(type, cp); ++ cp += INT16SZ; ++ __putshort(class, cp); ++ cp += INT16SZ; ++ hp->qdcount = htons(1); ++ if (op == QUERY || data == NULL) ++ break; ++ /* ++ * Make an additional record for completion domain. ++ */ ++ buflen -= RRFIXEDSZ; ++ n = dn_comp((char *)data, cp, buflen, dnptrs, lastdnptr); ++ if (n < 0) ++ return (-1); ++ cp += n; ++ buflen -= n; ++ __putshort(T_NULL, cp); ++ cp += INT16SZ; ++ __putshort(class, cp); ++ cp += INT16SZ; ++ __putlong(0, cp); ++ cp += INT32SZ; ++ __putshort(0, cp); ++ cp += INT16SZ; ++ hp->arcount = htons(1); ++ break; ++ ++ case IQUERY: ++ /* ++ * Initialize answer section ++ */ ++ if (buflen < 1 + RRFIXEDSZ + datalen) ++ return (-1); ++ *cp++ = '\0'; /* no domain name */ ++ __putshort(type, cp); ++ cp += INT16SZ; ++ __putshort(class, cp); ++ cp += INT16SZ; ++ __putlong(0, cp); ++ cp += INT32SZ; ++ __putshort(datalen, cp); ++ cp += INT16SZ; ++ if (datalen) { ++ memcpy(cp, data, datalen); ++ cp += datalen; ++ } ++ hp->ancount = htons(1); ++ break; ++ ++ default: ++ return (-1); ++ } ++ return (cp - buf); ++} ++ ++int ++res_mkquery(int op, /* opcode of query */ ++ const char *dname, /* domain name */ ++ int class, int type, /* class and type of query */ ++ const u_char *data, /* resource record data */ ++ int datalen, /* length of data */ ++ const u_char *newrr_in, /* new rr for modify or append */ ++ u_char *buf, /* buffer to put query */ ++ int buflen) /* size of buffer */ ++{ ++ return (res_nmkquery(&_res, op, dname, class, type, ++ data, datalen, ++ newrr_in, buf, buflen)); ++} ++ ++#endif + + void dorequest(char *s,int type,word id) + { diff --git a/package/mtr/patches/patch-Makefile b/package/mtr/patches/patch-Makefile new file mode 100644 index 000000000..babc467bf --- /dev/null +++ b/package/mtr/patches/patch-Makefile @@ -0,0 +1,763 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- mtr-0.75.orig/Makefile 2008-09-19 11:32:05.000000000 +0200 ++++ mtr-0.75/Makefile 2008-10-10 15:03:22.000000000 +0200 +@@ -1,16 +1,748 @@ ++# Makefile.in generated by automake 1.9.6 from Makefile.am. ++# Makefile. Generated from Makefile.in by configure. + +-# +-# This is an attempt on simplifying the compilation of mtr to a simple "make". +-# ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ++# 2003, 2004, 2005 Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. + +-firstrule: +- ./configure +- $(MAKE) ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. + +-clean: +- rm -f *.o *~ core + +-distclean: clean +- rm -f mtr config.cache config.status config.log \ +- stamp-h stamp-h[0-9]* TAGS ID + ++srcdir = . ++top_srcdir = . ++ ++pkgdatadir = $(datadir)/mtr ++pkglibdir = $(libdir)/mtr ++pkgincludedir = $(includedir)/mtr ++top_builddir = . ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = /usr/bin/install -c ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++sbin_PROGRAMS = mtr$(EXEEXT) ++subdir = . ++DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ ++ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ ++ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ ++ TODO config.guess config.sub depcomp install-sh missing \ ++ mkinstalldirs ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/configure.in ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ ++ configure.lineno configure.status.lineno ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = config.h ++CONFIG_CLEAN_FILES = ++am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" ++sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) ++PROGRAMS = $(sbin_PROGRAMS) ++am_mtr_OBJECTS = mtr.$(OBJEXT) net.$(OBJEXT) dns.$(OBJEXT) \ ++ raw.$(OBJEXT) split.$(OBJEXT) display.$(OBJEXT) \ ++ report.$(OBJEXT) getopt.$(OBJEXT) getopt1.$(OBJEXT) \ ++ select.$(OBJEXT) ++mtr_OBJECTS = $(am_mtr_OBJECTS) ++mtr_LDADD = $(LDADD) ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I. ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++SOURCES = $(mtr_SOURCES) $(EXTRA_mtr_SOURCES) ++DIST_SOURCES = $(mtr_SOURCES) $(EXTRA_mtr_SOURCES) ++RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ ++ html-recursive info-recursive install-data-recursive \ ++ install-exec-recursive install-info-recursive \ ++ install-recursive installcheck-recursive installdirs-recursive \ ++ pdf-recursive ps-recursive uninstall-info-recursive \ ++ uninstall-recursive ++man8dir = $(mandir)/man8 ++NROFF = nroff ++MANS = $(man_MANS) ++ETAGS = etags ++CTAGS = ctags ++DIST_SUBDIRS = $(SUBDIRS) ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++distdir = $(PACKAGE)-$(VERSION) ++top_distdir = $(distdir) ++am__remove_distdir = \ ++ { test ! -d $(distdir) \ ++ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ ++ && rm -fr $(distdir); }; } ++DIST_ARCHIVES = $(distdir).tar.gz ++GZIP_ENV = --best ++distuninstallcheck_listfiles = find . -type f -print ++distcleancheck_listfiles = find . -type f -print ++ACLOCAL = ${SHELL} /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/missing --run aclocal-1.9 ++AMDEP_FALSE = ++AMDEP_TRUE = # ++AMTAR = ${SHELL} /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/missing --run tar ++AUTOCONF = ${SHELL} /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/missing --run autoconf ++AUTOHEADER = ${SHELL} /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/missing --run autoheader ++AUTOMAKE = ${SHELL} /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/missing --run automake-1.9 ++AWK = gawk ++CC = /home/wbrodkorb/openadk/cross_x86/host/bin/i586-linux-uclibc-gcc ++CCDEPMODE = depmode=none ++CFLAGS = -fwrapv -fno-ident -O2 -pipe -march=i586 -funit-at-a-time -Wall -Wno-pointer-sign ++CPP = /home/wbrodkorb/openadk/cross_x86/host/bin/i586-linux-uclibc-gcc -E ++CPPFLAGS = -isystem /home/wbrodkorb/openadk/cross_x86/target/include -isystem /home/wbrodkorb/openadk/cross_x86/target/usr/include -DNDEBUG ++CURSES_OBJ = curses.o ++CYGPATH_W = echo ++DEFS = -DHAVE_CONFIG_H ++DEPDIR = .deps ++ECHO_C = ++ECHO_N = -n ++ECHO_T = ++EGREP = /bin/grep -E ++EXEEXT = ++GREP = /bin/grep ++GTK_CFLAGS = ++GTK_LIBS = ++GTK_OBJ = ++INSTALL_DATA = ${INSTALL} -m 644 ++INSTALL_PROGRAM = ${INSTALL} ++INSTALL_SCRIPT = ${INSTALL} ++INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s ++LDFLAGS = -Wl,-O2 -Wl,-rpath -Wl,/usr/lib -Wl,-rpath-link -Wl,/home/wbrodkorb/openadk/cross_x86/target/usr/lib -L/home/wbrodkorb/openadk/cross_x86/target/lib -L/home/wbrodkorb/openadk/cross_x86/target/usr/lib ++LIBOBJS = ++LIBS = -lresolv -lm -lncurses ++LTLIBOBJS = ++MAKEINFO = ${SHELL} /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/missing --run makeinfo ++OBJEXT = o ++PACKAGE = mtr ++PACKAGE_BUGREPORT = ++PACKAGE_NAME = ++PACKAGE_STRING = ++PACKAGE_TARNAME = ++PACKAGE_VERSION = ++PATH_SEPARATOR = : ++PKG_CONFIG = ++SET_MAKE = ++SHELL = /bin/bash ++STRIP = i586-linux-strip ++VERSION = 0.75 ++ac_ct_CC = ++am__fastdepCC_FALSE = ++am__fastdepCC_TRUE = # ++am__include = include ++am__leading_dot = . ++am__quote = ++am__tar = ${AMTAR} chof - "$$tardir" ++am__untar = ${AMTAR} xf - ++bindir = ${exec_prefix}/bin ++build_alias = i686-linux-gnu ++datadir = /usr/share ++datarootdir = ${prefix}/share ++docdir = ${datarootdir}/doc/${PACKAGE} ++dvidir = ${docdir} ++exec_prefix = ${prefix} ++host_alias = i586-linux ++htmldir = ${docdir} ++includedir = ${prefix}/include ++infodir = ${datarootdir}/info ++install_sh = /home/wbrodkorb/openadk/build_x86/w-mtr-0.75-1/mtr-0.75/install-sh ++libdir = ${exec_prefix}/lib ++libexecdir = /usr/lib ++localedir = ${datarootdir}/locale ++localstatedir = /var ++mandir = /usr/share/man ++mkdir_p = mkdir -p -- ++oldincludedir = /usr/include ++pdfdir = ${docdir} ++prefix = /usr ++program_transform_name = s&$$&&;s&^&& ++psdir = ${docdir} ++sbindir = ${exec_prefix}/sbin ++sharedstatedir = ${prefix}/com ++sysconfdir = /etc ++target_alias = i586-linux ++SUBDIRS = img ++man_MANS = mtr.8 ++mtr_SOURCES = mtr.c \ ++ net.c net.h \ ++ dns.c dns.h \ ++ raw.c raw.h \ ++ split.c split.h \ ++ display.c display.h \ ++ report.c report.h \ ++ getopt.c getopt1.c getopt.h \ ++ select.c select.h \ ++ mtr-curses.h \ ++ mtr-gtk.h ++ ++EXTRA_mtr_SOURCES = curses.c \ ++ gtk.c ++ ++mtr_DEPENDENCIES = $(GTK_OBJ) $(CURSES_OBJ) ++mtr_LDFLAGS = $(GTK_OBJ) $(CURSES_OBJ) ++EXTRA_DIST = SECURITY mtr.8 Makefile Makefile.dist ++DISTCLEANFILES = *~ ++all: config.h ++ $(MAKE) $(AM_MAKEFLAGS) all-recursive ++ ++.SUFFIXES: ++.SUFFIXES: .c .o .obj ++am--refresh: ++ @: ++$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ ++ cd $(srcdir) && $(AUTOMAKE) --foreign \ ++ && exit 0; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign Makefile ++.PRECIOUS: Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ echo ' $(SHELL) ./config.status'; \ ++ $(SHELL) ./config.status;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ ++ esac; ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ $(SHELL) ./config.status --recheck ++ ++$(top_srcdir)/configure: $(am__configure_deps) ++ cd $(srcdir) && $(AUTOCONF) ++$(ACLOCAL_M4): $(am__aclocal_m4_deps) ++ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ++ ++config.h: stamp-h1 ++ @if test ! -f $@; then \ ++ rm -f stamp-h1; \ ++ $(MAKE) stamp-h1; \ ++ else :; fi ++ ++stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status ++ @rm -f stamp-h1 ++ cd $(top_builddir) && $(SHELL) ./config.status config.h ++$(srcdir)/config.h.in: $(am__configure_deps) ++ cd $(top_srcdir) && $(AUTOHEADER) ++ rm -f stamp-h1 ++ touch $@ ++ ++distclean-hdr: ++ -rm -f config.h stamp-h1 ++install-sbinPROGRAMS: $(sbin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ ++ if test -f $$p \ ++ ; then \ ++ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \ ++ $(INSTALL_PROGRAM_ENV) $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \ ++ else :; fi; \ ++ done ++ ++uninstall-sbinPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(sbin_PROGRAMS)'; for p in $$list; do \ ++ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ ++ echo " rm -f '$(DESTDIR)$(sbindir)/$$f'"; \ ++ rm -f "$(DESTDIR)$(sbindir)/$$f"; \ ++ done ++ ++clean-sbinPROGRAMS: ++ -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) ++mtr$(EXEEXT): $(mtr_OBJECTS) $(mtr_DEPENDENCIES) ++ @rm -f mtr$(EXEEXT) ++ $(LINK) $(mtr_LDFLAGS) $(mtr_OBJECTS) $(mtr_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++#include ./$(DEPDIR)/curses.Po ++#include ./$(DEPDIR)/display.Po ++#include ./$(DEPDIR)/dns.Po ++#include ./$(DEPDIR)/getopt.Po ++#include ./$(DEPDIR)/getopt1.Po ++#include ./$(DEPDIR)/gtk.Po ++#include ./$(DEPDIR)/mtr.Po ++#include ./$(DEPDIR)/net.Po ++#include ./$(DEPDIR)/raw.Po ++#include ./$(DEPDIR)/report.Po ++#include ./$(DEPDIR)/select.Po ++#include ./$(DEPDIR)/split.Po ++ ++.c.o: ++# if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ ++# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++# source='$<' object='$@' libtool=no ++# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) ++ $(COMPILE) -c $< ++ ++.c.obj: ++# if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ ++# then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi ++# source='$<' object='$@' libtool=no ++# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) ++ $(COMPILE) -c `$(CYGPATH_W) '$<'` ++uninstall-info-am: ++install-man8: $(man8_MANS) $(man_MANS) ++ @$(NORMAL_INSTALL) ++ test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" ++ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.8*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ ++ else file=$$i; fi; \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ case "$$ext" in \ ++ 8*) ;; \ ++ *) ext='8' ;; \ ++ esac; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ ++ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \ ++ done ++uninstall-man8: ++ @$(NORMAL_UNINSTALL) ++ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ ++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ ++ for i in $$l2; do \ ++ case "$$i" in \ ++ *.8*) list="$$list $$i" ;; \ ++ esac; \ ++ done; \ ++ for i in $$list; do \ ++ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ ++ case "$$ext" in \ ++ 8*) ;; \ ++ *) ext='8' ;; \ ++ esac; \ ++ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ ++ inst=`echo $$inst | sed -e 's/^.*\///'`; \ ++ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ ++ echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \ ++ rm -f "$(DESTDIR)$(man8dir)/$$inst"; \ ++ done ++ ++# This directory's subdirectories are mostly independent; you can cd ++# into them and run `make' without going through this Makefile. ++# To change the values of `make' variables: instead of editing Makefiles, ++# (1) if the variable is set in `config.status', edit `config.status' ++# (which will cause the Makefiles to be regenerated when you run `make'); ++# (2) otherwise, pass the desired values on the `make' command line. ++$(RECURSIVE_TARGETS): ++ @failcom='exit 1'; \ ++ for f in x $$MAKEFLAGS; do \ ++ case $$f in \ ++ *=* | --[!k]*);; \ ++ *k*) failcom='fail=yes';; \ ++ esac; \ ++ done; \ ++ dot_seen=no; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ dot_seen=yes; \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || eval $$failcom; \ ++ done; \ ++ if test "$$dot_seen" = "no"; then \ ++ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ ++ fi; test -z "$$fail" ++ ++mostlyclean-recursive clean-recursive distclean-recursive \ ++maintainer-clean-recursive: ++ @failcom='exit 1'; \ ++ for f in x $$MAKEFLAGS; do \ ++ case $$f in \ ++ *=* | --[!k]*);; \ ++ *k*) failcom='fail=yes';; \ ++ esac; \ ++ done; \ ++ dot_seen=no; \ ++ case "$@" in \ ++ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ ++ *) list='$(SUBDIRS)' ;; \ ++ esac; \ ++ rev=''; for subdir in $$list; do \ ++ if test "$$subdir" = "."; then :; else \ ++ rev="$$subdir $$rev"; \ ++ fi; \ ++ done; \ ++ rev="$$rev ."; \ ++ target=`echo $@ | sed s/-recursive//`; \ ++ for subdir in $$rev; do \ ++ echo "Making $$target in $$subdir"; \ ++ if test "$$subdir" = "."; then \ ++ local_target="$$target-am"; \ ++ else \ ++ local_target="$$target"; \ ++ fi; \ ++ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ ++ || eval $$failcom; \ ++ done && test -z "$$fail" ++tags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ ++ done ++ctags-recursive: ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ ++ done ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique ++tags: TAGS ++ ++TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ ++ include_option=--etags-include; \ ++ empty_fix=.; \ ++ else \ ++ include_option=--include; \ ++ empty_fix=; \ ++ fi; \ ++ list='$(SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test ! -f $$subdir/TAGS || \ ++ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ ++ fi; \ ++ done; \ ++ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique; \ ++ fi ++ctags: CTAGS ++CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(CTAGS_ARGS)$$tags$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++ ++distdir: $(DISTFILES) ++ $(am__remove_distdir) ++ mkdir $(distdir) ++ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ ++ list='$(DISTFILES)'; for file in $$list; do \ ++ case $$file in \ ++ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ ++ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ ++ esac; \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkdir_p) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ ++ if test "$$subdir" = .; then :; else \ ++ test -d "$(distdir)/$$subdir" \ ++ || $(mkdir_p) "$(distdir)/$$subdir" \ ++ || exit 1; \ ++ distdir=`$(am__cd) $(distdir) && pwd`; \ ++ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ ++ (cd $$subdir && \ ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$$top_distdir" \ ++ distdir="$$distdir/$$subdir" \ ++ distdir) \ ++ || exit 1; \ ++ fi; \ ++ done ++ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ++ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ++ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ++ || chmod -R a+r $(distdir) ++dist-gzip: distdir ++ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ $(am__remove_distdir) ++ ++dist-bzip2: distdir ++ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 ++ $(am__remove_distdir) ++ ++dist-tarZ: distdir ++ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z ++ $(am__remove_distdir) ++ ++dist-shar: distdir ++ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz ++ $(am__remove_distdir) ++ ++dist-zip: distdir ++ -rm -f $(distdir).zip ++ zip -rq $(distdir).zip $(distdir) ++ $(am__remove_distdir) ++ ++dist dist-all: distdir ++ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz ++ $(am__remove_distdir) ++ ++# This target untars the dist file and tries a VPATH configuration. Then ++# it guarantees that the distribution is self-contained by making another ++# tarfile. ++distcheck: dist ++ case '$(DIST_ARCHIVES)' in \ ++ *.tar.gz*) \ ++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ ++ *.tar.bz2*) \ ++ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ ++ *.tar.Z*) \ ++ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ ++ *.shar.gz*) \ ++ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ ++ *.zip*) \ ++ unzip $(distdir).zip ;;\ ++ esac ++ chmod -R a-w $(distdir); chmod a+w $(distdir) ++ mkdir $(distdir)/_build ++ mkdir $(distdir)/_inst ++ chmod a-w $(distdir) ++ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ ++ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ ++ && cd $(distdir)/_build \ ++ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ ++ $(DISTCHECK_CONFIGURE_FLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) \ ++ && $(MAKE) $(AM_MAKEFLAGS) dvi \ ++ && $(MAKE) $(AM_MAKEFLAGS) check \ ++ && $(MAKE) $(AM_MAKEFLAGS) install \ ++ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ ++ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ ++ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ ++ distuninstallcheck \ ++ && chmod -R a-w "$$dc_install_base" \ ++ && ({ \ ++ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ ++ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ ++ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ ++ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ ++ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ ++ } || { rm -rf "$$dc_destdir"; exit 1; }) \ ++ && rm -rf "$$dc_destdir" \ ++ && $(MAKE) $(AM_MAKEFLAGS) dist \ ++ && rm -rf $(DIST_ARCHIVES) \ ++ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck ++ $(am__remove_distdir) ++ @(echo "$(distdir) archives ready for distribution: "; \ ++ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ ++ sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' ++distuninstallcheck: ++ @cd $(distuninstallcheck_dir) \ ++ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ ++ || { echo "ERROR: files left after uninstall:" ; \ ++ if test -n "$(DESTDIR)"; then \ ++ echo " (check DESTDIR support)"; \ ++ fi ; \ ++ $(distuninstallcheck_listfiles) ; \ ++ exit 1; } >&2 ++distcleancheck: distclean ++ @if test '$(srcdir)' = . ; then \ ++ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ ++ exit 1 ; \ ++ fi ++ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ ++ || { echo "ERROR: files left in build directory after distclean:" ; \ ++ $(distcleancheck_listfiles) ; \ ++ exit 1; } >&2 ++check-am: all-am ++check: check-recursive ++all-am: Makefile $(PROGRAMS) $(MANS) config.h ++installdirs: installdirs-recursive ++installdirs-am: ++ for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)"; do \ ++ test -z "$$dir" || $(mkdir_p) "$$dir"; \ ++ done ++install: install-recursive ++install-exec: install-exec-recursive ++install-data: install-data-recursive ++uninstall: uninstall-recursive ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-recursive ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-recursive ++ ++clean-am: clean-generic clean-sbinPROGRAMS mostlyclean-am ++ ++distclean: distclean-recursive ++ -rm -f $(am__CONFIG_DISTCLEAN_FILES) ++ -rm -rf ./$(DEPDIR) ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-hdr distclean-local distclean-tags ++ ++dvi: dvi-recursive ++ ++dvi-am: ++ ++html: html-recursive ++ ++info: info-recursive ++ ++info-am: ++ ++install-data-am: install-man ++ ++install-exec-am: install-sbinPROGRAMS ++ @$(NORMAL_INSTALL) ++ $(MAKE) $(AM_MAKEFLAGS) install-exec-hook ++ ++install-info: install-info-recursive ++ ++install-man: install-man8 ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-recursive ++ -rm -f $(am__CONFIG_DISTCLEAN_FILES) ++ -rm -rf $(top_srcdir)/autom4te.cache ++ -rm -rf ./$(DEPDIR) ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-recursive ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic ++ ++pdf: pdf-recursive ++ ++pdf-am: ++ ++ps: ps-recursive ++ ++ps-am: ++ ++uninstall-am: uninstall-info-am uninstall-man uninstall-sbinPROGRAMS ++ ++uninstall-info: uninstall-info-recursive ++ ++uninstall-man: uninstall-man8 ++ ++.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ ++ check-am clean clean-generic clean-recursive \ ++ clean-sbinPROGRAMS ctags ctags-recursive dist dist-all \ ++ dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip distcheck \ ++ distclean distclean-compile distclean-generic distclean-hdr \ ++ distclean-local distclean-recursive distclean-tags \ ++ distcleancheck distdir distuninstallcheck dvi dvi-am html \ ++ html-am info info-am install install-am install-data \ ++ install-data-am install-exec install-exec-am install-exec-hook \ ++ install-info install-info-am install-man install-man8 \ ++ install-sbinPROGRAMS install-strip installcheck \ ++ installcheck-am installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic maintainer-clean-recursive \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ ++ uninstall uninstall-am uninstall-info-am uninstall-man \ ++ uninstall-man8 uninstall-sbinPROGRAMS ++ ++install-exec-hook: ++ chmod u+s $(DESTDIR)$(sbindir)/mtr ++distclean-local: ++ (sleep 3; cp Makefile.dist Makefile) & ++ rm -f *.orig ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: diff --git a/package/mtr/patches/patch-curses_c b/package/mtr/patches/patch-curses_c new file mode 100644 index 000000000..2e04bd4ce --- /dev/null +++ b/package/mtr/patches/patch-curses_c @@ -0,0 +1,21 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- mtr-0.75.orig/curses.c 2008-08-19 18:55:48.000000000 +0200 ++++ mtr-0.75/curses.c 2008-10-10 15:04:37.000000000 +0200 +@@ -241,7 +241,7 @@ int mtr_curses_keyaction(void) + return ActionNone; + } + if (tolower(c) == 'j') { +- if( index(fld_active, 'N') ) { ++ if( strchr(fld_active, 'N') ) { + strcpy(fld_active, "DR AGJMXI"); /* GeoMean and jitter */ + } else { + strcpy(fld_active, "LS NABWV"); /* default */ +@@ -328,7 +328,7 @@ void mtr_curses_hosts(int startstat) + if (j == -1) continue; + + /* temporay hack for stats usec to ms... */ +- if( index( data_fields[j].format, 'f' ) ) { ++ if( strchr( data_fields[j].format, 'f' ) ) { + sprintf(buf + hd_len, data_fields[j].format, + data_fields[j].net_xxx(at) /1000.0 ); + } else { diff --git a/package/mtr/patches/patch-report_c b/package/mtr/patches/patch-report_c new file mode 100644 index 000000000..bbae19253 --- /dev/null +++ b/package/mtr/patches/patch-report_c @@ -0,0 +1,30 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- mtr-0.75.orig/report.c 2008-09-18 14:40:09.000000000 +0200 ++++ mtr-0.75/report.c 2008-10-10 15:05:00.000000000 +0200 +@@ -122,7 +122,7 @@ void report_close(void) + if (j < 0) continue; + + /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */ +- if( index( data_fields[j].format, 'f' ) ) { ++ if( strchr( data_fields[j].format, 'f' ) ) { + snprintf( buf + len, sizeof(buf), data_fields[j].format, + data_fields[j].net_xxx(at) /1000.0 ); + } else { +@@ -201,7 +201,7 @@ void xml_close(void) + strcat(name, data_fields[j].format); + strcat(name, "\n"); + /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */ +- if( index( data_fields[j].format, 'f' ) ) { ++ if( strchr( data_fields[j].format, 'f' ) ) { + printf( name, + data_fields[j].title, + data_fields[j].net_xxx(at) /1000.0, +@@ -280,7 +280,7 @@ void csv_close(void) + if (j < 0) continue; + + /* 1000.0 is a temporay hack for stats usec to ms, impacted net_loss. */ +- if( index( data_fields[j].format, 'f' ) ) { ++ if( strchr( data_fields[j].format, 'f' ) ) { + printf( ", %.2f", data_fields[j].net_xxx(at) / 1000.0); + } else { + printf( ", %d", data_fields[j].net_xxx(at) ); -- cgit v1.2.3