aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-06-12 15:32:51 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-06-12 15:32:51 +0200
commit145512c634edfe48047ac7cd45b4b14319fbc407 (patch)
tree7e72daf12818d268f41e1019602269787145920b /docs
parenta99aa6e9c410bb0fc43ac37f105801a9b330438f (diff)
downloadbusybox-w32-145512c634edfe48047ac7cd45b4b14319fbc407.tar.gz
busybox-w32-145512c634edfe48047ac7cd45b4b14319fbc407.tar.bz2
busybox-w32-145512c634edfe48047ac7cd45b4b14319fbc407.zip
Update POSIX compliance table
Signed-off-by: Max Panasenkov <panmax@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/posix_conformance.txt300
1 files changed, 172 insertions, 128 deletions
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
4See POSIX documentation (1003.1-2008) here: 4See POSIX documentation (1003.1-2008) here:
5http://www.opengroup.org/onlinepubs/9699919799/ 5http://www.opengroup.org/onlinepubs/9699919799/
6And the complete list of all utilities that POSIX covers: 6And the complete list of all utilities that POSIX covers:
7http://www.opengroup.org/onlinepubs/9699919799/utilities/utilities.html 7http://www.opengroup.org/onlinepubs/9699919799/idx/utilities.html
8 8
9This listing is a work in progress, and currently only covers 9This listing is a work in progress, and currently only covers
10tool options (not operands, enviroment variables, return codes, etc..). 10tool options (not operands, enviroment variables, return codes, etc..).
@@ -37,7 +37,7 @@ Note: echo, printf, kill, pwd documented here as stand-alone applets,
37 not as ash built-ins. 37 not as ash built-ins.
38 38
39 39
40ar POSIX options 40ar POSIX options ********************* Failed to recognize zip & tar (did not compare to regular ar)
41 option | exists | compliant | remarks 41 option | exists | compliant | remarks
42 -C | no | no | 42 -C | no | no |
43 -T | no | no | 43 -T | no | no |
@@ -93,10 +93,10 @@ chmod POSIX options
93chmod Busybox specific options: 93chmod Busybox specific options:
94 -f, -v, -c 94 -f, -v, -c
95 95
96chown POSIX options 96chown POSIX options *********************************************
97 option | exists | compliant | remarks 97 option | exists | compliant | remarks
98 -H | yes | | 98 -H | yes | | It seems like all flags are supported (according to printout), but
99 -L | yes | | 99 -L | yes | | it fails to work on my machine
100 -P | yes | | 100 -P | yes | |
101 -R | yes | | 101 -R | yes | |
102 -h | yes | | 102 -h | yes | |
@@ -115,20 +115,20 @@ cmp Busybox specific options:
115 115
116comm POSIX options 116comm POSIX options
117 option | exists | compliant | remarks 117 option | exists | compliant | remarks
118 -1 | yes | | 118 -1 | yes | yes |
119 -2 | yes | | 119 -2 | yes | yes |
120 -3 | yes | | 120 -3 | yes | yes |
121comm Busybox specific options: None 121comm Busybox specific options: None
122 122
123cp POSIX options 123cp POSIX options
124 option | exists | compliant | remarks 124 option | exists | compliant | remarks
125 -H | yes | | 125 -H | yes | yes |
126 -L | yes | | 126 -L | yes | yes |
127 -P | yes | | 127 -P | yes | yes |
128 -R | yes | | 128 -R | yes | yes |
129 -f | yes | | 129 -f | yes | yes |
130 -i | yes | | 130 -i | yes | yes |
131 -p | yes | | 131 -p | yes | yes |
132cp Busybox specific options: 132cp Busybox specific options:
133 -d, -a, -s, -c, -r, -l 133 -d, -a, -s, -c, -r, -l
134 134
@@ -142,12 +142,12 @@ crontab Busybox specific options:
142 142
143cut POSIX options 143cut POSIX options
144 option | exists | compliant | remarks 144 option | exists | compliant | remarks
145 -b list | yes | | 145 -b list | yes | yes |
146 -c list | yes | | 146 -c list | yes | yes |
147 -d delim | yes | | 147 -d delim | yes | yes |
148 -f list | yes | | 148 -f list | yes | yes |
149 -n | yes | | 149 -n | yes | yes |
150 -s | yes | | 150 -s | yes | yes |
151cut Busybox specific options: None 151cut Busybox specific options: None
152 152
153date POSIX options 153date POSIX options
@@ -156,17 +156,40 @@ date POSIX options
156date Busybox specific options: 156date Busybox specific options:
157 -I[SPEC], -d TIME, -r FILE, -R, -D FMT 157 -I[SPEC], -d TIME, -r FILE, -R, -D FMT
158 158
159dd POSIX options: None 159dd POSIX options:
160 option | exists | compliant | remarks
161 if | yes | |
162 of | yes | |
163 ibs | yes | |
164 obs | yes | |
165 bs | yes | |
166 cbs | no | no |
167 skip | yes | |
168 seek | yes | |
169 count | yes | |
170 conv=ascii | no | no |
171 conv=ebcdic | no | no |
172 conv=ibm | no | no |
173 conv=block | no | no |
174 conv=unblock | no | no |
175 conv=lcase | no | no |
176 conv=ucase | no | no |
177 conv=swap | no | no |
178 conv=noerror | yes | |
179 conv=notrunc | yes | |
180 conv=sync | yes | |
160dd Busybox specific options: 181dd Busybox specific options:
161 182 conv=fsync
162 183
163df POSIX options 184df POSIX options
164 option | exists | compliant | remarks 185 option | exists | compliant | remarks
165 -P | yes | | 186 -P | yes | yes |
166 -k | yes | | 187 -k | yes | yes |
167 -t | no | no | 188 -t | no | no |
168df Busybox specific options: 189df Busybox specific options:
169 -a, -m, -B SIZE, -i, -h 190 -a, -m, -B SIZE, -i, -h
191Remark:
192- It seems that GNU df doesnt rount percents up in its output (thus its results are a bit different)
170 193
171diff POSIX options 194diff POSIX options
172 option | exists | compliant | remarks 195 option | exists | compliant | remarks
@@ -195,9 +218,12 @@ du POSIX options
195du Busybox specific options: 218du Busybox specific options:
196 -c, -m, -h, -d N, -l 219 -c, -m, -h, -d N, -l
197 220
221
198echo POSIX options: None 222echo POSIX options: None
223 option | exists | compliant | remarks
224 -n | yes | yes | The result of -n is "implementation-defined"
199echo Busybox specific options: 225echo Busybox specific options:
200 -e, -E, -n 226 -e, -E
201 227
202ed POSIX options 228ed POSIX options
203 option | exists | compliant | remarks 229 option | exists | compliant | remarks
@@ -213,13 +239,31 @@ env Busybox specific options:
213 239
214expand POSIX options 240expand POSIX options
215 option | exists | compliant | remarks 241 option | exists | compliant | remarks
216 -t tablist | yes | | 242 -t tablist | yes | yes |
217expand Busybox specific options: 243expand Busybox specific options:
218 --tabs=N, -i, --initial 244 --tabs=N, -i, --initial
219 245
220expr POSIX options: None 246expr POSIX operations:
221expr Busybox specific options: 247 option | exists | compliant | remarks
222 248 | | yes | yes |
249 & | yes | yes |
250 = | yes | yes |
251 > | yes | yes |
252 >= | yes | yes |
253 <= | yes | yes |
254 < | yes | yes |
255 != | yes | yes |
256 + | yes | yes |
257 - | yes | yes |
258 * | yes | yes |
259 / | yes | yes |
260 % | yes | yes |
261 : | yes | yes |
262 (expr) | yes | yes |
263 integer | yes | yes |
264 string | yes | yes |
265expr Busybox specific operations:
266 match, substr, index, length, quote
223 267
224false POSIX options: None 268false POSIX options: None
225false Busybox specific options: None 269false Busybox specific options: None
@@ -233,9 +277,9 @@ find Busybox specific options:
233 277
234fold POSIX options 278fold POSIX options
235 option | exists | compliant | remarks 279 option | exists | compliant | remarks
236 -b | yes | | 280 -b | yes | yes |
237 -s | yes | | 281 -s | yes | yes |
238 -w width | yes | | 282 -w width | yes | yes |
239fold Busybox specific options: None 283fold Busybox specific options: None
240 284
241fuser POSIX options 285fuser POSIX options
@@ -271,11 +315,11 @@ head Busybox specific options:
271 315
272id POSIX options 316id POSIX options
273 option | exists | compliant | remarks 317 option | exists | compliant | remarks
274 -G | yes | | 318 -G | yes | yes |
275 -g | yes | | 319 -g | yes | yes |
276 -n | yes | | 320 -n | yes | yes |
277 -r | yes | | 321 -r | yes | yes |
278 -u | yes | | 322 -u | yes | yes |
279id Busybox specific options: 323id Busybox specific options:
280 -Z 324 -Z
281 325
@@ -317,8 +361,8 @@ ln POSIX options
317 option | exists | compliant | remarks 361 option | exists | compliant | remarks
318 -L | no | no | 362 -L | no | no |
319 -P | no | no | 363 -P | no | no |
320 -f | yes | | 364 -f | yes | yes |
321 -s | yes | | 365 -s | yes | yes |
322ln Busybox specific options: 366ln Busybox specific options:
323 -S suf, -n, -b 367 -S suf, -n, -b
324 368
@@ -331,32 +375,32 @@ logname Busybox specific options: None
331 375
332ls POSIX options 376ls POSIX options
333 option | exists | compliant | remarks 377 option | exists | compliant | remarks
334 -1 | yes | | 378 -1 | yes | yes |
335 -A | yes | | 379 -A | yes | yes |
336 -C | yes | | 380 -C | yes | yes |
337 -F | yes | | 381 -F | yes | yes | And more: '=' for sockets (not defined by POSIX)
338 -H | no | no | 382 -H | no | no |
339 -L | yes | | 383 -L | yes | yes | But coloring may be wrong (at least POSIX does not require correct colors :) )
340 -R | yes | | 384 -R | yes | yes |
341 -S | yes | | 385 -S | yes | yes |
342 -a | yes | | 386 -a | yes | yes |
343 -c | yes | | 387 -c | yes | no | Sorts output with '-l' (should only show ctime with '-l', and sort only with '-t')
344 -d | yes | | 388 -d | yes | no | When invoked together with '-L' should read symbolic links, and doesn't
345 -f | no | no | 389 -f | no | no |
346 -g | no | no | 390 -g | no | no |
347 -i | yes | | 391 -i | yes | yes |
348 -k | yes | | 392 -k | yes | no | Does something completely unrelated! (Lists security context instead of specifying block size)
349 -l | yes | | 393 -l | yes | yes |
350 -m | no | no | 394 -m | no | no |
351 -n | yes | | 395 -n | yes | no | Works correctly only together with '-l' (but POSIX requires '-l' to be implicitly assumed)
352 -o | no | no | 396 -o | no | no |
353 -p | yes | | 397 -p | yes | yes |
354 -q | no | no | 398 -q | no | no |
355 -r | yes | | 399 -r | yes | yes |
356 -s | yes | | 400 -s | yes | yes |
357 -t | yes | | 401 -t | yes | yes |
358 -u | yes | | 402 -u | yes | yes |
359 -x | yes | | 403 -x | yes | yes |
360ls Busybox specific options: 404ls Busybox specific options:
361 --color, -T NUM, -K, -X, -Z, -e, -h, -v, -w NUM 405 --color, -T NUM, -K, -X, -Z, -e, -h, -v, -w NUM
362 406
@@ -372,8 +416,8 @@ mesg Busybox specific options: None
372 416
373mkdir POSIX options 417mkdir POSIX options
374 option | exists | compliant | remarks 418 option | exists | compliant | remarks
375 -m mode | yes | | 419 -m mode | yes | yes |
376 -p | yes | | 420 -p | yes | yes |
377mkdir Busybox specific options: 421mkdir Busybox specific options:
378 -Z 422 -Z
379 423
@@ -397,13 +441,13 @@ more Busybox specific options: None
397 441
398mv POSIX options 442mv POSIX options
399 option | exists | compliant | remarks 443 option | exists | compliant | remarks
400 -f | yes | | 444 -f | yes | yes |
401 -i | yes | | 445 -i | yes | yes |
402mv Busybox specific options: None 446mv Busybox specific options: None
403 447
404nice POSIX options 448nice POSIX options
405 option | exists | compliant | remarks 449 option | exists | compliant | remarks
406 -n increment | yes | | 450 -n increment | yes | yes |
407nice Busybox specific options: None 451nice Busybox specific options: None
408 452
409nohup POSIX options: None 453nohup POSIX options: None
@@ -428,16 +472,16 @@ patch POSIX options
428 option | exists | compliant | remarks 472 option | exists | compliant | remarks
429 -D define | no | no | 473 -D define | no | no |
430 -N | no | no | 474 -N | no | no |
431 -R | yes | | 475 -R | yes | yes |
432 -b | no | no | 476 -b | no | no |
433 -c | no | no | 477 -c | no | no |
434 -d dir | no | no | 478 -d dir | no | no |
435 -e | no | no | 479 -e | no | no |
436 -i patchfile | yes | | 480 -i patchfile | yes | yes |
437 -l | no | no | 481 -l | no | no |
438 -n | no | no | 482 -n | no | no |
439 -o outfile | no | no | 483 -o outfile | no | no |
440 -p num | yes | | 484 -p num | yes | yes |
441 -r rejectfile | no | no | 485 -r rejectfile | no | no |
442 -u | no | no | 486 -u | no | no |
443patch Busybox specific options: None 487patch Busybox specific options: None
@@ -471,23 +515,23 @@ pwd Busybox specific options: None
471 515
472renice POSIX options 516renice POSIX options
473 option | exists | compliant | remarks 517 option | exists | compliant | remarks
474 -g | yes | | 518 -g | yes | yes |
475 -n increment | yes | | 519 -n increment | yes | yes | Note POSIX allows only to run with this option (busybox also allows to run without '-n' and set niceness directly)
476 -p | yes | | 520 -p | yes | yes |
477 -u | yes | | 521 -u | yes | yes |
478renice Busybox specific options: None 522renice Busybox specific options: None
479 523
480rm POSIX options 524rm POSIX options
481 option | exists | compliant | remarks 525 option | exists | compliant | remarks
482 -R | yes | | 526 -R | yes | yes |
483 -f | yes | | 527 -f | yes | yes |
484 -i | yes | | 528 -i | yes | yes |
485 -r | yes | | 529 -r | yes | yes |
486rm Busybox specific options: None 530rm Busybox specific options: None
487 531
488rmdir POSIX options 532rmdir POSIX options
489 option | exists | compliant | remarks 533 option | exists | compliant | remarks
490 -p | yes | | 534 -p | yes | yes |
491rmdir Busybox specific options: 535rmdir Busybox specific options:
492 --parents 536 --parents
493 537
@@ -512,42 +556,42 @@ sleep Busybox specific options: None
512sort POSIX options 556sort POSIX options
513 option | exists | compliant | remarks 557 option | exists | compliant | remarks
514 -C | no | no | 558 -C | no | no |
515 -b | yes | | 559 -b | yes | yes |
516 -c | yes | | 560 -c | yes | yes |
517 -d | yes | | 561 -d | yes | yes |
518 -f | yes | | 562 -f | yes | yes |
519 -i | yes | | 563 -i | yes | yes | But is not like GNU sort, which isn't! (try to sort 'a\nA\nB\nb' with and without -f)
520 -k keydef | yes | | 564 -k keydef | yes | |
521 -m | no | no | 565 -m | no | no |
522 -n | yes | | 566 -n | yes | yes |
523 -o output | yes | | 567 -o output | yes | yes |
524 -r | yes | | 568 -r | yes | yes |
525 -t char | yes | | 569 -t char | yes | |
526 -u | yes | | 570 -u | yes | yes |
527sort Busybox specific options: 571sort Busybox specific options:
528 -mST, -g, -M, -s, -z 572 -mST, -g, -M, -s, -z
529 573
530split POSIX options 574split POSIX options
531 option | exists | compliant | remarks 575 option | exists | compliant | remarks
532 -a suffix_length | yes | | 576 -a suffix_length | yes | yes |
533 -b n | yes | | 577 -b n | yes | yes |
534 -b nk | yes | | 578 -b nk | yes | yes |
535 -b nm | yes | | 579 -b nm | yes | yes |
536 -l line_count | yes | | 580 -l line_count | yes | yes |
537split Busybox specific options: None 581split Busybox specific options: None
538 582
539strings POSIX options 583strings POSIX options
540 option | exists | compliant | remarks 584 option | exists | compliant | remarks
541 -a | yes | | 585 -a | yes | yes |
542 -n number | yes | | 586 -n number | yes | yes |
543 -t format | no | no | 587 -t format | no | no |
544strings Busybox specific options: 588strings Busybox specific options:
545 -o, -f 589 -o, -f
546 590
547stty POSIX options 591stty POSIX options
548 option | exists | compliant | remarks 592 option | exists | compliant | remarks
549 -a | yes | | 593 -a | yes | yes |
550 -g | yes | | 594 -g | yes | yes |
551stty Busybox specific options: 595stty Busybox specific options:
552 -F DEVICE 596 -F DEVICE
553 597
@@ -561,8 +605,8 @@ tail Busybox specific options:
561 605
562tee POSIX options 606tee POSIX options
563 option | exists | compliant | remarks 607 option | exists | compliant | remarks
564 -a | yes | | 608 -a | yes | yes |
565 -i | yes | | 609 -i | yes | yes |
566tee Busybox specific options: None 610tee Busybox specific options: None
567 611
568test POSIX options: None 612test POSIX options: None
@@ -577,7 +621,7 @@ time Busybox specific options:
577touch POSIX options 621touch POSIX options
578 option | exists | compliant | remarks 622 option | exists | compliant | remarks
579 -a | no | no | 623 -a | no | no |
580 -c | yes | | 624 -c | yes | yes |
581 -d date_time | no | no | 625 -d date_time | no | no |
582 -m | no | no | 626 -m | no | no |
583 -r ref_file | no | no | 627 -r ref_file | no | no |
@@ -587,9 +631,9 @@ touch Busybox specific options: None
587tr POSIX options 631tr POSIX options
588 option | exists | compliant | remarks 632 option | exists | compliant | remarks
589 -C | no | no | 633 -C | no | no |
590 -c | yes | | 634 -c | yes | yes |
591 -d | yes | | 635 -d | yes | yes |
592 -s | yes | | 636 -s | yes | yes |
593tr Busybox specific options: None 637tr Busybox specific options: None
594 638
595true POSIX options: None 639true POSIX options: None
@@ -601,36 +645,36 @@ tty Busybox specific options:
601 645
602uname POSIX options 646uname POSIX options
603 option | exists | compliant | remarks 647 option | exists | compliant | remarks
604 -a | yes | | 648 -a | yes | yes |
605 -m | yes | | 649 -m | yes | yes |
606 -n | yes | | 650 -n | yes | yes |
607 -r | yes | | 651 -r | yes | yes |
608 -s | yes | | 652 -s | yes | yes |
609 -v | yes | | 653 -v | yes | yes |
610uname Busybox specific options: 654uname Busybox specific options:
611 -p 655 -p
612 656
613uncompress POSIX options 657uncompress POSIX options
614 option | exists | compliant | remarks 658 option | exists | compliant | remarks
615 -c | yes | | 659 -c | yes | yes |
616 -f | yes | | 660 -f | yes | yes |
617 -v | no | no | 661 -v | no | no |
618uncompress Busybox specific options: None 662uncompress Busybox specific options: None
619 663
620unexpand POSIX options 664unexpand POSIX options
621 option | exists | compliant | remarks 665 option | exists | compliant | remarks
622 -a | yes | | 666 -a | yes | no | POSIX requires converting two or more spaces to tabs, busybox converts one or more spaces
623 -t tablist | yes | | 667 -t tablist | yes | yes |
624unexpand Busybox specific options: 668unexpand Busybox specific options:
625 --tabs=N, -f, --first-only, --all 669 --tabs=N, -f, --first-only, --all
626 670
627uniq POSIX options 671uniq POSIX options
628 option | exists | compliant | remarks 672 option | exists | compliant | remarks
629 -c | yes | | 673 -c | yes | yes |
630 -d | yes | | 674 -d | yes | yes |
631 -f fields | yes | | 675 -f fields | yes | yes |
632 -s chars | yes | | 676 -s chars | yes | yes |
633 -u | yes | | 677 -u | yes | yes |
634uniq Busybox specific options: 678uniq Busybox specific options:
635 -w N 679 -w N
636 680
@@ -641,7 +685,7 @@ uudecode Busybox specific options: None
641 685
642uuencode POSIX options 686uuencode POSIX options
643 option | exists | compliant | remarks 687 option | exists | compliant | remarks
644 -m | yes | | 688 -m | yes | yes |
645uuencode Busybox specific options: None 689uuencode Busybox specific options: None
646 690
647vi POSIX options 691vi POSIX options
@@ -656,10 +700,10 @@ vi Busybox specific options:
656 700
657wc POSIX options 701wc POSIX options
658 option | exists | compliant | remarks 702 option | exists | compliant | remarks
659 -c | yes | | 703 -c | yes | yes |
660 -l | yes | | 704 -l | yes | yes |
661 -m | no | no | 705 -m | no | no |
662 -w | yes | | 706 -w | yes | yes |
663wc Busybox specific options: 707wc Busybox specific options:
664 -L 708 -L
665 709
@@ -667,7 +711,7 @@ who POSIX options
667 option | exists | compliant | remarks 711 option | exists | compliant | remarks
668 -H | no | no | 712 -H | no | no |
669 -T | no | no | 713 -T | no | no |
670 -a | yes | | 714 -a | yes | no | just shows all
671 -b | no | no | 715 -b | no | no |
672 -d | no | no | 716 -d | no | no |
673 -l | no | no | 717 -l | no | no |
@@ -685,11 +729,11 @@ xargs POSIX options
685 -E eofstr | no | no | 729 -E eofstr | no | no |
686 -I replstr | no | no | 730 -I replstr | no | no |
687 -L number | no | no | 731 -L number | no | no |
688 -n number | yes | | 732 -n number | yes | yes |
689 -p | yes | | 733 -p | yes | yes |
690 -s size | yes | | 734 -s size | yes | yes |
691 -t | yes | | 735 -t | yes | yes |
692 -x | yes | | 736 -x | yes | yes |
693xargs Busybox specific options: 737xargs Busybox specific options:
694 -e[STR], -0, -r 738 -e[STR], -0, -r
695 739