Page MenuHomeFreeBSD

net/samba4{19,20}: Rework manpages handling
ClosedPublic

Authored by michaelo on Sat, Mar 8, 11:02 PM.
Tags
None
Referenced Files
F112485121: D49299.diff
Tue, Mar 18, 4:59 PM
Unknown Object (File)
Fri, Mar 14, 1:30 PM
Unknown Object (File)
Fri, Mar 14, 6:32 AM
Unknown Object (File)
Fri, Mar 14, 4:51 AM
Unknown Object (File)
Thu, Mar 13, 7:40 PM
Unknown Object (File)
Thu, Mar 13, 4:26 PM
Unknown Object (File)
Wed, Mar 12, 10:01 AM
Unknown Object (File)
Tue, Mar 11, 6:33 AM
Subscribers

Details

Summary
  • Rename option MANDOC to MANPAGES to match with other ports and Mk/bsd.options.desc.mk.
  • Remove outdated, incorrect, precompiled manpages from ${FILESDIR}/files/man.
  • Properly disable manpages generation since XSLTPROC was set to true(1), WAF always assumes xsltproc(1) to work and if any automatic dependency pulls in textproc/docbook-xsl, manpages will generated even if explicitly disabled.

PR: 281415
Approved by: jrm (mentor), otis (mentor), vvd, mikael, yasu, kiwi

Diff Detail

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

Event Timeline

This revision is now accepted and ready to land.Mon, Mar 10, 8:50 AM

Do we want to go from installing man pages by default to not installing them by default?

There used to be a section in the Porter's Handbook that said something along the lines of man pages should be unconditionally installed. (If it's still there, I can't find it.) I think options like MANPAGES were added as an exception for when generating the man pages requires some bloated dependency. I recall @mat has strong opinions about this, so I'll add him here.

In D49299#1124382, @jrm wrote:

Do we want to go from installing man pages by default to not installing them by default?

There used to be a section in the Porter's Handbook that said something along the lines of man pages should be unconditionally installed. (If it's still there, I can't find it.) I think options like MANPAGES were added as an exception for when generating the man pages requires some bloated dependency. I recall @mat has strong opinions about this, so I'll add him here.

That's a decent question I asked myself, but didn't dare to change in this review. I can happily reconsider. My personal opinion is that MANPAGES should be default and can be disabled on request.

$ grep -r --include='*/Makefile' OPTIONS_DEFAULT . | grep MANPAGES

gives me 160 hits and

$ grep -r --include='*/Makefile' OPTIONS_DEFINE . | grep MANPAGES

gives me 184 which means that 24 have MANPAGES disabled by default.

These seem MANPAGES not to have on by default:

./audio/libsndfile/Makefile
./databases/ldb25/Makefile
./databases/ldb28/Makefile
./databases/ldb29/Makefile
./databases/libmemcached/Makefile
./databases/pxlib/Makefile
./databases/tdb/Makefile
./databases/tdb1410/Makefile
./deskutils/xdg-desktop-portal/Makefile
./deskutils/xdg-terminal-exec/Makefile
./devel/json-glib/Makefile
./devel/ocaml-dolmen/Makefile
./devel/schilybase/Makefile
./devel/talloc/Makefile
./devel/talloc242/Makefile
./devel/tcllib/Makefile
./devel/tevent/Makefile
./devel/tevent016/Makefile
./devel/universal-ctags/Makefile
./graphics/libavif/Makefile
./math/alt-ergo/Makefile
./multimedia/dvdauthor/Makefile
./ports-mgmt/appstream-generator/Makefile
./security/git-crypt/Makefile
./sysutils/conky/Makefile
./sysutils/gnome-power-manager/Makefile
./sysutils/polkit/Makefile

Suprise, surprise:

$ grep -r --include='*/Makefile' 'XSLTPROC="true"' . | grep MANPAGES
./databases/ldb28/Makefile:MANPAGES_CONFIGURE_ENV_OFF=  XSLTPROC="true"
./databases/tdb/Makefile:MANPAGES_CONFIGURE_ENV_OFF+=   XSLTPROC="true"
./databases/ldb29/Makefile:MANPAGES_CONFIGURE_ENV_OFF=  XSLTPROC="true"
./databases/tdb1410/Makefile:MANPAGES_CONFIGURE_ENV_OFF+=       XSLTPROC="true"
./devel/talloc/Makefile:MANPAGES_CONFIGURE_ENV_OFF+=    XSLTPROC="true"
./devel/tevent/Makefile:MANPAGES_CONFIGURE_ENV_OFF=     XSLTPROC="true"
./devel/talloc242/Makefile:MANPAGES_CONFIGURE_ENV_OFF+= XSLTPROC="true"
./devel/tevent016/Makefile:MANPAGES_CONFIGURE_ENV_OFF=  XSLTPROC="true"

My personal opinion is that MANPAGES should be default and can be disabled on request.

+1

This revision now requires review to proceed.Mon, Mar 10, 8:13 PM

Just tested devel/talloc, suffers from the same problem as net/samba4*, another manpage is installed. When XSLTPROC is properly disabled, the build fails. So, I guess, several, at least, other Samba-related ports require fixing.

This revision is now accepted and ready to land.Tue, Mar 11, 2:10 AM

Is there any action required by the administrator from this change? E.g., they'll just seamlessly have updated manpages?

Is there any action required by the administrator from this change? E.g., they'll just seamlessly have updated manpages?

I think nothing is required, they should be overridden with new ones. I tried all ports options with separate manpages in poudriere, but of course maybe I haven't covered all cases.

0mp added a subscriber: 0mp.

Great clean up! Thank you for working on that.