Skip to content

v5.0.x: Include PRTE RST content in mpirun.1 man page #11943

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

jsquyres
Copy link
Member

@jsquyres jsquyres commented Sep 25, 2023

This is the v5.0.x PR corresponding to #11820. See individual commit messages for details.

This PR does not include a PRRTE submodule update (even though #11820 did) because the PRRTE submodule on this branch already points to a suitable commit that contains all the commits that the corresponding OMPI code needs.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit da9206a)
This commit introduce a fundamentally new concept: have configure
search PRRTE for RST files to include in Open MPI's documentation
(regardless of whether we're using the internal/bundled PRRTE or an
external PRRTE).  If we're building against an external PRRTE that is
old enough that it doesn't have any RST files installed, we'll make up
some dummy RST files that basically say "you don't get help/content
here because your PRRTE is too old."

To simplify the configury for this scheme, this commit also makes
another change: the pre-built HTML docs and nroff man pages included
in distribution tarballs are now located at docs/html/ and docs/man/,
respectively (vs. the location where we'll build them:
docs/_build/html/ and docs/_build/man/, respectively).  There are two
cases here:

1. If the user has Sphinx available, we'll build the docs under
   docs/_build/, and install those (effectively ignoring the pre-built
   docs).
2. If the user does not have Sphinx available, we'll just install the
   pre-built docs.

This simplified things like "make clean" and "make distcheck".

Including RST content from PRTE required another major change: when we
build the RST docs in a VPATH scenario, we copy the entire docs/
source tree to the build tree.  This allows us to modify the RST
sources a bit (e.g., to include the PRRTE RST files or generate dummy
PRRTE RST files).

mpirun.1.rst is updated to include the RST content from PRRTE about
CLI options.  More work needs to be done here to remove old,
now-redundant content.

Finally, we also amend the advice to implementors to have Sphinx
installed when building their package so that Open MPI's build system
can properly slurp in their PRRTE's RST docs.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 1fd0944)
Since RTD doesn't run autogen, configure, or make, we now have to
manually copy a few RST files from the embedded PRRTE to the docs/
tree before RTD invokes Sphinx.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit c356981)
@jsquyres
Copy link
Member Author

Regression testing of all 32 test cases completed successfully. This PR is ready to merge.

@awlauria awlauria merged commit 6925923 into open-mpi:v5.0.x Sep 26, 2023
@jsquyres jsquyres deleted the pr/v5.0.x/mpirun-man-page-slurp-in-prterun-man-page branch November 27, 2023 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants