[Toybox] Hello, I would like to carve out a project

Rob Landley rob at landley.net
Fri May 24 08:53:26 PDT 2013


On 05/23/2013 10:07:07 PM, idunham at lavabit.com wrote:
> On Thu, May 23, 2013 at 04:13:37PM -0600, Terrel Shumway wrote:
> > I listened to Rob's "Why Toybox" talk and I understand the urgency.
> >
> > My recent coding experience has been in Python, but I did some C a  
> long
> > time ago. I would like to help.
> >
> > Is there a important command that a semi-newbie could whip out in  
> ~40-80
> > hours?  I am thinking of pgrep/pkill,  but I am willing to work on
> > something else that may be a higher priority.
> >
> > This would be part of my capstone project for B.S.
> > -- Terrel
> 
> Two references that you might wish to look at, or may have seen  
> already:
> http://landley.net/toybox/roadmap.html
> http://landley.net/toybox/status.html
> (And note that the hg repository does change somewhat more frequently
> than that page!)
> 
> Rob is the one who knows what's a priority, though...

Everything in the roadmap needs to get done eventually. If you're  
thinking pkill or pgrep, go for it. (Note lib/xregcomp.c and  
lib/xregcomp.h, fairly simple wrapper used by mdev.c for example. And  
my unfinished out of tree sed.c...)

Basically, if it's in http://landley.net/toybox/status.html#todo it  
needs doing. Looking at that, the easiest to implement are probably  
"fold", "nl" and "unexpand", although "tabs" and "tput" are pretty  
straightforward if you want to read up on terminal control. :) "fuser"  
is a fairly simple iteration through /proc/*/fd... lot of low hanging  
fruit, actually.

Actually I need to update the list. Check the toybox source to see if  
something's there first: groups and lspci recently went in, for example.

> Another reference to note is Aboriginal Linux.  Since it's the
> "self-hosting" part of the agenda, one could refer to the commands
> included there-see
> http://landley.net/hg/aboriginal/file/e50c2b9588b8/sources/baseconfig-busybox
> Which I should note includes some applets that are currently in
> progress:
> find ifconfig test stat mount(?)

My todo.txt currently says:

low hanging fruit from aboriginal:
   new: cpio, dd, init, install, mount, mv, split, tar, tr, umount, test
   merge: gunzip, gzip, zcat
   cleanup: bunzip2/bzcat, ifconfig, find, lspci, stat, unxz, xzcat

("new" means something I know how to write without significant further  
research, just need to find time for. "merge" means I have some out of  
tree public domain code I can use to implement this. "cleanup" means  
it's in toys/pending or similar, and .)

Slight crosslink in the dependencies: busybox tar -j calls busybox  
bunzip, once toybox has a tar implementation busybox bunzip can go away.

The fill list of commands aboriginal still uses out of busybox is:

Currently defined functions:
	[, [[, ash, awk, bunzip2, bzcat, bzip2, cpio, dd, diff, egrep,  
expr,
	fgrep, find, ftpd, ftpget, ftpput, grep, gunzip, gzip, ifconfig,
	install, less, lspci, man, mount, mv, pgrep, ping, pkill, ps,  
route,
	sed, sh, split, stat, tar, test, tr, umount, unxz, vi, wget,  
xzcat,
	zcat

I note that ftpd, ftpget, ftpput, and wget I'm not working on this  
month. They're reasonably low hanging fruit, just "network stuff" that  
I largely haven't started tackling as a group yet...

Rob
 1369410806.0


More information about the Toybox mailing list