From: Denys Vlasenko Date: Fri, 12 Jun 2009 13:32:51 +0000 (+0200) Subject: Update POSIX compliance table X-Git-Tag: 1_15_0~169 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=145512c634edfe48047ac7cd45b4b14319fbc407;p=oweals%2Fbusybox.git Update POSIX compliance table Signed-off-by: Max Panasenkov Signed-off-by: Denys Vlasenko --- diff --git a/docs/posix_conformance.txt b/docs/posix_conformance.txt index 5f1680904..a9176f503 100644 --- a/docs/posix_conformance.txt +++ b/docs/posix_conformance.txt @@ -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