• David Krakov's avatar
    POSIX conformance documentation for busybox · 29ec1160
    David Krakov authored
    Attached a start for POSIX conformance documentation for busybox (see
    TODO file and discussion last week).
    A table of all options as defined by POSIX and as implemented by
    busybox (see for a FreeBSD example
    http://people.freebsd.org/~schweikh/posix-utilities.html).
    
    Only the tools that are stand-alone applets are documented (not ash
    built-ins as 'read'), as there are multiple shells.
    When there are two versions (echo) the stand-alone version was
    checked. I think this may be the wrong way to go, as most users will
    probably use the built-in version - but which shell?
    
    The table was auto-generated by running, for each POSIX utility,
    latest git allyesconfig* "busybox <tool> --help" and parsing the
    output, and comparing that to tool options extracted from its man page
    at http://www.opengroup.org/onlinepubs/9699919799/
    
    .
    This means that it the usage string is not correct, the table is also
    wrong. I noticed that for 'kill', for example, the usage string does
    not mention the -s, -q, -o options.
    For each option is set whether it exists in busybox and if it is, is
    it compliant to the standard. Of course, checking compliance can only
    be done manually - a process which will probably take some time (see
    'cat' for example).
    
    I didn't post the auto-generation script (python, ugly) because the
    table will now change manually; I can post it if there is anyone
    interested.
    
    As for the tools not implemented by busybox at all, I think most of
    them are indeed fairly esotetic. Some I was suprised to see missing
    are link, file, newgrp, unlink.
    
    * Well, almost allyesconfig - but nothing very POSIX-y was disabled.
    Signed-off-by: default avatarDavid Krakov <krakov@gmail.org>
    Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
    29ec1160
posix_conformance.txt 22.8 KB