CFT: BSD-licensed grep [Fwd: cvs commit: ports/textproc/bsdgrep
gabor at FreeBSD.org
Tue Jun 17 18:52:03 UTC 2008
Doug Barton escribió:
> I use the following construct in portmaster, where pdb=/var/db/pkg,
> origin is set to the origin of a given port, and ro_opd is usually
> empty, but can be another origin directory or the same one. To
> guarantee that you should get some kind of results you can test with
> egrep -l "DEPORIGIN:($origin|$ro_opd)$" $pdb/*/+CONTENTS
> Obviously this works in portmaster with the gnu grep, but if ro_opd is
> unset with the bsd grep I get:
> egrep: empty (sub)expression
I've looked at this and I have a patch with a workaround:
Could you please try it if you have some time? I suppose that it will
fix your case as it has fixed the 77th Spencer test of the GNU
regression test suite, which comes with GNU grep.
I'm afraid there isn't a better solution as this regression is coming
from the different regex interpretations between the GNU regex library
and our libc regex library. regex(3) says that the RE standard has some
ambiguities and the particular implementation should make a decision how
to handle these cases.
P.S.: Thanks for the WITHOUT_GNU_GREP knob, I hope we will make use of
it soon, I'm trying to eliminate the remaining regressions.
More information about the freebsd-hackers