depmod
busybox lacks a way to update module deps when running from firmware without the
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
+ 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.
+ [done]
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
This one's open to everybody, but I'll wind up doing it...
-Bernhard Fischer <rep.nop@anon.at>:
- Makefile stuff:
- make -j is broken, -j1 is forced atm
+Bernhard Fischer <busybox@busybox.net> suggests to look at these:
New debug options:
-Wlarger-than-127
+ Cleanup any big users
+ -Wunused-parameter
+ Facilitate applet PROTOTYPES to provide means for having applets that
+ do a) not take any arguments b) need only one of argc or argv c) need
+ both argc and argv. All of these three options should go for the most
+ feature complete denominator.
Collate BUFSIZ IOBUF_SIZE MY_BUF_SIZE PIPE_PROGRESS_SIZE BUFSIZE PIPESIZE
- Use bb_common_bufsiz1?
+ make bb_common_bufsiz1 configurable, size wise.
+ make pipesize configurable, size wise.
+ Use bb_common_bufsiz1 throughout applets!
As yet unclaimed:
Make sure we handle empty files properly:
From the patch man page:
- you can remove a file by sending out a context diff that compares
- the file to be deleted with an empty file dated the Epoch. The
- file will be removed unless patch is conforming to POSIX and the
- -E or --remove-empty-files option is not given.
+ you can remove a file by sending out a context diff that compares
+ the file to be deleted with an empty file dated the Epoch. The
+ file will be removed unless patch is conforming to POSIX and the
+ -E or --remove-empty-files option is not given.
---
patch
Should have simple fuzz factor support to apply patches at an offset which
And while we're at it, a new patch filename quoting format is apparently
coming soon: http://marc.theaimsgroup.com/?l=git&m=112927316408690&w=2
---
+ps / top
+ Add support for both RSS and VSIZE rather than just one or the other.
+ Or make it a build option.
+---
man
It would be nice to have a man command. Not one that handles troff or
anything, just one that can handle preformatted ascii man pages, possibly
ar
Write support?
---
-crond
- turn FEATURE_DEBUG_OPT into ENABLE_FEATURE_CROND_DEBUG_OPT
+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:
jumps out of the normal flow control and bypasses any cleanup code we
put at the end of our applets.
- It's possible to add hooks to libbb functions like xmalloc() and bb_xopen()
+ It's possible to add hooks to libbb functions like xmalloc() and xopen()
to add their entries to a linked list, which could be traversed and
freed/closed automatically. (This would need to be able to free just the
entries after a checkpoint to be usable for a forkless standalone shell.
-> fprintf(stderr, "unalias: %s not found\n", *argptr);
---
possible code duplication ingroup() and is_a_group_member()
----
- unify itoa: netstat.c, hush.c, lash.c, msh.c
- Put one single, robust version into e.g. safe_strtol.c
---
Move __get_hz() to a better place and (re)use it in route.c, ash.c, msh.c
---
---
vdprintf() -> similar sized functionality
---
-