CFT: BSD-licensed grep [Fwd: cvs commit: ports/textproc/bsdgrep Makefile distinfo]

Gabor Kovesdan gabor at
Tue Jun 17 18:52:40 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 
> origin=devel/gettext.
> 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've already eliminated some more regressions and I'm fighting 
with the remaining ones.

More information about the freebsd-hackers mailing list