[Toybox] [toybox] Asking advice for contribution

Rob Landley rob at landley.net
Sun May 20 18:52:49 PDT 2012


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.

 1337565169.0


More information about the Toybox mailing list