Hey,

Here is some work David and I have done to further improve compliance table.
Please commit them.

Thanks in advance
David and Max
From 5ab6e9f420402e5b3941606164f8ef67e6c6b358 Mon Sep 17 00:00:00 2001
From: Dmitry Krakov <[email protected]>
Date: Thu, 11 Jun 2009 16:57:32 +0300
Subject: [PATCH] Add a few utilities to posix conformance listing (notice bug in unexpand)

Signed-off-by: David Krakov <[email protected]>
---
 docs/posix_conformance.txt |   82 ++++++++++++++++++++++----------------------
 1 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/docs/posix_conformance.txt b/docs/posix_conformance.txt
index 5f16809..117dfb7 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..).
@@ -529,25 +529,25 @@ sort Busybox specific options:
 
 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 +561,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 +577,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 +587,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 +601,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 +641,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 +656,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 +667,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 +685,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
 
-- 
1.5.6.5

From 6ab7c923aa70811d654b6ac416044c1a0d8f15e2 Mon Sep 17 00:00:00 2001
From: Maxim Panasenkov <[email protected]>
Date: Thu, 11 Jun 2009 18:07:35 +0300
Subject: [PATCH] Passed manually over some utils and their flags for conformance

Signed-off-by: Maxim Panasenkov <[email protected]>
---
 docs/posix_conformance.txt |  100 +++++++++++++++++++++++++++++++------------
 1 files changed, 72 insertions(+), 28 deletions(-)

diff --git a/docs/posix_conformance.txt b/docs/posix_conformance.txt
index 5f16809..1888fe8 100644
--- a/docs/posix_conformance.txt
+++ b/docs/posix_conformance.txt
@@ -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
@@ -217,9 +243,27 @@ expand POSIX options
 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
-- 
1.5.6.5

From 4eabd2dc43848a39f4ff8e1e76047a10ff35b48b Mon Sep 17 00:00:00 2001
From: Dmitry Krakov <[email protected]>
Date: Thu, 11 Jun 2009 18:08:35 +0300
Subject: [PATCH] Added documentation for posix conformance (notice problems at 'ls')

Signed-off-by: David Krakov <[email protected]>
---
 docs/posix_conformance.txt |  118 ++++++++++++++++++++++----------------------
 1 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/docs/posix_conformance.txt b/docs/posix_conformance.txt
index 117dfb7..8ba4817 100644
--- a/docs/posix_conformance.txt
+++ b/docs/posix_conformance.txt
@@ -213,7 +213,7 @@ 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
 
@@ -233,9 +233,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 +271,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 +317,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 +331,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 +372,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 +397,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 +428,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 +471,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,18 +512,18 @@ 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
 
-- 
1.5.6.5

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to