On 01/17/15 00:09, enh wrote: > more progress... > > Right now toybox provides the following new commands that we didn’t > have with toolbox: > > acpi > basename blockdev bzcat > cal chgrp chroot cksum comm cut > dirname dos2unix > echo egrep env expand > fallocate fgrep find free > groups > head hostname hwclock > killall > logname losetup lspci lsusb > md5sum modinfo more mountpoint > nice nl > od > paste patch pidof pmap pwd > realpath > sed seq setsid sha1sum sort split stat strings sysctl > tac tail taskset tee time timeout tr truncate > uname uniq unix2dos usleep > wc which whoami xargs > yes
Some of these commands (hwclock, more, and tr) are in pending. As you've seen from the review of Luis' patches, things in pending often have reasons for being there. If android is going to start using those, I _really_ need to clean them up. I'm in the process of cleaning up hwclock, I'll prioritize more and tr. Actually tr is already high on my list, it's #3 on the list of most commonly called remaining busybox commands in aboriginal: http://landley.net/notes-2015.html#16-01-2015 It's after sed (which can switch over next release), and expr (which I was poking at yesterday and needs that redo for priority grouping I had to poke the posix guys to update the html version of the spec about)... > I’ve moved the following commands over to toybox, removing the old > toolbox implementations: > > cat chcon chmod chown clear cmp cp > date dmesg > false > getenforce > id ifconfig inotifyd(notify) insmod > kill > ln lsmod > mkdir mknod mkswap mv > netstat nohup > printenv > readlink rm rmdir rmmod > setenforce sleep sync swapoff swapon > true > vmstat Pending here is chcon, getenforce, setenforce, and netstat. Three of those are from you, so I have no fears about you running into something unexpected. Netstat is from Ashwini Sharma's team (which may choose to decloak someday), and I just haven't had a chance to look at 650 lines of network code yet. (Promoting route.c is my next networking todo item. Longer-term, we probably need something like iptables but that's not in the roadmap yet because I can't even scope it without more research. ipchains is toast but there's a new one, ipspikes? iprestraints? ipwhips? I forget, I assume it's in keeping with the established naming theme...) > next to look at: > > df --- missing -h; column alignment broken. no need to support old > Android output format. > du --- our default block size was 512; -h output slightly > different. [patch sent upstream] > ls --- missing -Z > route --- superset? > touch --- ours has nonstandard -l (equivalent to standard -h), > better resolution. [patch sent upstream] Which means I need to look at all of those too, of course. (But ls -Z I need a patch from you.) In addition to the actual toys/pending/*.c files, toys/pending/README has a list of commands that predate the pending directory, but could use another review/cleanup pass. (These aren't as bad, but I'm not happy with them yet.) Of that, you're using: vmstat: as hg commit 1171 (http://127.0.0.1/hg/toybox/rev/1171) explains, several of the fields aren't displaying what other versions do, and it's not obvious _what_ the other versions are displaying. (It's clearly not raw /proc data.) chroot: because of http://landley.net/notes-2011.html#02-06-2011 (I need to add a pivot_root mode that you can't trivially escape from as root within the chroot, for containers. Really this is a workaround for a longstanding kernel bug. Currently no worse than other chroot implementations, but I want to do it _right. Design issue, not implementation.) mountpoint: because of the comment "Ignore the fact a file can be a mountpoint for --bind mounts.", and because it thinks a symlink to a mountpoint is a mountpoint, and because minor code duplication. But I can fix two of those right now... xargs: Rich Felker rightfully points out that it doesn't implement the INSANE posix newline and whitespace parsing stuff. (because -0 renders all that obsolete, but posix is stuck back in the 1980's in a number of places, such as this.) Hence XARGS_PEDANTIC, which I haven't implemented yet. Also several options are commented out in the help text, which is a reminder to me I haven't implemented those yet. cut: I haven't even reviewed this one enough to change the coding style yet. (We've got lines over 80 chars, single line /* */ style comments, error messages that assume the reader knows more than a couple dozen words of english...) The code may be solid, I just haven't verified it yet. modinfo: I think commit 934 got most of this but I wanted to do another pass. (My test system is static, I need to set up a test system with modules.) Also little things like if strlen(field) > 15 the printf in output_field() shouldn't be actually donin anything _wrong_, but ew. And sizeof(modinfo_tags) / sizeof(*modinfo_tags) is ARRAY_LEN(modinfo_tags) from toys.h... expand: I don't remember... Ah, commit 1061 says "this gets expand off my to-review list" but I forgot to remove it. :) Rob _______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net