Page MenuHomeFreeBSD

graphics/openexr: Don't abuse DOCS for MANPAGES
Needs RevisionPublic

Authored by michaelo on Sun, Jun 29, 8:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Unknown Object (File)
Tue, Jul 8, 5:50 PM
Subscribers
None

Details

Reviewers
jrm
otis
mandree
Summary

PR: 287652
Approved by: jrm (mentor), otis (mentor) mandree (maintainer)

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 65128
Build 62011: arc lint + arc unit

Event Timeline

michaelo created this revision.
mandree requested changes to this revision.Sun, Jun 29, 9:48 PM

Thanks for the contribution, but I think this arrives too early (unless I've missed documentation, and I believe I checked the usual places).

In particular, I reject the word "abuse" in the context of making manual page installation conditional on DOCS - what do you base this assessment on?

I understand some people may want to split MANPAGES out of DOCS, but I do not yet see any reasoning why we need to do that.
We've had many years where NOPORTDOCS, or undefining the DOCS option, also avoided manual pages (which usually serves the purpose on machines not used interactively), and how would established practice be "abuse"?

MANPAGES as knob also is not documented at all, unlike DOCS. I don't consider this an official knob yet. More or less the only reference is this line shown below, which is a common help line if and only if MANPAGES is in a port's OPTIONS_DEFINE list. I cannot find anything in the online porter's handbook or CHANGES or UPDATING or Mk/bsd.port.mk. I think this deserves a formal discussion on whether we want to pursue this, and if we decide that way, we need docs in place first.

/usr/ports/Mk/bsd.options.desc.mk
328:MANPAGES_DESC?=             Build and/or install manual pages
This revision now requires changes to proceed.Sun, Jun 29, 9:48 PM

Thanks for the contribution, but I think this arrives too early (unless I've missed documentation, and I believe I checked the usual places).

I don't understand this.

In particular, I reject the word "abuse" in the context of making manual page installation conditional on DOCS - what do you base this assessment on?

Looking at the ports tree only a few < 20 ports install manpages with docs, everyone else uses either MANPAGES or nothing. This is just a consistency cleanup. I am not attached to the word 'abuse' and don't want to go into political discussions. If you feel better I can change it to whatever you like.

I understand some people may want to split MANPAGES out of DOCS, but I do not yet see any reasoning why we need to do that.
We've had many years where NOPORTDOCS, or undefining the DOCS option, also avoided manual pages (which usually serves the purpose on machines not used interactively), and how would established practice be "abuse"?

MANPAGES as knob also is not documented at all, unlike DOCS. I don't consider this an official knob yet. More or less the only reference is this line shown below, which is a common help line if and only if MANPAGES is in a port's OPTIONS_DEFINE list. I cannot find anything in the online porter's handbook or CHANGES or UPDATING or Mk/bsd.port.mk. I think this deserves a formal discussion on whether we want to pursue this, and if we decide that way, we need docs in place first.

/usr/ports/Mk/bsd.options.desc.mk
328:MANPAGES_DESC?=             Build and/or install manual pages

Splitting does make sense if you look what amount of stuff DOCS installs compared to MANPAGES. One example is lang/rust. DOCS are abysmal. Also for those who deploy on servers they usually want to retain manpages, don't access documentation mostly through a browser. There are likely other usecases.

If you think that MANPAGES should be official, though the description has been there for a long time, feel free to raise a discussion on the approriate mailing list.

I just spotted those ports by coincidence and decided that their options behavior should be consistent with those which use MANPAGES for manpages.

Comparison:

osipovmi@deblndw011x:~/var/Projekte/freebsd/ports (main =)
$ grep -r --include='*pkg-plist*' /man/  . | grep -v MANPAGES | cut -f 1 -d :  | sort -u | wc -l
    3970
osipovmi@deblndw011x:~/var/Projekte/freebsd/ports (main =)
$ grep -r --include='*pkg-plist*' /man/  . | grep  MANPAGES | cut -f 1 -d :  | sort -u | wc -l
     136
osipovmi@deblndw011x:~/var/Projekte/freebsd/ports (main =)
$ grep -r --include='*pkg-plist*' /man/  . | grep -v MANPAGES | grep -v DOCS |  cut -f 1 -d :  | sort -u | wc -l
    3910

This means that we either should use MANPAGES consistently or remove it straight away.

@mandree, how to proceed here?

Get things around MANPAGES formally documented first. CHANGES, Mk/bsd.port.mk or thereabouts, and the porter's handbook, or show me where all these documentation is to be found.
We can't sustain using features that aren't documented and just "everybody just does it".

MANPAGES is a new invention and we used to use DOCS. I understand the motivation to split things up and leave out documentation (which is a non-issue for openexr because the documentation is in a separate port in order to solve a circular dependency), but if we don't document this properly in the porter's handbook and CHANGES, then we'll sooner or later run into inconsistencies. We've been there before.

And I'm not the proponent of switching my port to some undocumented feature of the ports tree, so I'm also not the one making the proposals and getting the decisions.