On 2022-08-31 18:18:15, enh via Toybox wrote: > it does by default. that's what i turned off as a workaround for this bug.
Um how does one using toybox as the foundation for something else actually call any random toy directly? Is there a vararg calltoy() function I missed? > On Wed, Aug 31, 2022, 18:15 David Seikel <onefang_toy...@dave.isageek.net> > wrote: > > On 2022-08-31 14:55:24, enh via Toybox wrote: > > On Tue, Aug 16, 2022 at 12:22 PM enh <e...@google.com> wrote: > > > > On Tue, Aug 16, 2022 at 10:28 AM enh <e...@google.com> wrote: > > > > On Tue, Aug 16, 2022 at 1:43 AM Rob Landley <r...@landley.net> > wrote: > > > > On 8/15/22 18:50, enh via Toybox wrote: > > > and here's their minimized repro case: > > > > > > echo > /tmp/foo.txt; echo /tmp/foo.txt > /tmp/find.txt > > > > > > cat /tmp/find.txt | > prebuilts/build-tools/path/linux-x86/tar czf > > /tmp/out.tar.gz \ > > > --absolute-names \ > > > --transform 's,^/,,' -T - > > > > > > This fails with > > > > > > tar: bad xform > > > > Hmmm... > > > > $ echo > /tmp/foo.txt; echo /tmp/foo.txt > /tmp/find.txt > > $ cat /tmp/find.txt | PATH=$PWD/sub9:$PATH ./tar czf > out.tar.gz \ > > --absolute-names --transform 's,^/,,' -T - > > $ tar tvf /tmp/out.tar.gz > > -rw-r--r-- landley/landley 1 2022-08-16 01:53 tmp/foo.txt > > > > Working for me? (The sub9 bit was because I stuck toybox sed > in the > > $PATH to > > make sure that wasn't it...) > > > > repos for me, both with their prebuilt but also with a fresh > clone (on > > either macos or linux): > > > > /tmp/toybox$ cat /tmp/find.txt | ./toybox tar czf > /tmp/out.tar.gz > > --absolute-names --transform 's,^/,,' -T - > > > > tar: bad xform > > > > /tmp/toybox$ > > > > > > a bit of printf debugging shows we're reading nothing back: > > > > /tmp/toybox$ cat /tmp/find.txt | strace -f ./toybox tar czf > > /tmp/out.tar.gz --absolute-names --transform 's,^/,,' -T - > 2> > > /tmp/out > > > > argv[0]="sed" > > > > argv[1]="-e" > > > > argv[2]="s,^/,," > > > > pid=1779946 > > > > stdin="/tmp/foo.txt" > > > > len=0 Success > > > > total=0 result="(null)" > > > > but strace implies we're not actually exec()ing sed at all? > > > > and if i `CONFIG_TOYBOX_NORECURSE=y`, it calls sed and works... > > > > ...though this might be about to come back and bite me. i'm hearing > as-yet > > unconfirmed reports that toybox `tar czf` is a lot slower than gnu > tar, > > and -- given that they're using --transform` while they're assuming > it's > > tar or gzip, i'm wondering whether it's actually the fact that > we're > > forking out to sed for every file? > > i've asked for repro steps or a `perf record` i can look at... > > That reminds me... > > I've long thought it would be great if toybox toys could call other > toybox toys directly. So tar wouldn't fork out to sed, we have our own > sed, just call it directly. Then you avoid the fork and other overhead, > which will probably speed things up. > > -- > A big old stinking pile of genius that no one wants > coz there are too many silver coated monkeys in the world. > _______________________________________________ > Toybox mailing list > Toybox@lists.landley.net > http://lists.landley.net/listinfo.cgi/toybox-landley.net > _______________________________________________ > Toybox mailing list > Toybox@lists.landley.net > http://lists.landley.net/listinfo.cgi/toybox-landley.net -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world. _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net