Subject: Re: README: nawk vs. gawk
To: NetBSD-current Discussion List <current-users@netbsd.org>
From: Greg A. Woods <woods@weird.com>
List: current-users
Date: 02/02/2001 00:03:55
[ On Thursday, February 1, 2001 at 18:50:27 (-0500), Todd Vierling wrote: ]
> Subject: Re: README: nawk vs. gawk
>
> We must do one of the following two options for *ALL* GNU extensions in
> gawk:

> 1. Recognize the extension and emulate it in nawk;
> 
> 2. Recognize the extension and cause an abort in nawk, if it is not already
>    recognized as an error.
> 
> Any other silent failure, or worse yet, silent misoperation mode is
> completely unacceptable, as it would break backward compatibility in a bad
> way.

It might be nice to provide #2, but it is not necessary, and indeed
IMNSHO it must not be done in any case where that would break
compatability with "The One True Awk" (i.e. only change that bwk will
accept back are acceptable in this case).  While awk programs are
already generally incredibly portable, there is absolutely no way NetBSD
should be creating yet a new variant (and it would be a new variant
despite the fact that it would "only" be adding GNUisms) of the
language, even if it only ever trips up one person in its lifetime.
(I.e. #1 is totally wrong.)

The awk in the base system need only support the language used by tools
and such that are included in base system (well, plus those included in
the build systems and pkgsrc of course).  Or rather once those uses are
done compatibly with the real awk (as they are all now to the best of my
ability to find them) then it may be put in place of GNU awk in the base
system.

GNU Awk is available in pkgsrc, and I'm sure just as soon as it is no
longer in the base distribution, or even before, someone will apply the
following little patch to the pkgsrc module so that it's available to
anyone who needs it:

Index: Makefile
===================================================================
RCS file: /most/spare/cvs.NetBSD.ORG/pkgsrc/lang/gawk/Makefile,v
retrieving revision 1.3
diff -c -r1.3 Makefile
*** Makefile    1999/12/13 09:25:10     1.3
--- Makefile    2001/02/02 04:53:05
***************
*** 8,15 ****
  MAINTAINER=   bouyer@netbsd.org
  HOMEPAGE=     http://www.gnu.org/software/gawk/gawk.html
  
- ONLY_FOR_PLATFORM=    SunOS-*-*       # in NetBSD base system
- 
  INFO_FILES=   gawk.info
  
  GNU_CONFIGURE=        yes
--- 8,13 ----

 
-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>      <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>