[Toybox] Kernighan's awk repo

roytam at gmail.com roytam at gmail.com
Wed Aug 11 09:46:34 PDT 2021


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

>
> > 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