NetBSD-Users archive

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

Re: Request to reconsider removal of groff from base system



On Tue 07 Apr 2015 at 20:19:55 +0200, Rhialto wrote:
> On Tue 07 Apr 2015 at 13:57:45 +0200, carsten.kunze%arcor.de@localhost wrote:
> > > Again this is an enhancement? Can mandoc handle tbl and pic input?
> > 
> > It can handle tbl input. I'm not shure about pic but there may not be
> > many manpages using pic.
> 
> Various X manual pages are mishandled in NetBSD 6. I looked though them
> quicky and among them are Fc* with ".fi" in the formatted output
> in the SYNOPSIS and here and there some missing other stuff:

I received a response from the upstream maintainer of mandoc.
In summary: there are quite some things in NetBSD base that could/should
be updated to more current versions. See below for the full response.

=== start of quote.

Date: Fri, 17 Apr 2015 12:34:15 +0200
From: Ingo Schwarze <schwarze%usta.de@localhost>
Subject: Re: Request to reconsider removal of groff from base system

Hi Rhialto,

Carsten Kunze forwarded the following posting to me, and i now found
time to investigate.  You discovered a large number of issues with
NetBSD, but so far i found nothing that would need to be fixed in
mandoc.

> Von:     Rhialto <rhialto%falu.nl@localhost>
> An:      carsten.kunze%arcor.de@localhost
> Datum:   07.04.2015 20:19
> Betreff: Re: RE: Re: Re: Request to reconsider removal of groff from base
>  system
> 
[...]
> Various X manual pages are mishandled in NetBSD 6. I looked though them
> quicky and among them are Fc* with ".fi" in the formatted output
> in the SYNOPSIS and here and there some missing other stuff:
> 
> FcConfigGetFonts(3)                                 FcConfigGetFonts(3)
> 
> NAME
>        FcConfigGetFonts - Get config font set

In NetBSD 6.1.5, this manual page is hopelessly outdated.  The first
line of this manual page reads, in NetBSD 6.1.5:

  .TH "FcConfigGetFonts" "3" "18 November 2009" "" ""

In OpenBSD-current, it reads:

  .TH "FcConfigGetFonts" "3" "24 3 2014" "Fontconfig 2.11.1" ""

So that is out of date by about five years.

> SYNOPSIS
>        #include <fontconfig.h>

Besides, there is a comment before the first line:

  .\\" auto-generated by docbook2man-spec $Revision: 1.1.1.2 $

The DocBook toolbox is notorious for generating man(7) code of
abysmal quality.  Here is a list of formatting errors in this
twenty-line manual page:

  line 1: invalid comment syntax: .\\" instead of .\"
  line 9/10: wrong content: closing parenthesis, semicolon,
    line break, and opening parenthesis before the second
    argument of a function prototype
  line 11: invalid roff syntax: font escape before request
    control character: \fR.fi
  line 15: formatting error: full stop (at the end of a sentence)
    escaped by \& and not followed by a line break
  line 19: redundant macro: .PP right after .SH

In particular, modern groff, Heirloom troff, and mandoc agree that
correct rendering for lines 9/10 is:

>        FcFontSet * FcConfigGetFonts(FcConfig *config);
>        (FcSetName set);

Modern groff and mandoc agree that correct rendering for line 11 is:

>        .fi

The very first sentence of the REFERENCE MANUAL section of the
Ossanna/Kernighan/Ritter Heirloom Troff manual reads:

  1.1. Form of input.
  Input consists of text lines, which are destined to be printed,
  interspersed with control lines, which set parameters or otherwise
  control subsequent processing.  Control lines begin with a control
  character - normally . (period) or ' (acute accent) - followed
  by a name that specifies a basic request or the substitution of
  a user-defined macro in place of the control line.

Consequently, i consider it a bug in Heirloom troff that Heirloom
troff does not print out ".fi".

If i'm reading the NetBSD CVS correctly, NetBSD 6.1.5 contains
groff-1.19.2, which is outdated by almost a decade.  While i do
know that modern groff is GPL v3 which may not be acceptable for
NetBSD base (but probably isn't a problem for pkgsrc), the
ancient groff contained in NetBSD 6.1.5 base definitely contains
lots and lots of bugs that have since been fixed upstream.
I no longer have any installation of groff-1.19 so i can't
easily check whether that is pertinent to the particular problem
you report.

Finally, again if i read NetBSD CVS correctly, NetBSD 6.1.5 contains
mandoc-1.11.1 which is outdated by four years now; there have been
fourteen (!) newer releases of mandoc.  Even the mandoc-1.12.3 in
NetBSD-current is outdated by more than a full year and four newer
mandoc releases.

It looks like NetBSD might have a general tendency to contain
seriously obsolete versions of third-party software in base...  :-(

> and XAllocSizeHints(3) and I think some other pages cntain mishandled
> tables or somesuch:

I will continue investigation and reply to the other issues you
reported in separate mail.

In any case, thanks for reporting.  If you think i overlooked
anything of relevance and/or there *are* bugs in mandoc-current,
please state more precisely what mandoc-current should do in
which exact situation, and what you observe it does instead.

[...]
> Either these pages are invalid mandoc or the formatter is not
> complete.  Either way something needs to be fixed.

Most definitely!  At least update software contained in NetBSD
base to recent versions, if nothing else...

Yours,
  Ingo  (upstream maintainer of portable mandoc)

-- 
Ingo Schwarze <schwarze%mdocml.bsd.lv@localhost>

=== end of quote.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl    -- 'this bath is too hot.'

Attachment: pgpr5wrII4hau.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index