[Toybox] Kernighan's awk repo

roytam at gmail.com roytam at gmail.com
Thu Aug 26 18:29:57 PDT 2021


<roytam at gmail.com> wrote:
>
> Rob Landley <rob at landley.net> wrote:
> >
> > On 8/8/21 9:03 PM, roytam at gmail.com wrote:
> > > Hello,
> > >
> > > Andy Chu <andychup at gmail.com> wrote:
> > >>
> > >> On Mon, Jul 18, 2016 at 12:17 PM, Rob Landley <rob at landley.net> wrote:
> > >> > Let's see... https://www.cs.princeton.edu/~bwk/btl.mirror/awktest.a is
> > >> > an ar archive, ar x awktest.a gives  a directory full of files,
> > >> > README.TESTS says REGRESS controls the testing process, running that does...
> > >> >
> > >> >   $ sh ./REGRESS
> > >> >   Linux driftwood 4.2.0-38-generic #45~14.04.1-Ubuntu SMP Thu Jun 9
> > >> >    09:27:51 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
> > >> >   echo compiled
> > >> >   oldawk=awk, awk=../a.out
> > >> >   ./REGRESS: 11: ./REGRESS: Compare.t: not found
> > >> >   167 tests
> > >> >
> > >> >   ./REGRESS: 14: ./REGRESS: Compare.p: not found
> > >> >   58 tests
> > >> >
> > >> >   ./REGRESS: 17: ./REGRESS: Compare.T: not found
> > >> >   252 tests
> > >> >
> > >> >   ./REGRESS: 20: ./REGRESS: Compare.tt: not found
> > >> >   21 tests
> > >> >
> > >> > Right, maybe I'll dig into this later but it's not obvious to me how to
> > >> > get it to work.
> > >>
> > >> OK, I published the work I did here: https://github.com/andychu/bwk
> > >
> > > Maybe this is old news but I think it is still good to say here.
> > > One True awk has its own repo now.
> > > https://github.com/onetrueawk/awk
> > >
> > > And it seems that Android P included it as well.
> >
> > I know. Under yet another bespoke public domain adjacent "drag around this blob
> > of text verbatim" license:
> >
> >   https://github.com/onetrueawk/awk/blob/master/LICENSE
> >
> > Which means I can't incorporate it as-is into a public domain equivalently
> > licensed toybox without changing the project's license.
>
> I asked, and author clarified the license is an old-style MIT license.
> https://github.com/onetrueawk/awk/issues/129#issuecomment-896894968

And plan9port was changed license to MIT in March:
https://github.com/9fans/plan9port/commit/88a87fadae6629932d9c160f53ad5d79775f8f94


> >
> > > Does toybox's roadmap have any change about it since then?
> >
> > If I'm going to get a system to rebuild itself under itself from source in 4
> > packages, which is then capable of bootstrapping to arbitrarily complexity
> > natively under the result by building more packages that have existing build
> > systems, then awk has to be in one of those packages.
> >
> > Awk is in posix:
> >
> >   https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html
> >
> > And the last version of busybox I released (1.2.1, circa 2007) had a ~2800 line
> > awk implementation, so it shouldn't be too hard to get something feasible in
> > toybox (probably under 1000 lines? Dunno.)
> >
> > The main issue is I don't use awk much, so need to learn it to write one. (But
> > the posix spec is probably mostly good enough? Then testing all the LFS package
> > builds, and waiting for complaints...)
> >
> > Rob


More information about the Toybox mailing list