Re: POSIX.1-2013 man pages for review

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Michael, Felix,

On 09/19/2013 01:00 PM, Michael Kerrisk (man-pages) wrote:
i've run a test script[0] using my own manpage viewer[1]
and attached the results. it seems that ~10% of the manpages use some
special groff features. i'd rather see these removed/replaced with something
nroff-compatible.

I just want to check where you're coming from John. You're working on
musl, right? Does musl not use the work from the man-pages project? I
ask, because some of the pieces that your script doesn't like are also
used in the man-pages project. See below.

musl itself does not use the man-pages project currently, as the majority of manpages are very glibc specific. so the posix manpages project is _imo_ currently a much better documentation for the interfaces provided by musl.

i can't remember the exact outcome of the previous discussion on the musl mailing list, ("Linux manpages (was Re: [musl] Request for volunteers)"), but afaik it is unlikely that the man-pages project will be updated as discussed in that thread before musl 1.0 is out.

however, my interest in having the POSIX manpages use portable nroff syntax comes from my endeavor to build a non-bloated musl-based linux system, which will, at least in the basic configuration, feature the below nroff-only manpage viewer, since groff is incredibly bloated (over 4 MB of compressed source code! - in comparison my man.c compiles to a 60 KB statically linked binary) and written in C++ so it's definitely contrary to my goals. (not to talk about that some of the groff features like the tbl preprocessor are just horribly misguided and completely unidiomatic, introducing a completely new language namespace)

as such i'd love to see the POSIX manpages project actually deliver portable manpages, instead of assuming that the full-blown GNU userspace stack is available.



[0] https://github.com/rofl0r/hardcore-utils/blob/master/tests/mantest.sh
[1] https://github.com/rofl0r/hardcore-utils/blob/master/man.c

Looking at your log:

=== status report  ===
total manpages        : 1143
buggy manpages        : 137
total failures        : 406
unique failures       : 12

bug list:
     122 **** Unknown formatter command: .ne

Not sure about this one. From groff(7):

        .ne       Need a one-line vertical space.
        .ne N     Need N vertical space (default scaling indicator v).

I'm not sure about the circumstances where these are being applied. Felix?

     106 **** Unknown formatter command: .TS
     106 **** Unknown formatter command: .TE

These two are heavily used for tables in the man-pages project itself.
What's the problem/alternative?

the problem is A) that it requires groff's tbl preprocessor, which in turn requires the full groff install, and B) that the tag cannot simply be ignored becaused the content embedded into those tags follows a completely random new syntax - example:
http://www.podgrid.org/linux-bible/linux-bible-page607.html

the alternative is to apply the tbl preprocessor before shipping the manpages and instead include the preprocessed output (cleaned up from groffisms as well)

as for the other groff specific formatter commands, i am refering to Felix' response: all of them can either be left away or in case of tbl and eqn the preprocessed source used instead.

Thanks,
--JS
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux