Update POSIX compliance table

Signed-off-by: Max Panasenkov <panmax@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2009-06-12 15:32:51 +02:00
parent a99aa6e9c4
commit 145512c634

View File

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