"make search" oddity

Mark Frank mark at mark-and-erika.com
Fri Jul 9 12:23:16 PDT 2004


* On Thu, Jul 08, 2004 at 10:05:35PM +0100 Matthew Seaman wrote:
> On Thu, Jul 08, 2004 at 04:23:14PM -0400, Mark Frank wrote:
> > 	# make search icase=1 name=phpmyadmin display=name,path,maint
> > 
> > 	# make search icase=1 name=phpMyAdmin display=name,path,maint
> > 	Port:   phpMyAdmin-2.5.7.1
> > 	Path:   /usr/ports/databases/phpmyadmin
> > 	Maint:  m.seaman at infracaninophile.co.uk
> > 
> > 
> > Am I being dense here?
> 
> Most odd.  The search target works by substituting the values you give
> on the make command line into an awk script, which pulls the data out
> of /usr/ports/INDEX (or INDEX-5 on 5.x) and formats it as required.
> It's all in /usr/ports/Mk/bsd.port.subdir.mk
> 
> Do you have PORTSEARCH_IGNORECASE defined in your environment or in
> /etc/make.conf ?  Not that that would make any difference to the
> result above, as using icase on the command line will override that
> value.

I don't but I did try it when you sent me to /usr/ports/CHANGES
for a read.

> 
> Hmmm... what awk(1) program is first on your path?  And if it isn't
> the default version supplied with the system (/usr/bin/awk -- in 4.10
> this is actually GNU Awk 3.0.6) does it support 'IGNORECASE'?  There's
> this little snippet in the awk(1) man page:
> 
>                    NOTE: In versions of gawk prior  to  3.0,  IGNORECASE  only
>                    affected  regular  expression  operations.   It now affects
>                    string comparisons as well.

I only have one copy of awk on the box.  Things like awk I usually take
for granted and don't think about.  Here's what I think I see, please
correct me if I'm wrong.

On all my 5.2.1-RELEASE boxes the version of awk appears to be the
one-true-awk which I believe is the old AT&T/Lucent awk.  I don't know
how to extract the exact version number but obviously doesn't support
IGNORECASE.  I've never done anything intentionally to change versions
of awk on any of these.

The only 4.x system I have is a 4.8 box which has never gone through a
buildworld/installworld cycle (it's a poor old Pentium that's just used
as a caching DNS server in my LAN) and it does have GNU Awk 3.0.6 on it.
If I did a buildworld/installworld on it, would it use the Makefile in
/usr/src/usr.bin/awk, which seems to point to the source for the
one-true-awk?

I do see the GNU version of awk in ports, gawk-3.1.1_1.  Should I be
using that?  Will it break something else if I install it and link
/usr/bin/awk to it?

Yes, I'm confused.

Mark

-- 
Mark Frank
"The fix is only temporary...unless it works." - Red Green


More information about the freebsd-questions mailing list