From owner-freebsd-hackers@FreeBSD.ORG Tue Jul 8 14:04:28 2008 Return-Path: Delivered-To: hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32F3F1065684; Tue, 8 Jul 2008 14:04:28 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from server.mypc.hu (server.mypc.hu [87.229.73.95]) by mx1.freebsd.org (Postfix) with ESMTP id C4EA18FC1D; Tue, 8 Jul 2008 14:04:27 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by server.mypc.hu (Postfix) with ESMTP id C701A14D6582; Tue, 8 Jul 2008 15:46:36 +0200 (CEST) X-Virus-Scanned: amavisd-new at t-hosting.hu Received: from server.mypc.hu ([127.0.0.1]) by localhost (server.mypc.hu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id jYH+HukW2cdH; Tue, 8 Jul 2008 15:46:31 +0200 (CEST) Received: from [192.168.2.177] (catv-50629c59.catv.broadband.hu [80.98.156.89]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.mypc.hu (Postfix) with ESMTPSA id 99D3514D6581; Tue, 8 Jul 2008 15:46:31 +0200 (CEST) Message-ID: <48736FB7.8070900@FreeBSD.org> Date: Tue, 08 Jul 2008 15:46:31 +0200 From: =?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?= User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: Kris Kennaway References: <20080617004647.GA16546@nagual.pp.ru> <48576610.9080808@FreeBSD.org> <48577510.4020007@aueb.gr> <48577BD2.4070205@bluemedia.pl> <20080617102900.GA46479@nagual.pp.ru> <485798C4.2050605@FreeBSD.org> <20080618055851.GA85018@nagual.pp.ru> <86zlpjduew.fsf@ds4.des.no> <48598C6D.4040102@FreeBSD.org> <48727747.7070509@FreeBSD.org> <20080707201447.GA37354@nagual.pp.ru> <48727F14.6090507@FreeBSD.org> <48728301.5070403@FreeBSD.org> <487294AB.3000609@FreeBSD.org> In-Reply-To: <487294AB.3000609@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: hackers@FreeBSD.org, current@FreeBSD.org Subject: Re: CFT: BSD-licensed grep [Fwd: cvs commit: ports/textproc/bsdgrep Makefile distinfo] X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jul 2008 14:04:28 -0000 >> Well, it seems you have missed the first nits of the discussion. GNU >> grep has some regression test, which doesn't pass completely itself >> either. :) I've mentioned here that I used those tests to find out >> what incompatible options are there. Unfortunately, I have to say >> that BSD grep won't pass all of those, because GNU allows some >> non-standard regexes, which are rejected by our libc-regex library, >> like for example (a|) is not standard because it has an empty >> subexpression. First, I tried to pre-edit such expression in the >> code. It was ugly enough but I thought: "Ok, this code is pretty >> ugly, but compatibility is important, maybe we can later revise >> and/or change our regexp library and get rid of these snippets." >> Later, when Andrey pointed it out, I realized that my workarounds >> adressed those incompatibilities but didn't work completely, they >> broke compatibility at other places, thus I just removed them, >> because it was not that easy to fix. The version that I sent you for >> the portbuild test, doesn't have those workarounds. The regression >> test helped though to fix other compatibility issues, like return >> values. All of these trivial things are supposed to be compatible >> now, the only exceptions are the non-standard regexes. That's why I'm >> so curious about the results. If they are inacceptable, we can try to >> build BSD grep with the GNU regexp lib (it's in the tree, as Pedro F. >> Giffuni pointed it out). It doesn't work by just linking with that >> library, so it will need more work and investigation then, not >> speaking about that GNU regex should go one day... > > OK, yes I did miss the start of the thread, but I was trying to > suggest that grep doesn't seem to be functional enough yet and this is > a way to work on identifying what needs to be fixed. Could you please send me some logs of ports which build with GNU grep but not with BSD grep? That would help me to identify the problems and find out if those problems come from non-standard regexes or what's happening here? I've looked at our regex library and it is written by Henry Spencer. He has a slightly newer version, but he seems to be consequent and the implementation choices are the same, those non-standard regexes are still rejected by his library. I've also looked at PCRE, which was mentioned in this list. In fact, PCRE actually has a POSIX-compliant interface, but it's just the interface, the interpreted regexes are still Perl-like. -- Gabor Kovesdan EMAIL: gabor@FreeBSD.org WWW: http://www.kovesdan.org