The command shell situation is a big mess. We have three or four different
shells that don't really share any code, and the "standalone shell" doesn't
work all that well (especially not in a chroot environment), due to apps not
- being reentrant. I'm writing a new shell (bbsh) to unify the various
- shells and configurably add the minimal set of bash features people
- actually use. The hardest part is it has to configure down as small as
- lash while providing lash's features. The rest is easy in comparison.
- bzip2
- Compression-side support.
+ being reentrant.
+ lash is phased out. hush can be configured down to be nearly as small,
+ but less buggy :)
init
General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG).
depmod
use of the depmod.pl (perl is to bloated for most embedded setups) and or orig
modutils. The orig depmod is rather pointless to have to add to a firmware image
in when we already have a insmod/rmmod and friends.
- Unify base64 handling.
- There's base64 encoding and decoding going on in:
- networking/wget.c:base64enc()
- coreutils/uudecode.c:read_base64()
- coreutils/uuencode.c:tbl_base64[]
- networking/httpd.c:decodeBase64()
- And probably elsewhere. That needs to be unified into libbb functions.
Do a SUSv3 audit
Look at the full Single Unix Specification version 3 (available online at
"http://www.opengroup.org/onlinepubs/009695399/nfindex.html") and
make bb_common_bufsiz1 configurable, size wise.
make pipesize configurable, size wise.
Use bb_common_bufsiz1 throughout applets!
- Add chrt applet. Please CC Bernhard if you suggest a patch.
As yet unclaimed:
---
ar
Write support?
-----
+---
stty / catv
stty's visible() function and catv's guts are identical. Merge them into
an appropriate libbb function.
-----
+---
struct suffix_mult
Several duplicate users of: grep -r "1024\*1024" * -B2 -A1
Merge to a single size_suffixes[] in libbb.
Users: head tail od_bloaty hexdump and (partially as it wouldn't hurt) svlogd
+---
+tail
+ ./busybox tail -f foo.c~ TODO
+ should not print fmt=header_fmt for subsequent date >> TODO; i.e. only
+ fmt+ if another (not the current) file did change
Architectural issues:
---
Move __get_hz() to a better place and (re)use it in route.c, ash.c, msh.c
---
+ See grep -r strtod
+ Alot of duplication that wants cleanup.
+---
Code cleanup: