If illumos switches to mandoc, It would be great to unify the ZFS manpages
(zfs.1m, zpool.1m, zpool-features.5, zdb.1m, zstreamdump.1m) on illumos and
FreeBSD (at least the majority of the content could be the same).

The ZFS on Linux project uses the roff-style manpages like illumos
currently does.  I wonder if they could/would switch to mandoc too.

--matt


On Mon, Jul 14, 2014 at 12:05 PM, Garrett D'Amore via illumos-discuss <
discuss@lists.illumos.org> wrote:

> (Sorry for the cross post, but this proposal potentially impacts a bunch
> of folks, so I want to get it out here.  Please read and respond only after
> you've read, and only if you have specific concerns with this proposal.
>  Please send your +1's to /dev/null. :-)
>
> For a variety of reasons, I'm proposing that we import mandoc (see
> http://mdocml.bsd.lv for details) into illumos, and move to using mdoc
> for formatting man pages.
>
> The reasons for this are:
>
> a) mdoc supports simpler, cleaner, semantic (instead of physical) markup.
>  This can lead to much greater consistency between pages.  (Our markup is
> horribly inconsistent, and the auto-generated -- from SGML -- portion of it
> is nigh unreadable.)
>
> b) mandoc is now mature and widely used (all the BSDs use it, and have for
> many years.  The markup language is ~20 years old.)
>
> c) it will facilitate collaboration between BSD groups and illumos -- we
> already collaborate quite a bit, but this will just make it that much
> easier.
>
> d) mandoc toolset is nice and small -- simpler than *roff and co.  Very
> lightweight
>
> e) mandoc supports native generation of PDF, PostScript, HTML, and text.
>
> f) There are folks actually continuing to sustain and improve this tool
> chain.  Solaris (err AT&T) derived troff and nroff by comparison are
> practically dead, and almost undebuggable with horrible code written back
> when linkers didn't support symbols with more than 6 characters in them.
>
> g) mandoc can format man(5) pages as well.  So importing from foreign
> sources should be straight-forward.
>
> h) mandoc supports formatting pages for specific locales and byte
> encodings.  (So pages can be written for zh_CN.UTF-8 or whatever, presuming
> someone steps up to perform such a translation or authoring.)  (Legacy
> troff tools like tbl are not CSI capable.)
>
> Yuri Pankov did a lot of work on this already, and assuming he's agreeable
> and still has the work handy, I'd like to use that a basis for the import.
>
> Ideally I'd like to convert all of the pages we have in illumos to mdoc
> semantic markup.  That will address the inconsistencies in the pages giving
> us much more uniform markup and display.  It also will make it easier
> (lots!) to maintain them.  As someone who recently went through a huge
> swath of man page edits (libc locale stuff), I would have loved to have a
> simpler semantic markup.  Dealing with our physical markup is incredibly
> tedious and error prone.
>
> It's an outstanding question as to whether we do these incrementally or
> all at once.  I'm willing to go either way.  Obviously incremental
> improvement is *easier*, but with less immediate benefit.
>
> The other item of note is our ATTRIBUTES section and table.  I'd really
> like to nuke these tables (they are some of the worst for consistency in
> markup and even content).  I'd propose that in order to avoid losing the
> data there, we create the following new sections: ARCHITECTURE, CSI,
> INTERFACE STABILITY, MT-LEVEL, and STANDARD.  (Actually I might rename
> these as: ARCHITECTURE, CODE SET INDEPENDENCE, INTERFACE STABILITY,
> MULTITHREADED SAFETY, and STANDARDS.  (Possibly STANDARDS could be omitted
> entirely since almost every reference to it in existing pages simply points
> users to standards(5) instead of providing any useful content directly in
> the page.)
>
> As to man(1) and compatibility; it is my intention that we retain the same
> user interface for man(1), apropos(1), and whatis(1) -- or at least one
> that is upwardly compatible.  This may be achieved by several approaches --
> either ensuring the mandoc version of man(1) supports all of our usages
> (enhancing it as needed), or perhaps more simply just gutting our man(1)
> and making it call mandoc(1) for formatting.  (This last is probably a much
> simpler and safer way to go.)  End users shouldn't notice, really, except
> for trivial differences in formatted output.  I'm open to the idea that we
> don't need to retain any compatibility of makewhatis(1m), or the
> database(s) themselves (the windex files).
>
> I am specifically suggesting that any support SGML markup be tossed.
>  (Actually, that has mostly already happened -- we don't support sgml2roff
> anymore, although man(1) seems to have some of the legacy support still in
> it.)
>
> I'm also not proposing to support pre formatted man pages.  Does anyone
> use those?
>
> Likewise, man.cf seems to be undocumented, and is not even present on my
> system.  I wonder, do people use/depend on it?
>
>   - Garrett
> *illumos-discuss* | Archives
> <https://www.listbox.com/member/archive/182180/=now>
> <https://www.listbox.com/member/archive/rss/182180/21175667-2019e749> |
> Modify
> <https://www.listbox.com/member/?&;>
> Your Subscription <http://www.listbox.com>
>



-------------------------------------------
illumos-discuss
Archives: https://www.listbox.com/member/archive/182180/=now
RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4
Powered by Listbox: http://www.listbox.com

Reply via email to