Thanks Gordon.  I agree that starting with Yuri's work probably makes the
most sense.  I'll have a look.  I'm also interested to know if Yuri is
still at Nexenta, and is he interested in continuing to work on this
project?  (I sent him a message to his Nexenta address under separate
cover.)

  - Garrett


On Mon, Jul 14, 2014 at 12:19 PM, Gordon Ross <gordon.r...@nexenta.com>
wrote:

> I think this would be helpful.  I don't have much preference on when it
> happens, but I suspect incrementally will be more practical given our
> limited contributor time.
>
> How about we start by getting the mandoc tools integrated?
> Yurip has that already in our fork of illumos:
> https://github.com/Nexenta/illumos-nexenta/tree/master/usr/src/cmd/mandoc
> (and other changes)
>
> Gordon
>
>
>
>
>
> On Mon, Jul 14, 2014 at 3:05 PM, Garrett D'Amore via illumos-developer <
> develo...@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-developer* | Archives
>> <https://www.listbox.com/member/archive/182179/=now>
>> <https://www.listbox.com/member/archive/rss/182179/21175074-7782178a> |
>> 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