NOPORTDOCS and man/info pages

Andrew Pantyukhin infofarmer at
Sat Oct 13 01:28:14 PDT 2007

On Fri, Oct 12, 2007 at 09:54:36AM -0400, Chess Griffin wrote:
> Hello-
> I am working on some small cleanup patches to a couple port Makefiles
> and had a few questions on how to handle man/info pages.  
> I have come across a couple Makefiles that have something like this in
> post-install:
> .if defined(NOPORTDOCS)
> ...
> .else
> MAN1=	portname.1
> INFO=	portname
> .endif
> It's my understanding after reading 5.9, 5.10, and 5.14.4 of the
> Porter's Handbook that the man and info page variables should be
> listed in the first part of the Makefile, before the .include
> <> or .include <> for example.  It also
> states in 5.14.4 that "Note:  NOPORTDOCS only controls additional
> documentation installed in DOCSDIR.  It does not apply to standard man
> page and info pages."  This statement seems to indicate that the above
> snippet would still install the man/info pages even if NOPORTDOCS was
> set.    
> I have also seen where the manpage and info page are then also listed
> in pkg-plist, which I gather should not be the case according to 5.9
> of the Porter's Handbook.
> So, my questions are:
> Is the above handling of the man and info pages correct?  It seems the
> answer is no, but just thought I would check.

Not really, but I guess there may be some special cases that
warrant the handling (e.g. megabytes of manpages, etc.)

> How does one choose not to install man and info pages if NOPORTDOCS
> does not apply to them?  I seem to recall that there is a
> NO_INSTALL_MANPAGES knob but am not sure if that's the answer or if there

Some people tried to respect some knobs, but in general we just
always install manpages. As for infopages, we usually only
install them when there are no manpages or if the manpages are

> Is is correct procedure to never include man and info pages in the
> pkg-plist like Porter's Handbook states?

Sometimes it's necessary to list manpages in plist. E.g. when
there are different sets of manpages for different languages.
MANLANG and MAN# can only handle one set across all languages.

More information about the freebsd-ports mailing list