[Toybox] macOS sitrep

enh enh at google.com
Fri Dec 7 18:28:51 PST 2018


On Tue, Dec 4, 2018 at 8:05 PM Rob Landley <rob at landley.net> wrote:
>
> On 12/4/18 7:06 PM, enh wrote:
> > okay, so now toybox builds out of the box (with a custom .config) i
> > added a bunch more stuff to my .config. the following were all
> > painless:
> >
> > ascii base64 basename cal cat catv chgrp chmod chown cksum clear cmp
> > comm count cpio crc32 cut dirname dos2unix du echo egrep env expand
> > factor false fgrep file flock fmt ftpget ftpput grep groups head help
> > hexedit hostname iconv id kill killall5 link ln logname md5sum microcom
> > mkdir mkfifo mktemp nc netcat nice nl nohup od paste patch printenv
> > printf pwd pwdx readlink realpath renice rev rm rmdir sed seq setsid
> > sha1sum sha224sum sha256sum sha384sum sha512sum sleep sort split strings
> > tac tee timeout true truncate tty uname uniq unix2dos unlink usleep
> > uudecode uuencode uuidgen w watch wc which who whoami xargs xxd yes
>
> Could you send me your .config? I can check in a "make macos_defconfig".

with the two extra patches i just sent to the list, you can build a
whole bunch of stuff:

ascii base64 basename cal cat catv chgrp chmod chown cksum clear cmp
comm count cpio crc32 cut date dirname dos2unix du echo egrep env
expand factor false fgrep file find flock fmt ftpget ftpput getconf
grep groups head help hexedit hostname iconv id kill killall5 link
ln logger logname ls md5sum microcom mkdir mkfifo nc netcat nice nl
nohup od paste patch printenv printf pwd pwdx readlink realpath renice
rev rm rmdir sed seq setsid sha1sum sha224sum sha256sum sha384sum
sha512sum sleep sort split strings tac tee time timeout touch tr true
truncate tty uname uniq unix2dos unlink usleep uudecode uuencode uuidgen
w watch wc which who whoami xargs xxd yes

i've basically ignored pending for now, because i was only originally
hoping to answer the question "is this feasible?" and i think we have
a pretty strong "yes" that includes most of the things we'd need for a
mac AOSP build already.

i might try to get the xattr portability wrapper done before i have to
give the mac back, but otherwise i'm hanging the "mission
accomplished" banner for now and will worry about actually, you know,
_using_ this stuff some other day. probably after i've finished
getting linux AOSP builds switched over, which is much more
interesting to me anyway (and especially in the short term).

i've attached my config. note that i've included TODOs explaining why
a few of the main failures don't build. tail's inotify is
interesting/annoying.

> > (i haven't even bothered trying anything from pending.)
>
> If you get the urge for specific commands out of there, lemme know. I just
> finished redoing test.c and I'm squinting at tftpd.c now (using a dhcp/bootp
> thing at $DAYJOB)...

of the stuff in pending, AOSP builds would use dd, diff, egrep, grep,
tar, and tr. all of which were on your "non-trivial" list. (we're
_building_ toybox's grep family, but we're still using the BSD ones.
Q/master is currently using toybox dd [P had BSD dd].)

> I'm aware android's building bc, dd, diff, expr, getfattr, gzip, lsof, modprobe,
> more, stty, tar, tr, and traceroute. But most of that isn't low hanging fruit
> for cleanup. Although I'm close on the compression side of gzip, and since
> watch.c I think I know how to tackle less/more now (although I need to go _back_
> to watch and add ansi color support, which I also need to do in grep although
> _that's_ a genericiation of the -o logic), and getfattr _would_ be low hanging
> fruit if I had any sort of test case for it (what files on ubuntu normally have
> xattrs I can examine?) Last time I tried to tackle expr. I spent all the
> time/energy I had reading a chunk of that pdf on the precedence climbing thing
> and the window got buried and my machine eventually rebooted...
>
> Mostly when I look at pending it's ls -lS toys/pending, but vi.c is a stub,
> groupdel is part of the userdel/useradd/groupadd cluster, getfattr.c I haven't
> got any real test cases for (what on ubuntu has attributes I can look at?),
> ipcrm I've never really used (and it's in suite with ipcs, need to read up on
> both), and that brings us to fold which is basically "not fmt".
>
> Chipping away at it as I can...
>
> Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config
Type: application/octet-stream
Size: 8083 bytes
Desc: not available
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20181207/6d4f9f3a/attachment-0003.obj>


More information about the Toybox mailing list