Another user sent me a list of commands his use case needs, and here's my triage of how that affects the roadmap.
My categories are "done", "partial", "near todo list", "far todo list", "pending design issues", and "not started yet". Done means it's in and it works for my use cases, "default y". Partial means there's some code checked in but it defaults to "n" (I.E. not enabled in defconfig) because it needs more review or has known issues. The "near" todo list is low-hanging-fruit to me, it generally means I've already opened a file here and started writing code into it, and could probably finish that command if I had a weekend to devote to it. Somebody else writing one of these doesn't necessarily save me much time. (Note: some of these are "this command is so similar to this other command that I may try to modify the other one and factor stuff out into lib/*.c.) The "far" todo list means I have a reasonably clear idea of what design I want, but haven't started coding it yet. If somebody else wants to take that one I'll be a little more criticial about the code, and it would probably be good to ask what I had in mind (often this means I wrote shared infrastructure for this already), but somebody else writing it would still save me time. The other category is "not started yet". Open season on these, go nuts. "Pending design issue" means I'm not yet sure how to proceed, I need to work out _what_ we should do before figuring out how to implement it. ---------------------------------- Ok, the new commands are: On 05/18/2012 02:18 AM, Kyungwan Han wrote: > cttyhack eject fdisk fsck awk grep killall swapoff I believe "oneit" can replace cttyhack? (They do very similar things.) eject is new, and useful. I'll add it to the roadmap. (Actually it's tiny, I may just write one this weekend. I did a busybox version way back when.) fdisk: roadmap has sfdisk but not fdisk. Easy to add (alias to same functionality). sfdisk is on the "far" todo list. fsck: pending design issues. The real meat of this program is in mkfs.vfat (far todo list), mkfs.ext2 (not started yet), and other filesystem-specific programs. This command is just a wrapper to determine filesystem time and call the appropriate other command. (If you'd like it in the roadmap by itself we can do that, but by itself it isn't very useful.) awk is in roadmap, nobody working on it yet. grep is in roadmap and on "near" todo list. killall is in and working swapoff is in and working > swapon usleep init ping swapon: in and working usleep: our sleep supports fractional seconds (sleep 0.1). We can easily implement a different interface to that (an alias command init: there's a design issue here, do we do sysvinit or systemd or upstart or something else? ping: in the roadmap, but nobody's working on it yet. > sh dd insmod mkdir netstat chmod ifconfig kill sh: in the roadmap, but it's big. (Lots of design work already done.) dd: in the roadmap, on the "far" todo list. insmod: in the roadmap, on the "far" todo list. mkdir: in and working. netstat: in roadmap, nobody working on it yet. chmod: partially completed. ifconfig: in roadmap, nobody working on it yet. kill: in and working. (Note: further work requires shell integration.) > ln ls mount mv rm umount ln: in and working ls: in progress mount: in roadmap, on "near" todo list. mv: in progress rm: in roadmap, on "near" todo list. umount: in roadmap, on "near" todo list. > echo nice cp sleep sync cat ash envdir echo: in and working. nice: in and working. cp: in progress. sleep: in and working sync: in and working cat: in and working ash: substitute "toysh", on "far" todo list. Special case command, very large scope. envdir: no idea, what is that? > linuxrc udhcpc env mkfifo pidof linuxrc: do you mean init? (That's an obsolete pre-initramfs alias for init.) udhcpc: in roadmap, nobody working on it yet. (sort of on "far" todo list, but lots of the research phase still left.) env: in and working mkfifo: in and working pidof: in and working > rmmod tty uname dmesg depmod [ tftp chown cut rmmod: in roadmap, nobody working on it yet. tty: in and working uname: in and working dmesg: in and working depmod: in roadmap, nobody working on it yet. [: alias for test, in progress tftp: in roadmap, nobody working on it yet. chown: in progress cut: in roadmap, on "far" todo lsit. > date du egrep fgrep gzip date: in roadmap, on near todo list du: in roadmap, on near todo lsit egrep, fgrep: aliases for grep gzip: in roadmap, on far near todo list. > halt hostname klogd logger losetup lsmod mknod halt: in roadmap, design issues pending (it signals init, which one?) hostname: in and working. klogd: in roadmap, nobody working on it yet. logger: in roadmap, on "near" todo list. losetup: in roadmap, on 'near" todo list. lsmod: in roadmap, on "far" todo list. mknod: in and working. > modprobe printf reboot route modprobe: in roadmap, on "far" todo list. printf: in roadmap, on "far" todo list. reboot: in roadmap, pending design issues (same as halt). route: in roadmap, nobody working on it yet. > sed switch_root syslogd tail tar touch false pwd sed: in roadmap, on "near" todo list. (I wrote the busybox one long ago.) switch_root: in roadmap, on "near" todo list (ditto). syslogd: in roadmap, nobody working on it yet. stail: in and working. tar: in roadmap, on "far" todo list. touch: in and working. false: in and working. pwd: in and working. More later... Rob -- GNU/Linux isn't: Linux=GPLv2, GNU=GPLv3+, they can't share code. Either it's "mere aggregation", or a license violation. Pick one. _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
