[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