<div dir="ltr"><div>/me wonders whether the MIT relicensing of Plan 9 means there's now an MIT licensed descendant/sibling of one true awk?</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 9, 2021 at 2:30 AM Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 8/8/21 9:03 PM, <a href="mailto:roytam@gmail.com" target="_blank">roytam@gmail.com</a> wrote:<br>
> Hello,<br>
> <br>
> Andy Chu <<a href="mailto:andychup@gmail.com" target="_blank">andychup@gmail.com</a>> wrote:<br>
>><br>
>> On Mon, Jul 18, 2016 at 12:17 PM, Rob Landley <<a href="mailto:rob@landley.net" target="_blank">rob@landley.net</a>> wrote:<br>
>> > Let's see... <a href="https://www.cs.princeton.edu/~bwk/btl.mirror/awktest.a" rel="noreferrer" target="_blank">https://www.cs.princeton.edu/~bwk/btl.mirror/awktest.a</a> is<br>
>> > an ar archive, ar x awktest.a gives  a directory full of files,<br>
>> > README.TESTS says REGRESS controls the testing process, running that does...<br>
>> ><br>
>> >   $ sh ./REGRESS<br>
>> >   Linux driftwood 4.2.0-38-generic #45~14.04.1-Ubuntu SMP Thu Jun 9<br>
>> >    09:27:51 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux<br>
>> >   echo compiled<br>
>> >   oldawk=awk, awk=../a.out<br>
>> >   ./REGRESS: 11: ./REGRESS: Compare.t: not found<br>
>> >   167 tests<br>
>> ><br>
>> >   ./REGRESS: 14: ./REGRESS: Compare.p: not found<br>
>> >   58 tests<br>
>> ><br>
>> >   ./REGRESS: 17: ./REGRESS: Compare.T: not found<br>
>> >   252 tests<br>
>> ><br>
>> >   ./REGRESS: 20: ./REGRESS: Compare.tt: not found<br>
>> >   21 tests<br>
>> ><br>
>> > Right, maybe I'll dig into this later but it's not obvious to me how to<br>
>> > get it to work.<br>
>><br>
>> OK, I published the work I did here: <a href="https://github.com/andychu/bwk" rel="noreferrer" target="_blank">https://github.com/andychu/bwk</a><br>
> <br>
> Maybe this is old news but I think it is still good to say here.<br>
> One True awk has its own repo now.<br>
> <a href="https://github.com/onetrueawk/awk" rel="noreferrer" target="_blank">https://github.com/onetrueawk/awk</a><br>
> <br>
> And it seems that Android P included it as well.<br>
<br>
I know. Under yet another bespoke public domain adjacent "drag around this blob<br>
of text verbatim" license:<br>
<br>
  <a href="https://github.com/onetrueawk/awk/blob/master/LICENSE" rel="noreferrer" target="_blank">https://github.com/onetrueawk/awk/blob/master/LICENSE</a><br>
<br>
Which means I can't incorporate it as-is into a public domain equivalently<br>
licensed toybox without changing the project's license.<br>
<br>
> Does toybox's roadmap have any change about it since then?<br>
<br>
If I'm going to get a system to rebuild itself under itself from source in 4<br>
packages, which is then capable of bootstrapping to arbitrarily complexity<br>
natively under the result by building more packages that have existing build<br>
systems, then awk has to be in one of those packages.<br>
<br>
Awk is in posix:<br>
<br>
  <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html" rel="noreferrer" target="_blank">https://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html</a><br>
<br>
And the last version of busybox I released (1.2.1, circa 2007) had a ~2800 line<br>
awk implementation, so it shouldn't be too hard to get something feasible in<br>
toybox (probably under 1000 lines? Dunno.)<br>
<br>
The main issue is I don't use awk much, so need to learn it to write one. (But<br>
the posix spec is probably mostly good enough? Then testing all the LFS package<br>
builds, and waiting for complaints...)<br>
<br>
Rob<br>
_______________________________________________<br>
Toybox mailing list<br>
<a href="mailto:Toybox@lists.landley.net" target="_blank">Toybox@lists.landley.net</a><br>
<a href="http://lists.landley.net/listinfo.cgi/toybox-landley.net" rel="noreferrer" target="_blank">http://lists.landley.net/listinfo.cgi/toybox-landley.net</a><br>
</blockquote></div></div>