Re: meson documentation build open issues

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Andres Freund <andres@anarazel.de>, Christoph Berg <myon@debian.org>, Andrew Dunstan <andrew@dunslane.net>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-11-14T20:16:13Z
Lists: pgsql-hackers
Some comments on your patches:

v2-0001-meson-Change-default-of-selinux-feature-option-to.patch

Ok

v2-0002-docs-Document-with-selinux-Dselinux-options-centr.patch

Ok, but "selinux" should be "SELinux" when referring to the product.

v2-0003-meson-docs-Add-doc-html-man-targets.patch

We have make targets "html" and "man", so I suggest we make the meson 
targets the same.

v2-0004-meson-Add-world-target.patch

AFAICT, this world target doesn't include the man target.  (Again, this 
would all work better if we added "man" to "docs".)

v2-0005-docs-meson-Add-documentation-for-important-build-.patch

It's nice to document this, but it's weird that we only document the 
meson targets, not the make targets.

v2-0006-meson-Add-help-target-build-docs-from-a-common-so.patch

Here also, making this consistent and uniform with make would be useful.

v2-0007-meson-Add-Dpkglibdir-option.patch

Normally, the pkgFOOdir variables are just FOOdir plus package name.  I 
don't feel comfortable allowing those to be separately set.  We don't 
allow that with configure; this just arose from a Debian patch.

The description "location to dynamically loadable modules" is too 
narrow.  Consider for example, another proposed patch, where we are 
doing some preprocessing on postgres.bki at build time.  Since that 
makes postgres.bki platform dependent, it should really be moved from 
share (datadir in configure parlance) to pkglibdir.  So then we have 
things in there that are not loadable modules.  I don't know how that 
affects Debian packaging, but this patch might not be the right one.

I suggest we leave this patch for a separate discussion.




Commits

  1. docs: meson: Change what 'docs' target builds

  2. meson: Add 'world' target

  3. meson: Document build targets, add 'help' target

  4. meson: docs: Add {html,man} targets, rename install-doc-*

  5. docs: Document --with-selinux/-Dselinux options centrally

  6. meson: Change default of 'selinux' feature option to auto

  7. meson: Fix doc installation path computation

  8. meson: Install missing example files

  9. meson: docs: Install all manpages, not just ones in man1

  10. meson: docs: Allow configuring simple/website style

  11. docs: html: load stylesheet via custom.css.source

  12. docs: html: copy images to output as part of xslt build

  13. meson: docs: Preparatory cleanups

  14. docs: Remove support for 'htmlhelp' format

  15. meson: add install-{docs,doc-html,doc-man} targets

  16. meson: add install-{quiet, world} targets

  17. meson: make install_test_files more generic, rename to install_files

  18. meson: rename html_help target to htmlhelp