Update POSIX compliance table
No binary (build failed)
—
(log yok)
| @@ -4,7 +4,7 @@ Busybox POSIX conformance table | |
| See POSIX documentation (1003.1-2008) here: | |
| http://www.opengroup.org/onlinepubs/9699919799/ | |
| And the complete list of all utilities that POSIX covers: | |
| - | http://www.opengroup.org/onlinepubs/9699919799/utilities/utilities.html |
| + | http://www.opengroup.org/onlinepubs/9699919799/idx/utilities.html |
| This listing is a work in progress, and currently only covers | |
| tool options (not operands, enviroment variables, return codes, etc..). | |
| @@ -37,7 +37,7 @@ Note: echo, printf, kill, pwd documented here as stand-alone applets, | |
| not as ash built-ins. | |
| - | ar POSIX options |
| + | ar POSIX options ********************* Failed to recognize zip & tar (did not compare to regular ar) |
| option | exists | compliant | remarks | |
| -C | no | no | | |
| -T | no | no | | |
| @@ -93,10 +93,10 @@ chmod POSIX options | |
| chmod Busybox specific options: | |
| -f, -v, -c | |
| - | chown POSIX options |
| + | chown POSIX options ********************************************* |
| option | exists | compliant | remarks | |
| - | -H | yes | | |
| - | -L | yes | | |
| + | -H | yes | | It seems like all flags are supported (according to printout), but |
| + | -L | yes | | it fails to work on my machine |
| -P | yes | | | |
| -R | yes | | | |
| -h | yes | | | |
| @@ -115,20 +115,20 @@ cmp Busybox specific options: | |
| comm POSIX options | |
| option | exists | compliant | remarks | |
| - | -1 | yes | | |
| - | -2 | yes | | |
| - | -3 | yes | | |
| + | -1 | yes | yes | |
| + | -2 | yes | yes | |
| + | -3 | yes | yes | |
| comm Busybox specific options: None | |
| cp POSIX options | |
| option | exists | compliant | remarks | |
| - | -H | yes | | |
| - | -L | yes | | |
| - | -P | yes | | |
| - | -R | yes | | |
| - | -f | yes | | |
| - | -i | yes | | |
| - | -p | yes | | |
| + | -H | yes | yes | |
| + | -L | yes | yes | |
| + | -P | yes | yes | |
| + | -R | yes | yes | |
| + | -f | yes | yes | |
| + | -i | yes | yes | |
| + | -p | yes | yes | |
| cp Busybox specific options: | |
| -d, -a, -s, -c, -r, -l | |
| @@ -142,12 +142,12 @@ crontab Busybox specific options: | |
| cut POSIX options | |
| option | exists | compliant | remarks | |
| - | -b list | yes | | |
| - | -c list | yes | | |
| - | -d delim | yes | | |
| - | -f list | yes | | |
| - | -n | yes | | |
| - | -s | yes | | |
| + | -b list | yes | yes | |
| + | -c list | yes | yes | |
| + | -d delim | yes | yes | |
| + | -f list | yes | yes | |
| + | -n | yes | yes | |
| + | -s | yes | yes | |
| cut Busybox specific options: None | |
| date POSIX options | |
| @@ -156,17 +156,40 @@ date POSIX options | |
| date Busybox specific options: | |
| -I[SPEC], -d TIME, -r FILE, -R, -D FMT | |
| - | dd POSIX options: None |
| + | dd POSIX options: |
| + | option | exists | compliant | remarks |
| + | if | yes | | |
| + | of | yes | | |
| + | ibs | yes | | |
| + | obs | yes | | |
| + | bs | yes | | |
| + | cbs | no | no | |
| + | skip | yes | | |
| + | seek | yes | | |
| + | count | yes | | |
| + | conv=ascii | no | no | |
| + | conv=ebcdic | no | no | |
| + | conv=ibm | no | no | |
| + | conv=block | no | no | |
| + | conv=unblock | no | no | |
| + | conv=lcase | no | no | |
| + | conv=ucase | no | no | |
| + | conv=swap | no | no | |
| + | conv=noerror | yes | | |
| + | conv=notrunc | yes | | |
| + | conv=sync | yes | | |
| dd Busybox specific options: | |
| - | |
| + | conv=fsync |
| df POSIX options | |
| option | exists | compliant | remarks | |
| - | -P | yes | | |
| - | -k | yes | | |
| + | -P | yes | yes | |
| + | -k | yes | yes | |
| -t | no | no | | |
| df Busybox specific options: | |
| -a, -m, -B SIZE, -i, -h | |
| + | Remark: |
| + | - It seems that GNU df doesnt rount percents up in its output (thus its results are a bit different) |
| diff POSIX options | |
| option | exists | compliant | remarks | |
| @@ -195,9 +218,12 @@ du POSIX options | |
| du Busybox specific options: | |
| -c, -m, -h, -d N, -l | |
| + | |
| echo POSIX options: None | |
| + | option | exists | compliant | remarks |
| + | -n | yes | yes | The result of -n is "implementation-defined" |
| echo Busybox specific options: | |
| - | -e, -E, -n |
| + | -e, -E |
| ed POSIX options | |
| option | exists | compliant | remarks | |
| @@ -213,13 +239,31 @@ env Busybox specific options: | |
| expand POSIX options | |
| option | exists | compliant | remarks | |
| - | -t tablist | yes | | |
| + | -t tablist | yes | yes | |
| expand Busybox specific options: | |
| --tabs=N, -i, --initial | |
| - | expr POSIX options: None |
| - | expr Busybox specific options: |
| - | |
| + | expr POSIX operations: |
| + | option | exists | compliant | remarks |
| + | | | yes | yes | |
| + | & | yes | yes | |
| + | = | yes | yes | |
| + | > | yes | yes | |
| + | >= | yes | yes | |
| + | <= | yes | yes | |
| + | < | yes | yes | |
| + | != | yes | yes | |
| + | + | yes | yes | |
| + | - | yes | yes | |
| + | * | yes | yes | |
| + | / | yes | yes | |
| + | % | yes | yes | |
| + | : | yes | yes | |
| + | (expr) | yes | yes | |
| + | integer | yes | yes | |
| + | string | yes | yes | |
| + | expr Busybox specific operations: |
| + | match, substr, index, length, quote |
| false POSIX options: None | |
| false Busybox specific options: None | |
| @@ -233,9 +277,9 @@ find Busybox specific options: | |
| fold POSIX options | |
| option | exists | compliant | remarks | |
| - | -b | yes | | |
| - | -s | yes | | |
| - | -w width | yes | | |
| + | -b | yes | yes | |
| + | -s | yes | yes | |
| + | -w width | yes | yes | |
| fold Busybox specific options: None | |
| fuser POSIX options | |
| @@ -271,11 +315,11 @@ head Busybox specific options: | |
| id POSIX options | |
| option | exists | compliant | remarks | |
| - | -G | yes | | |
| - | -g | yes | | |
| - | -n | yes | | |
| - | -r | yes | | |
| - | -u | yes | | |
| + | -G | yes | yes | |
| + | -g | yes | yes | |
| + | -n | yes | yes | |
| + | -r | yes | yes | |
| + | -u | yes | yes | |
| id Busybox specific options: | |
| -Z | |
| @@ -317,8 +361,8 @@ ln POSIX options | |
| option | exists | compliant | remarks | |
| -L | no | no | | |
| -P | no | no | | |
| - | -f | yes | | |
| - | -s | yes | | |
| + | -f | yes | yes | |
| + | -s | yes | yes | |
| ln Busybox specific options: | |
| -S suf, -n, -b | |
| @@ -331,32 +375,32 @@ logname Busybox specific options: None | |
| ls POSIX options | |
| option | exists | compliant | remarks | |
| - | -1 | yes | | |
| - | -A | yes | | |
| - | -C | yes | | |
| - | -F | yes | | |
| + | -1 | yes | yes | |
| + | -A | yes | yes | |
| + | -C | yes | yes | |
| + | -F | yes | yes | And more: '=' for sockets (not defined by POSIX) |
| -H | no | no | | |
| - | -L | yes | | |
| - | -R | yes | | |
| - | -S | yes | | |
| - | -a | yes | | |
| - | -c | yes | | |
| - | -d | yes | | |
| + | -L | yes | yes | But coloring may be wrong (at least POSIX does not require correct colors :) ) |
| + | -R | yes | yes | |
| + | -S | yes | yes | |
| + | -a | yes | yes | |
| + | -c | yes | no | Sorts output with '-l' (should only show ctime with '-l', and sort only with '-t') |
| + | -d | yes | no | When invoked together with '-L' should read symbolic links, and doesn't |
| -f | no | no | | |
| -g | no | no | | |
| - | -i | yes | | |
| - | -k | yes | | |
| - | -l | yes | | |
| + | -i | yes | yes | |
| + | -k | yes | no | Does something completely unrelated! (Lists security context instead of specifying block size) |
| + | -l | yes | yes | |
| -m | no | no | | |
| - | -n | yes | | |
| - | -o | no | no | |
| - | -p | yes | | |
| + | -n | yes | no | Works correctly only together with '-l' (but POSIX requires '-l' to be implicitly assumed) |
| + | -o | no | no | |
| + | -p | yes | yes | |
| -q | no | no | | |
| - | -r | yes | | |
| - | -s | yes | | |
| - | -t | yes | | |
| - | -u | yes | | |
| - | -x | yes | | |
| + | -r | yes | yes | |
| + | -s | yes | yes | |
| + | -t | yes | yes | |
| + | -u | yes | yes | |
| + | -x | yes | yes | |
| ls Busybox specific options: | |
| --color, -T NUM, -K, -X, -Z, -e, -h, -v, -w NUM | |
| @@ -372,8 +416,8 @@ mesg Busybox specific options: None | |
| mkdir POSIX options | |
| option | exists | compliant | remarks | |
| - | -m mode | yes | | |
| - | -p | yes | | |
| + | -m mode | yes | yes | |
| + | -p | yes | yes | |
| mkdir Busybox specific options: | |
| -Z | |
| @@ -397,13 +441,13 @@ more Busybox specific options: None | |
| mv POSIX options | |
| option | exists | compliant | remarks | |
| - | -f | yes | | |
| - | -i | yes | | |
| + | -f | yes | yes | |
| + | -i | yes | yes | |
| mv Busybox specific options: None | |
| nice POSIX options | |
| option | exists | compliant | remarks | |
| - | -n increment | yes | | |
| + | -n increment | yes | yes | |
| nice Busybox specific options: None | |
| nohup POSIX options: None | |
| @@ -428,16 +472,16 @@ patch POSIX options | |
| option | exists | compliant | remarks | |
| -D define | no | no | | |
| -N | no | no | | |
| - | -R | yes | | |
| + | -R | yes | yes | |
| -b | no | no | | |
| -c | no | no | | |
| -d dir | no | no | | |
| -e | no | no | | |
| - | -i patchfile | yes | | |
| + | -i patchfile | yes | yes | |
| -l | no | no | | |
| -n | no | no | | |
| -o outfile | no | no | | |
| - | -p num | yes | | |
| + | -p num | yes | yes | |
| -r rejectfile | no | no | | |
| -u | no | no | | |
| patch Busybox specific options: None | |
| @@ -471,23 +515,23 @@ pwd Busybox specific options: None | |
| renice POSIX options | |
| option | exists | compliant | remarks | |
| - | -g | yes | | |
| - | -n increment | yes | | |
| - | -p | yes | | |
| - | -u | yes | | |
| + | -g | yes | yes | |
| + | -n increment | yes | yes | Note POSIX allows only to run with this option (busybox also allows to run without '-n' and set niceness directly) |
| + | -p | yes | yes | |
| + | -u | yes | yes | |
| renice Busybox specific options: None | |
| rm POSIX options | |
| option | exists | compliant | remarks | |
| - | -R | yes | | |
| - | -f | yes | | |
| - | -i | yes | | |
| - | -r | yes | | |
| + | -R | yes | yes | |
| + | -f | yes | yes | |
| + | -i | yes | yes | |
| + | -r | yes | yes | |
| rm Busybox specific options: None | |
| rmdir POSIX options | |
| option | exists | compliant | remarks | |
| - | -p | yes | | |
| + | -p | yes | yes | |
| rmdir Busybox specific options: | |
| --parents | |
| @@ -512,42 +556,42 @@ sleep Busybox specific options: None | |
| sort POSIX options | |
| option | exists | compliant | remarks | |
| -C | no | no | | |
| - | -b | yes | | |
| - | -c | yes | | |
| - | -d | yes | | |
| - | -f | yes | | |
| - | -i | yes | | |
| - | -k keydef | yes | | |
| + | -b | yes | yes | |
| + | -c | yes | yes | |
| + | -d | yes | yes | |
| + | -f | yes | yes | |
| + | -i | yes | yes | But is not like GNU sort, which isn't! (try to sort 'a\nA\nB\nb' with and without -f) |
| + | -k keydef | yes | | |
| -m | no | no | | |
| - | -n | yes | | |
| - | -o output | yes | | |
| - | -r | yes | | |
| + | -n | yes | yes | |
| + | -o output | yes | yes | |
| + | -r | yes | yes | |
| -t char | yes | | | |
| - | -u | yes | | |
| + | -u | yes | yes | |
| sort Busybox specific options: | |
| -mST, -g, -M, -s, -z | |
| split POSIX options | |
| option | exists | compliant | remarks | |
| - | -a suffix_length | yes | | |
| - | -b n | yes | | |
| - | -b nk | yes | | |
| - | -b nm | yes | | |
| - | -l line_count | yes | | |
| + | -a suffix_length | yes | yes | |
| + | -b n | yes | yes | |
| + | -b nk | yes | yes | |
| + | -b nm | yes | yes | |
| + | -l line_count | yes | yes | |
| split Busybox specific options: None | |
| strings POSIX options | |
| option | exists | compliant | remarks | |
| - | -a | yes | | |
| - | -n number | yes | | |
| + | -a | yes | yes | |
| + | -n number | yes | yes | |
| -t format | no | no | | |
| strings Busybox specific options: | |
| -o, -f | |
| stty POSIX options | |
| option | exists | compliant | remarks | |
| - | -a | yes | | |
| - | -g | yes | | |
| + | -a | yes | yes | |
| + | -g | yes | yes | |
| stty Busybox specific options: | |
| -F DEVICE | |
| @@ -561,8 +605,8 @@ tail Busybox specific options: | |
| tee POSIX options | |
| option | exists | compliant | remarks | |
| - | -a | yes | | |
| - | -i | yes | | |
| + | -a | yes | yes | |
| + | -i | yes | yes | |
| tee Busybox specific options: None | |
| test POSIX options: None | |
| @@ -577,7 +621,7 @@ time Busybox specific options: | |
| touch POSIX options | |
| option | exists | compliant | remarks | |
| -a | no | no | | |
| - | -c | yes | | |
| + | -c | yes | yes | |
| -d date_time | no | no | | |
| -m | no | no | | |
| -r ref_file | no | no | | |
| @@ -587,9 +631,9 @@ touch Busybox specific options: None | |
| tr POSIX options | |
| option | exists | compliant | remarks | |
| -C | no | no | | |
| - | -c | yes | | |
| - | -d | yes | | |
| - | -s | yes | | |
| + | -c | yes | yes | |
| + | -d | yes | yes | |
| + | -s | yes | yes | |
| tr Busybox specific options: None | |
| true POSIX options: None | |
| @@ -601,36 +645,36 @@ tty Busybox specific options: | |
| uname POSIX options | |
| option | exists | compliant | remarks | |
| - | -a | yes | | |
| - | -m | yes | | |
| - | -n | yes | | |
| - | -r | yes | | |
| - | -s | yes | | |
| - | -v | yes | | |
| + | -a | yes | yes | |
| + | -m | yes | yes | |
| + | -n | yes | yes | |
| + | -r | yes | yes | |
| + | -s | yes | yes | |
| + | -v | yes | yes | |
| uname Busybox specific options: | |
| -p | |
| uncompress POSIX options | |
| option | exists | compliant | remarks | |
| - | -c | yes | | |
| - | -f | yes | | |
| + | -c | yes | yes | |
| + | -f | yes | yes | |
| -v | no | no | | |
| uncompress Busybox specific options: None | |
| unexpand POSIX options | |
| option | exists | compliant | remarks | |
| - | -a | yes | | |
| - | -t tablist | yes | | |
| + | -a | yes | no | POSIX requires converting two or more spaces to tabs, busybox converts one or more spaces |
| + | -t tablist | yes | yes | |
| unexpand Busybox specific options: | |
| --tabs=N, -f, --first-only, --all | |
| uniq POSIX options | |
| option | exists | compliant | remarks | |
| - | -c | yes | | |
| - | -d | yes | | |
| - | -f fields | yes | | |
| - | -s chars | yes | | |
| - | -u | yes | | |
| + | -c | yes | yes | |
| + | -d | yes | yes | |
| + | -f fields | yes | yes | |
| + | -s chars | yes | yes | |
| + | -u | yes | yes | |
| uniq Busybox specific options: | |
| -w N | |
| @@ -641,7 +685,7 @@ uudecode Busybox specific options: None | |
| uuencode POSIX options | |
| option | exists | compliant | remarks | |
| - | -m | yes | | |
| + | -m | yes | yes | |
| uuencode Busybox specific options: None | |
| vi POSIX options | |
| @@ -656,10 +700,10 @@ vi Busybox specific options: | |
| wc POSIX options | |
| option | exists | compliant | remarks | |
| - | -c | yes | | |
| - | -l | yes | | |
| + | -c | yes | yes | |
| + | -l | yes | yes | |
| -m | no | no | | |
| - | -w | yes | | |
| + | -w | yes | yes | |
| wc Busybox specific options: | |
| -L | |
| @@ -667,7 +711,7 @@ who POSIX options | |
| option | exists | compliant | remarks | |
| -H | no | no | | |
| -T | no | no | | |
| - | -a | yes | | |
| + | -a | yes | no | just shows all |
| -b | no | no | | |
| -d | no | no | | |
| -l | no | no | | |
| @@ -685,11 +729,11 @@ xargs POSIX options | |
| -E eofstr | no | no | | |
| -I replstr | no | no | | |
| -L number | no | no | | |
| - | -n number | yes | | |
| - | -p | yes | | |
| - | -s size | yes | | |
| - | -t | yes | | |
| - | -x | yes | | |
| + | -n number | yes | yes | |
| + | -p | yes | yes | |
| + | -s size | yes | yes | |
| + | -t | yes | yes | |
| + | -x | yes | yes | |
| xargs Busybox specific options: | |
| -e[STR], -0, -r | |