From owner-freebsd-ports@FreeBSD.ORG Mon Aug 4 20:29:45 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99F721065754; Mon, 4 Aug 2008 20:29:45 +0000 (UTC) (envelope-from daniel@roe.ch) Received: from hobbes.ustdmz.roe.ch (hobbes.roe.ch [213.144.141.27]) by mx1.freebsd.org (Postfix) with ESMTP id 245FB8FC1E; Mon, 4 Aug 2008 20:29:45 +0000 (UTC) (envelope-from daniel@roe.ch) Received: from roe by hobbes.ustdmz.roe.ch (envelope-from ) with LOCAL id 1KQ6bN-0001da-00 ; Mon, 04 Aug 2008 22:24:21 +0200 Date: Mon, 4 Aug 2008 22:24:21 +0200 From: Daniel Roethlisberger To: Gabor Koevesdan Message-ID: <20080804202421.GA29719@hobbes.ustdmz.roe.ch> Mail-Followup-To: Gabor Koevesdan , Chuck Swiger , FreeBSD Ports References: <56E45E0F-29D4-4CA8-9936-384405AB874A@mac.com> <4897518D.4090001@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4897518D.4090001@FreeBSD.org> User-Agent: Mutt/1.5.4i Cc: FreeBSD Ports Subject: Re: bsd-grep-20080725_1 -v flag busted... X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Aug 2008 20:29:45 -0000 Gábor Kövesdán 2008-08-04: > Chuck Swiger escribió: > >I'd just updated the BSD grep port to bsd-grep-20080725_1, but > >regrettably have noticed that many things using grep stopped working. > >For example, running GNU-style ./configure hangs here: > > > > configure: creating ./config.status > > load: 1.15 cmd: sh 72964 [runnable] 7.60u 95.78s 14% 2260k > > > >A trivial test case: > > > >% echo 'fee\nfi\nfoe\nfum' | ./grep -v fi > >% echo 'fee\nfi\nfoe\nfum' | /usr/bin/grep -v fi > >fee > >foe > >fum > >% ./grep --version > >grep (BSD grep) 2.5.1-FreeBSD > Hello Chuck, > > thanks for your notes. It seems very strange to me, because GNU grep > produces the same output for me. Apart from this, the -v flag was really > broken, but I applied some fixes before updating the port and in the > version, which I committer, I thought that the -v flag was compatible. > > Here is what I get at the moment: > > > echo 'fee\nfi\nfoe\nfum' | ./grep -v fi > > echo 'fee\nfi\nfoe\nfum' | /usr/bin/grep -v fi > > /usr/bin/grep -V > grep (GNU grep) 2.5.1-FreeBSD > > Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > > It's still the same, thus I don't understand how you could produce that > output with GNU grep. I may be stating the obvious, but note that depending on your shell and it's configuration, echo might not translate \n to an actual newline. You might need to use `echo -e' instead of `echo' to get four lines printed instead of one. /bin/sh and bash need it, ksh doesn't, not sure about (t)csh. Also note that our /bin/echo doesn't know about -e and will never translate \n to a newline. The following should be more portable across different shells: printf 'fee\nfi\nfoe\nfum' | ./grep -v fi printf 'fee\nfi\nfoe\nfum' | /usr/bin/grep -v fi -- Daniel Roethlisberger http://daniel.roe.ch/