Re: meson documentation build open issues

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Andres Freund <andres@anarazel.de>
Date: 2023-04-05T10:24:04Z
Lists: pgsql-hackers
On 15.03.23 08:14, Peter Eisentraut wrote:
> I have identified several open issues with the documentation build under 
> Meson (approximately in priority order):

Some work has been done on this.  Here is my current assessment.

> 1. Image files are not handled at all, so they don't show up in the 
> final product.

This is fixed.

> 2. Defaults to website stylesheet, no way to configure.  This should be 
> adjusted to match the make build.

This is fixed.

> 3. The various build targets and their combinations are mismatching and 
> incomplete.

This has been improved, and I see there is documentation.

I think it's still an issue that "make docs" builds html and man but 
"ninja docs" only builds html.  For some reason the wiki page actually 
claims that ninja docs builds both, but this does not happen for me.

> 4. There doesn't appear to be a way to install the documentation.

This has been addressed.

> 5. There doesn't appear to be an equivalent of "make world" and "make
> install-world" that includes documentation builds.

This has been addressed with the additional meson auto options.  But it 
seems that these options only control building, not installing, so there 
is no "install-world" aspect yet.



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