Magellan Linux

Contents of /trunk/mkinitrd-magellan/busybox/docs/posix_conformance.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 984 - (show annotations) (download)
Sun May 30 11:32:42 2010 UTC (13 years, 11 months ago) by niro
File MIME type: text/plain
File size: 25535 byte(s)
-updated to busybox-1.16.1 and enabled blkid/uuid support in default config
1
2 Busybox POSIX conformance table
3
4 See POSIX documentation (1003.1-2008) here:
5 http://www.opengroup.org/onlinepubs/9699919799/
6 And the complete list of all utilities that POSIX covers:
7 http://www.opengroup.org/onlinepubs/9699919799/idx/utilities.html
8
9 This listing is a work in progress, and currently only covers
10 tool options (not operands, environment variables, return codes, etc..).
11 For each option it is set if it (a) exists and (b) compliant to POSIX 2008.
12 Some options exist but there is no value in the 'compliant' column: that
13 means no one has yet bothered to make sure that the option does what it is
14 required to do.
15
16 -----------------------------------------------
17
18 POSIX Tools supported only as shell built-ins (ash shell):
19 alias, bg, cd, fg, getopts, hash, jobs, read, type, umask, ulimit,
20 unalias, wait, write
21
22 POSIX Tools not supported:
23 asa, at, batch, bc, c99, command, compress, csplit, ex, fc, file,
24 gencat, getconf, iconv, join, link, locale, localedef, lp, m4,
25 mailx, newgrp, nl, paste, pathchk, pax, pr, qalter, qdel, qhold, qmove,
26 qmsg, qrerun, qrls, qselect, qsig, qstat, qsub, tabs, talk, tput,
27 tsort, unlink, uucp, uustat, uux
28
29 POSIX Tools not supported (DEVELOPMENT):
30 admin, cflow, ctags, cxref, delta, fort77, get, lex, make, nm, prs, rmdel,
31 sact, sccs, strip, unget, val, what, yacc
32
33
34 POSIX Tools supported:
35
36 Note: echo, printf, kill, pwd documented here as stand-alone applets,
37 not as ash built-ins.
38
39
40 ar POSIX options ********************* Failed to recognize zip & tar (did not compare to regular ar)
41 option | exists | compliant | remarks
42 -C | no | no |
43 -T | no | no |
44 -a | no | no |
45 -b | no | no |
46 -c | no | no |
47 -d | no | no |
48 -i | no | no |
49 -m | no | no |
50 -p | yes | |
51 -q | no | no |
52 -r | no | no |
53 -s | no | no |
54 -t | yes | |
55 -u | no | no |
56 -v | yes | |
57 -x | yes | |
58 ar Busybox specific options:
59 -o
60
61 awk POSIX options
62 option | exists | compliant | remarks
63 -F ERE | yes | |
64 -f progfile | yes | |
65 -v assignment | yes | |
66 awk Busybox specific options: None
67
68 basename POSIX options: None
69 basename Busybox specific options: None
70
71 cal POSIX options: None
72 cal Busybox specific options:
73 -y, -j
74
75 cat POSIX options
76 option | exists | compliant | remarks
77 -u | yes | no | option is ignored
78 cat Busybox specific options: None
79
80 chgrp POSIX options
81 option | exists | compliant | remarks
82 -H | yes | |
83 -L | yes | |
84 -P | yes | |
85 -R | yes | |
86 -h | yes | |
87 chgrp Busybox specific options:
88 -f, -c, -v
89
90 chmod POSIX options
91 option | exists | compliant | remarks
92 -R | yes | yes |
93 chmod Busybox specific options:
94 -f, -v, -c
95
96 chown POSIX options *********************************************
97 option | exists | compliant | remarks
98 -H | yes | | It seems like all flags are supported (according to printout), but
99 -L | yes | | it fails to work on my machine
100 -P | yes | |
101 -R | yes | |
102 -h | yes | |
103 chown Busybox specific options:
104 -f, -c, -v
105
106 cksum POSIX options: None
107 cksum Busybox specific options: None
108
109 cmp POSIX options
110 option | exists | compliant | remarks
111 -l | yes | yes |
112 -s | yes | yes |
113 cmp Busybox specific options:
114
115
116 comm POSIX options
117 option | exists | compliant | remarks
118 -1 | yes | yes |
119 -2 | yes | yes |
120 -3 | yes | yes |
121 comm Busybox specific options: None
122
123 cp POSIX options
124 option | exists | compliant | remarks
125 -H | yes | yes |
126 -L | yes | yes |
127 -P | yes | yes |
128 -R | yes | yes |
129 -f | yes | yes |
130 -i | yes | yes |
131 -p | yes | yes |
132 cp Busybox specific options:
133 -d, -a, -s, -c, -r, -l
134
135 crontab POSIX options
136 option | exists | compliant | remarks
137 -e | yes | |
138 -l | yes | |
139 -r | yes | |
140 crontab Busybox specific options:
141 -u, -c
142
143 cut POSIX options
144 option | exists | compliant | remarks
145 -b list | yes | yes |
146 -c list | yes | yes |
147 -d delim | yes | yes |
148 -f list | yes | yes |
149 -n | yes | yes |
150 -s | yes | yes |
151 cut Busybox specific options: None
152
153 date POSIX options
154 option | exists | compliant | remarks
155 -u | yes | yes |
156 date Busybox specific options:
157 -I[SPEC], -d TIME, -r FILE, -R, -D FMT
158
159 dd 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 | |
181 dd Busybox specific options:
182 conv=fsync
183
184 df POSIX options
185 option | exists | compliant | remarks
186 -P | yes | yes |
187 -k | yes | yes |
188 -t | no | no |
189 df Busybox specific options:
190 -a, -m, -B SIZE, -i, -h
191 Remark:
192 - It seems that GNU df does not round percents up in its output (thus its results are a bit different)
193
194 diff POSIX options
195 option | exists | compliant | remarks
196 -C n | no | no |
197 -U n | yes | |
198 -b | yes | |
199 -c | no | no |
200 -e | no | no |
201 -f | no | no |
202 -r | yes | |
203 -u | no | no |
204 diff Busybox specific options:
205 -d, -a, -s, -t, -L, -N, -i, -T, -w, -q, -S
206
207 dirname POSIX options: None
208 dirname Busybox specific options: None
209
210 du POSIX options
211 option | exists | compliant | remarks
212 -H | yes | |
213 -L | yes | |
214 -a | yes | |
215 -k | yes | |
216 -s | yes | |
217 -x | yes | |
218 du Busybox specific options:
219 -c, -m, -h, -d N, -l
220
221
222 echo POSIX options: None
223 option | exists | compliant | remarks
224 -n | yes | yes | The result of -n is "implementation-defined"
225 echo Busybox specific options:
226 -e, -E
227
228 ed POSIX options
229 option | exists | compliant | remarks
230 -p string | no | no |
231 -s | no | no |
232 ed Busybox specific options: None
233
234 env POSIX options
235 option | exists | compliant | remarks
236 -i | no | no |
237 env Busybox specific options:
238 -u, -, -i
239
240 expand POSIX options
241 option | exists | compliant | remarks
242 -t tablist | yes | yes |
243 expand Busybox specific options:
244 --tabs=N, -i, --initial
245
246 expr POSIX operations:
247 option | exists | compliant | remarks
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 |
265 expr Busybox specific operations:
266 match, substr, index, length, quote
267
268 false POSIX options: None
269 false Busybox specific options: None
270
271 find POSIX options
272 option | exists | compliant | remarks
273 -H | no | no |
274 -L | no | no |
275 find Busybox specific options:
276 -group NAME, -mtime DAYS, -print, -maxdepth N, -exec CMD ARG ;, -newer FILE, -context, -iname PATTERN, -follow, -depth, -xdev, -inum N, -type X, -print0, -mindepth N, -mmin MINS, -regex PATTERN, -prune, -path PATTERN, -user NAME, -delete, -perm NNN, -name PATTERN, -size N[bck]
277
278 fold POSIX options
279 option | exists | compliant | remarks
280 -b | yes | yes |
281 -s | yes | yes |
282 -w width | yes | yes |
283 fold Busybox specific options: None
284
285 fuser POSIX options
286 option | exists | compliant | remarks
287 -c | no | no |
288 -f | no | no |
289 -u | no | no |
290 fuser Busybox specific options:
291 -m, -k, -4, -SIGNAL, -6, -s
292
293 grep POSIX options
294 option | exists | compliant | remarks
295 -E | yes | |
296 -F | yes | |
297 -c | yes | |
298 -e pattern_list | yes | |
299 -f pattern_file | yes | |
300 -i | yes | |
301 -l | yes | |
302 -n | yes | |
303 -q | yes | |
304 -s | yes | |
305 -v | yes | |
306 -x | no | no |
307 grep Busybox specific options:
308 -A, -C, -B, -L, -H, -o, -h, -w, -r, -z, -m MAX
309
310 head POSIX options
311 option | exists | compliant | remarks
312 -n number | yes | yes |
313 head Busybox specific options:
314 -v, -c NUM, -q
315
316 id POSIX options
317 option | exists | compliant | remarks
318 -G | yes | yes |
319 -g | yes | yes |
320 -n | yes | yes |
321 -r | yes | yes |
322 -u | yes | yes |
323 id Busybox specific options:
324 -Z
325
326 ipcrm POSIX options
327 option | exists | compliant | remarks
328 -M shmkey | no | no |
329 -Q msgkey | no | no |
330 -S semkey | no | no |
331 -m shmid | no | no |
332 -q msgid | no | no |
333 -s semid | no | no |
334 ipcrm Busybox specific options:
335 -mM, -qQ, -sS
336
337 ipcs POSIX options
338 option | exists | compliant | remarks
339 -a | yes | |
340 -b | no | no |
341 -c | yes | |
342 -m | yes | |
343 -o | no | no |
344 -p | yes | |
345 -q | yes | |
346 -s | yes | |
347 -t | yes | |
348 ipcs Busybox specific options:
349 -l, -i, -u
350
351 kill POSIX options
352 option | exists | compliant | remarks
353 -l | yes | yes |
354 -s signal_name | yes | yes |
355 -signal_name | yes | yes |
356 -signal_number | yes | yes |
357 kill Busybox specific options:
358 -q, -o
359
360 ln POSIX options
361 option | exists | compliant | remarks
362 -L | no | no |
363 -P | no | no |
364 -f | yes | yes |
365 -s | yes | yes |
366 ln Busybox specific options:
367 -S suf, -n, -b
368
369 logger POSIX options: None
370 logger Busybox specific options:
371 -p PRIO, -t TAG, -s
372
373 logname POSIX options: None
374 logname Busybox specific options: None
375
376 ls POSIX options
377 option | exists | compliant | remarks
378 -1 | yes | yes |
379 -A | yes | yes |
380 -C | yes | yes |
381 -F | yes | yes | And more: '=' for sockets (not defined by POSIX)
382 -H | no | no |
383 -L | yes | yes | But coloring may be wrong (at least POSIX does not require correct colors :) )
384 -R | yes | yes |
385 -S | yes | yes |
386 -a | yes | yes |
387 -c | yes | no | Sorts output with '-l' (should only show ctime with '-l', and sort only with '-t')
388 -d | yes | no | When invoked together with '-L' should read symbolic links, and doesn't
389 -f | no | no |
390 -g | no | no |
391 -i | yes | yes |
392 -k | yes | no | Does something completely unrelated! (Lists security context instead of specifying block size)
393 -l | yes | yes |
394 -m | no | no |
395 -n | yes | no | Works correctly only together with '-l' (but POSIX requires '-l' to be implicitly assumed)
396 -o | no | no |
397 -p | yes | yes |
398 -q | no | no |
399 -r | yes | yes |
400 -s | yes | yes |
401 -t | yes | yes |
402 -u | yes | yes |
403 -x | yes | yes |
404 ls Busybox specific options:
405 --color, -T NUM, -K, -X, -Z, -e, -h, -v, -w NUM
406
407 man POSIX options
408 option | exists | compliant | remarks
409 -k | no | no |
410 man Busybox specific options:
411 -a Display all pages
412
413
414 mesg POSIX options: None
415 mesg Busybox specific options: None
416
417 mkdir POSIX options
418 option | exists | compliant | remarks
419 -m mode | yes | yes |
420 -p | yes | yes |
421 mkdir Busybox specific options:
422 -Z
423
424 mkfifo POSIX options
425 option | exists | compliant | remarks
426 -m mode | yes | yes |
427 mkfifo Busybox specific options:
428 -Z
429
430 more POSIX options
431 option | exists | compliant | remarks
432 -c | no | no |
433 -e | no | no |
434 -i | no | no |
435 -n number | no | no |
436 -p command | no | no |
437 -s | no | no |
438 -t tagstring | no | no |
439 -u | no | no |
440 more Busybox specific options: None
441
442 mv POSIX options
443 option | exists | compliant | remarks
444 -f | yes | yes |
445 -i | yes | yes |
446 mv Busybox specific options: None
447
448 nice POSIX options
449 option | exists | compliant | remarks
450 -n increment | yes | yes |
451 nice Busybox specific options: None
452
453 nohup POSIX options: None
454 nohup Busybox specific options: None
455
456 od POSIX options
457 option | exists | compliant | remarks
458 -A address_base | no | no |
459 -N count | no | no |
460 -b | no | no |
461 -c | no | no |
462 -d | no | no |
463 -j skip | no | no |
464 -o | no | no |
465 -s | no | no |
466 -t type_string | no | no |
467 -v | no | no |
468 -x | no | no |
469 od Busybox specific options: None
470
471 patch POSIX options
472 option | exists | compliant | remarks
473 -D define | no | no |
474 -N | no | no |
475 -R | yes | yes |
476 -b | no | no |
477 -c | no | no |
478 -d dir | no | no |
479 -e | no | no |
480 -i patchfile | yes | yes |
481 -l | no | no |
482 -n | no | no |
483 -o outfile | no | no |
484 -p num | yes | yes |
485 -r rejectfile | no | no |
486 -u | no | no |
487 patch Busybox specific options: None
488
489 printf POSIX options: None
490 printf Busybox specific options: None
491
492 ps POSIX options
493 option | exists | compliant | remarks
494 -A | no | no |
495 -G grouplist | no | no |
496 -U userlist | no | no |
497 -a | no | no |
498 -d | no | no |
499 -e | no | no |
500 -f | no | no |
501 -g grouplist | no | no |
502 -l | no | no |
503 -n namelist | no | no |
504 -o format | yes | no | not supported: ruser, group, rgroup, pcpu
505 -p proclist | no | no |
506 -t termlist | no | no |
507 -u userlist | no | no |
508 ps Busybox specific options: None
509
510 pwd POSIX options
511 option | exists | compliant | remarks
512 -L | no | no |
513 -P | no | no |
514 pwd Busybox specific options: None
515
516 renice POSIX options
517 option | exists | compliant | remarks
518 -g | yes | 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)
520 -p | yes | yes |
521 -u | yes | yes |
522 renice Busybox specific options: None
523
524 rm POSIX options
525 option | exists | compliant | remarks
526 -R | yes | yes |
527 -f | yes | yes |
528 -i | yes | yes |
529 -r | yes | yes |
530 rm Busybox specific options: None
531
532 rmdir POSIX options
533 option | exists | compliant | remarks
534 -p | yes | yes |
535 rmdir Busybox specific options:
536 --parents
537
538 sed POSIX options
539 option | exists | compliant | remarks
540 -e script | yes | |
541 -f script_file | yes | |
542 -n | yes | |
543 sed Busybox specific options:
544 -i, -r
545
546 sh POSIX options
547 option | exists | compliant | remarks
548 -c | no | no |
549 -i | no | no |
550 -s | no | no |
551 sh Busybox specific options: None
552
553 sleep POSIX options: None
554 sleep Busybox specific options: None
555
556 sort POSIX options
557 option | exists | compliant | remarks
558 -C | no | no |
559 -b | yes | yes |
560 -c | yes | yes |
561 -d | yes | yes |
562 -f | yes | 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)
564 -k keydef | yes | |
565 -m | no | no |
566 -n | yes | yes |
567 -o output | yes | yes |
568 -r | yes | yes |
569 -t char | yes | |
570 -u | yes | yes |
571 sort Busybox specific options:
572 -mST, -g, -M, -s, -z
573
574 split POSIX options
575 option | exists | compliant | remarks
576 -a suffix_length | yes | yes |
577 -b n | yes | yes |
578 -b nk | yes | yes |
579 -b nm | yes | yes |
580 -l line_count | yes | yes |
581 split Busybox specific options: None
582
583 strings POSIX options
584 option | exists | compliant | remarks
585 -a | yes | yes |
586 -n number | yes | yes |
587 -t format | no | no |
588 strings Busybox specific options:
589 -o, -f
590
591 stty POSIX options
592 option | exists | compliant | remarks
593 -a | yes | yes |
594 -g | yes | yes |
595 stty Busybox specific options:
596 -F DEVICE
597
598 tail POSIX options
599 option | exists | compliant | remarks
600 -c number | yes | yes |
601 -f | yes | yes |
602 -n number | yes | yes |
603 tail Busybox specific options:
604 -v, -q, -s SEC
605
606 tee POSIX options
607 option | exists | compliant | remarks
608 -a | yes | yes |
609 -i | yes | yes |
610 tee Busybox specific options: None
611
612 test POSIX options: None
613 test Busybox specific options: None
614
615 time POSIX options
616 option | exists | compliant | remarks
617 -p | no | no |
618 time Busybox specific options:
619 -v
620
621 touch POSIX options
622 option | exists | compliant | remarks
623 -a | no | no |
624 -c | yes | yes |
625 -d date_time | no | no |
626 -m | no | no |
627 -r ref_file | no | no |
628 -t time | no | no |
629 touch Busybox specific options: None
630
631 tr POSIX options
632 option | exists | compliant | remarks
633 -C | no | no |
634 -c | yes | yes |
635 -d | yes | yes |
636 -s | yes | yes |
637 tr Busybox specific options: None
638
639 true POSIX options: None
640 true Busybox specific options: None
641
642 tty POSIX options: None
643 tty Busybox specific options:
644 -s
645
646 uname POSIX options
647 option | exists | compliant | remarks
648 -a | yes | yes |
649 -m | yes | yes |
650 -n | yes | yes |
651 -r | yes | yes |
652 -s | yes | yes |
653 -v | yes | yes |
654 uname Busybox specific options:
655 -p
656
657 uncompress POSIX options
658 option | exists | compliant | remarks
659 -c | yes | yes |
660 -f | yes | yes |
661 -v | no | no |
662 uncompress Busybox specific options: None
663
664 unexpand POSIX options
665 option | exists | compliant | remarks
666 -a | yes | no | POSIX requires converting two or more spaces to tabs, busybox converts one or more spaces
667 -t tablist | yes | yes |
668 unexpand Busybox specific options:
669 --tabs=N, -f, --first-only, --all
670
671 uniq POSIX options
672 option | exists | compliant | remarks
673 -c | yes | yes |
674 -d | yes | yes |
675 -f fields | yes | yes |
676 -s chars | yes | yes |
677 -u | yes | yes |
678 uniq Busybox specific options:
679 -w N
680
681 uudecode POSIX options
682 option | exists | compliant | remarks
683 -o outfile | no | no |
684 uudecode Busybox specific options: None
685
686 uuencode POSIX options
687 option | exists | compliant | remarks
688 -m | yes | yes |
689 uuencode Busybox specific options: None
690
691 vi POSIX options
692 option | exists | compliant | remarks
693 -R | yes | |
694 -c command | yes | |
695 -r | no | no |
696 -t tagstring | no | no |
697 -w size | no | no |
698 vi Busybox specific options:
699 -H
700
701 wc POSIX options
702 option | exists | compliant | remarks
703 -c | yes | yes |
704 -l | yes | yes |
705 -m | no | no |
706 -w | yes | yes |
707 wc Busybox specific options:
708 -L
709
710 who POSIX options
711 option | exists | compliant | remarks
712 -H | no | no |
713 -T | no | no |
714 -a | yes | no | just shows all
715 -b | no | no |
716 -d | no | no |
717 -l | no | no |
718 -m | no | no |
719 -p | no | no |
720 -q | no | no |
721 -r | no | no |
722 -s | no | no |
723 -t | no | no |
724 -u | no | no |
725 who Busybox specific options: None
726
727 xargs POSIX options
728 option | exists | compliant | remarks
729 -E eofstr | no | no |
730 -I replstr | no | no |
731 -L number | no | no |
732 -n number | yes | yes |
733 -p | yes | yes |
734 -s size | yes | yes |
735 -t | yes | yes |
736 -x | yes | yes |
737 xargs Busybox specific options:
738 -e[STR], -0, -r
739
740 zcat POSIX options: None
741 zcat Busybox specific options: None
742