Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Jul 2012 21:29:39 +0200 (CEST)
From:      Rodrigo OSORIO <rodrigo@bebik.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/169949: net/fping update and maintenership request
Message-ID:  <20120717192939.DFAEC2614F@oldfaithful.bebik.local>
Resent-Message-ID: <201207171940.q6HJeCt5078669@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         169949
>Category:       ports
>Synopsis:       net/fping update and maintenership request
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 17 19:40:12 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Rodrigo OSORIO
>Release:        FreeBSD 9.0-STABLE amd64
>Organization:
>Environment:
System: FreeBSD oldfaithful.bebik.local 9.0-STABLE FreeBSD 9.0-STABLE #2: Thu Jul 5 22:22:11 CEST 2012 root@hodja.bebik.local:/usr/src/obj/usr/src/sys/GENERIC amd64


	
>Description:
	fping wasn't update for a long time. During this time the poject moves to a new
        website and the maintainer changes. Most of the patches was integrated upstream.
	I was notices by a smokeping user that the port maintainer was unreacheable .
>How-To-Repeat:
	
>Fix:
	This patch upgrades the port version from 2.4b2 to 3.2.
	The license infos  will come  as soon as I obtain a response from the maintainer
	but it look like a BSD compliant one.

--- fping.patch begins here ---
diff -ruN net/fping/Makefile net/fping/Makefile
--- net/fping/Makefile	2012-07-17 21:12:39.000000000 +0200
+++ net/fping/Makefile	2012-07-17 21:11:22.000000000 +0200
@@ -7,14 +7,11 @@
 #
 
 PORTNAME=	fping
-PORTVERSION=	2.4b2
-PORTREVISION=	1
+PORTVERSION=	3.2
 CATEGORIES=	net ipv6
-MASTER_SITES=	http://keyserver.kjsl.com/~jharris/distfiles/
-#MASTER_SITES=	http://www.fping.com/download/
-DISTNAME=	${PORTNAME}-${PORTVERSION}_to-ipv6
+MASTER_SITES=   http://fping.org/dist/
 
-MAINTAINER=	jharris@widomaker.com
+MAINTAINER=	rodrigo@bebik.net
 COMMENT=	Quickly ping N hosts w/o flooding the network
 
 PLIST_FILES=	sbin/fping
@@ -23,15 +20,6 @@
 CONFIGURE_ARGS=	--bindir="${PREFIX}/sbin"
 MAN8=		fping.8
 
-.if defined(WITH_IPV6)
-# IPv6 not enabled by default, as it does not work together with IPv4.
-CFLAGS+=	-DIPV6
-.endif
-
-post-patch:
-	@${REINPLACE_CMD} -e 's/fping@/${MAINTAINER:S/@/\\@/g} or fping@/g' \
-		${WRKSRC}/fping.c
-
 post-install:
 	@${STRIP_CMD} ${PREFIX}/sbin/fping
 	@${CHMOD} 4555 ${PREFIX}/sbin/fping
diff -ruN net/fping/distinfo net/fping/distinfo
--- net/fping/distinfo	2012-07-17 21:12:39.000000000 +0200
+++ net/fping/distinfo	2012-07-17 21:11:22.000000000 +0200
@@ -1,2 +1,2 @@
-SHA256 (fping-2.4b2_to-ipv6.tar.gz) = 77e1a90af4fff4a5ffc4b70542c6ff44130558357e7d549f99a9eff23108d172
-SIZE (fping-2.4b2_to-ipv6.tar.gz) = 63333
+SHA256 (fping-3.2.tar.gz) = b26739a1fa3471775ff1958a1e3d7597f12c9eb56429c29cf956e52f5046e2c1
+SIZE (fping-3.2.tar.gz) = 137967
diff -ruN net/fping/files/patch-02 net/fping/files/patch-02
--- net/fping/files/patch-02	2012-07-17 21:12:39.000000000 +0200
+++ net/fping/files/patch-02	1970-01-01 01:00:00.000000000 +0100
@@ -1,146 +0,0 @@
---- fping.c.orig	Mon Jan 21 02:06:30 2002
-+++ fping.c	Tue Jul 12 18:11:30 2005
-@@ -42,7 +42,6 @@
-  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-  */
--#define IPV6 1						/* This should be a compiler option, or even better be done from the Makefile... ;) */
- 
- #ifndef _NO_PROTO
- #if !__STDC__ && !defined( __cplusplus ) && !defined( FUNCPROTO ) \
-@@ -67,7 +66,7 @@
- 
- /*** autoconf includes ***/
- 
--
-+#include <sys/types.h>
- #include <stdio.h>
- #include <errno.h>
- #include <time.h>
-@@ -88,7 +87,6 @@
- #include <string.h>
- #include <stddef.h>
- 
--#include <sys/types.h>
- #include <sys/time.h>
- #include <sys/socket.h>
- 
-@@ -112,6 +110,10 @@
- #include <arpa/inet.h>
- #include <netdb.h>
- 
-+#if (defined(__unix__) || defined(unix)) && !defined(USG)
-+#include <sys/param.h>
-+#endif
-+
- /* RS6000 has sys/select.h */
- #ifdef HAVE_SYS_SELECT_H
- #include <sys/select.h>
-@@ -246,13 +248,13 @@
-      struct timeval       last_send_time;     /* time of last packet sent */
-      int                  num_sent;           /* number of ping packets sent */
-      int                  num_recv;           /* number of pings received */
--     int                  max_reply;          /* longest response time */
--     int                  min_reply;          /* shortest response time */
-+     long                 max_reply;          /* longest response time */
-+     long                 min_reply;          /* shortest response time */
-      int                  total_time;         /* sum of response times */
-      int                  num_sent_i;         /* number of ping packets sent */
-      int                  num_recv_i;         /* number of pings received */
--     int                  max_reply_i;        /* longest response time */
--     int                  min_reply_i;        /* shortest response time */
-+     long                 max_reply_i;        /* longest response time */
-+     long                 min_reply_i;        /* shortest response time */
-      int                  total_time_i;       /* sum of response times */
-      int                  *resp_times;        /* individual response times */
- #if defined( DEBUG ) || defined( _DEBUG )
-@@ -482,7 +484,7 @@
- 
- 	}/* IF */
- 
--	prog = argv[0];
-+	prog = (prog = strrchr(argv[0], '/')) ? prog + 1 : argv[0];
- 	ident = getpid() & 0xFFFF;
- 
- 	verbose_flag = 1;
-@@ -502,8 +504,8 @@
- 			break;
- 		
- 		case 'r':
--			if( !( retry = ( u_int )atoi( optarg ) ) )
--				usage();
-+			retry = ( u_int )atoi( optarg );
-+
- 
- 			break;
- 		
-@@ -823,6 +825,7 @@
- 
- 		while( fgets( line, 132, ping_file ) )
- 		{
-+			line[132-1] = '\0';
- 			if( sscanf( line, "%s", host ) != 1 )
- 				continue;
- 			
-@@ -1503,7 +1506,6 @@
- 	memset( buffer, 0, ping_pkt_size * sizeof( char ) );
- 	icp = ( FPING_ICMPHDR* )buffer;
- 
--	gettimeofday( &h->last_send_time, &tz );
- #ifndef IPV6
- 	icp->icmp_type = ICMP_ECHO;
- 	icp->icmp_code = 0;
-@@ -1512,6 +1514,8 @@
- 	icp->icmp_id = ident;
- 
- 	pdp = ( PING_DATA* )( buffer + SIZE_ICMP_HDR );
-+	/* set the time at the very last possible point */
-+	gettimeofday(&h->last_send_time,&tz);
- 	pdp->ping_ts = h->last_send_time;
- 	pdp->ping_count = h->num_sent;
- 
-@@ -1523,6 +1527,8 @@
- 	icp->icmp6_id = ident;
- 
- 	pdp = ( PING_DATA* )( buffer + SIZE_ICMP_HDR );
-+	/* set the time at the very last possible point */
-+	gettimeofday(&h->last_send_time,&tz);
- 	pdp->ping_ts = h->last_send_time;
- 	pdp->ping_count = h->num_sent;
- 
-@@ -1611,6 +1617,9 @@
- 
- 	result = recvfrom_wto( s, buffer, sizeof(buffer), &response_addr, select_time );
- 
-+	/* get time of receipt as close to the real time as possible */
-+	gettimeofday(&current_time,&tz);
-+
- 	if( result < 0 )
- 		return 0;	/* timeout */
-   
-@@ -1625,7 +1634,7 @@
- 
- 	ip = ( struct ip* )buffer;
- #ifndef IPV6
--#if defined( __alpha__ ) && __STDC__ && !defined( __GLIBC__ )
-+#if defined( __alpha__ ) && defined(__osf1__) && __STDC__ && !defined( __GLIBC__ )
- 	/* The alpha headers are decidedly broken.
- 	 * Using an ANSI compiler, it provides ip_vhl instead of ip_hl and
- 	 * ip_v.  So, to get ip_hl, we mask off the bottom four bits.
-@@ -1633,7 +1642,7 @@
- 	hlen = ( ip->ip_vhl & 0x0F ) << 2;
- #else
- 	hlen = ip->ip_hl << 2;
--#endif /* defined(__alpha__) && __STDC__ */
-+#endif /* defined(__alpha__) && defined(__osf1__) && __STDC__ */
- 	if( result < hlen + ICMP_MINLEN )
- #else
- 	if( result < sizeof(FPING_ICMPHDR) )
-@@ -1690,7 +1699,6 @@
- 	h = table[n];
- 
- 	/* received ping is cool, so process it */
--	gettimeofday( &current_time, &tz );
- 	h->waiting = 0;
- 	h->timeout = timeout;
- 	h->num_recv++;
diff -ruN net/fping/files/patch-03 net/fping/files/patch-03
--- net/fping/files/patch-03	2012-07-17 21:12:39.000000000 +0200
+++ net/fping/files/patch-03	1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
---- fping.8.orig	Mon Jan 21 01:05:48 2002
-+++ fping.8	Sun Jul  7 22:03:43 2002
-@@ -1,4 +1,4 @@
--.TH fping l
-+.TH fping 8
- .SH NAME
- fping \- send ICMP ECHO_REQUEST packets to network hosts
- .SH SYNOPSIS
-@@ -152,12 +152,12 @@
- example none the less. 
- .nf
- 
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
- require 'open2.pl';
- 
- $MAILTO = "root";
- 
--$pid = &open2("OUTPUT","INPUT","/usr/local/bin/fping -u");
-+$pid = &open2("OUTPUT","INPUT","/usr/local/sbin/fping -u");
- 
- @check=("slapshot","foo","foobar");
- 
-@@ -178,7 +178,7 @@
- that are currently reachable.
- .nf
- 
--#!/usr/local/bin/perl
-+#!/usr/bin/perl
- 
- $hosts_to_backup = `cat /etc/hosts.backup | fping -a`;
- 
diff -ruN net/fping/files/patch-sourceaddr net/fping/files/patch-sourceaddr
--- net/fping/files/patch-sourceaddr	2012-07-17 21:12:39.000000000 +0200
+++ net/fping/files/patch-sourceaddr	1970-01-01 01:00:00.000000000 +0100
@@ -1,88 +0,0 @@
-diff -ru ../fping-2.4b2_to-ipv6-orig/fping.c ./fping.c
---- ../fping-2.4b2_to-ipv6-orig/fping.c	Sun Jan 20 19:06:30 2002
-+++ ./fping.c	Fri Apr 13 14:36:02 2007
-@@ -283,6 +283,12 @@
- u_int count = 1;
- u_int trials;
- u_int report_interval = 0;
-+int src_addr_present = 0;
-+#ifndef IPV6
-+struct in_addr src_addr;
-+#else
-+struct in6_addr src_addr;
-+#endif
- 
- /* global stats */
- long max_reply = 0;
-@@ -408,6 +414,11 @@
- 	struct protoent *proto;
- 	char *buf;
- 	uid_t uid;
-+#ifndef IPV6
-+	struct sockaddr_in sa;
-+#else
-+	struct sockaddr_in6 sa;
-+#endif
- 	/* check if we are root */
- 
- 	if( geteuid() )
-@@ -491,7 +502,7 @@
- 
- 	/* get command line options */
- 
--	while( ( c = getopt( argc, argv, "gedhlmnqusaAvz:t:i:p:f:r:c:b:C:Q:B:" ) ) != EOF )
-+	while( ( c = getopt( argc, argv, "gedhlmnqusaAvz:t:i:p:f:r:c:b:C:Q:B:S:" ) ) != EOF )
- 	{
- 		switch( c )
- 		{
-@@ -639,6 +650,16 @@
- 			generate_flag = 1;
- 			break;
- 
-+		case 'S':
-+#ifndef IPV6
-+			if( ! inet_pton( AF_INET, optarg, &src_addr ) )
-+#else
-+			if( ! inet_pton( AF_INET6, optarg, &src_addr ) )
-+#endif
-+				usage();
-+			src_addr_present = 1;
-+			break;
-+
- 		default:
- 			usage();
- 			break;
-@@ -962,6 +983,22 @@
- 	if( !num_hosts )
- 		exit( 2 );
- 
-+	/* set the source address */
-+
-+	if( src_addr_present )
-+	{
-+		memset( &sa, 0, sizeof( sa ) );
-+#ifndef IPV6
-+		sa.sin_family = AF_INET;
-+		sa.sin_addr = src_addr;
-+#else
-+		sa.sin6_family = AF_INET6;
-+		sa.sin6_addr = src_addr;
-+#endif
-+		if ( bind( s, (struct sockaddr *)&sa, sizeof( sa ) ) < 0 )
-+			errno_crash_and_burn( "cannot bind source address" );
-+	}
-+
- 	/* allocate array to hold outstanding ping requests */
- 
- 	table = ( HOST_ENTRY** )malloc( sizeof( HOST_ENTRY* ) * num_hosts );
-@@ -2732,6 +2769,7 @@
- 	fprintf( stderr, "   -Q n       same as -q, but show summary every n seconds\n" );
- 	fprintf( stderr, "   -r n       number of retries (default %d)\n", retry );
- 	fprintf( stderr, "   -s         print final stats\n" );
-+	fprintf( stderr, "   -S addr    set source address\n" );
- 	fprintf( stderr, "   -t n       individual target initial timeout (in millisec) (default %d)\n", timeout / 100 );
- 	fprintf( stderr, "   -u         show targets that are unreachable\n" );
- 	fprintf( stderr, "   -v         show version\n" );
-
-
-
diff -ruN net/fping/pkg-descr net/fping/pkg-descr
--- net/fping/pkg-descr	2012-07-17 21:12:39.000000000 +0200
+++ net/fping/pkg-descr	2012-07-17 21:11:23.000000000 +0200
@@ -13,4 +13,4 @@
      Unlike ping, fping is meant to be used in scripts and its
      output is easy to parse.
 
-WWW: http://www.fping.com/
+WWW: http://www.fping.org/
--- fping.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120717192939.DFAEC2614F>