Closed kloczek closed 3 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 68.27%. Comparing base (
9c56bee
) to head (b1c2ac0
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Thanks for fixing this! The auto-formatter moved this in the latest release, I'll merge this and also add a comment to ensure it doesn't get moved again.
Thank you π π
Do you need a new release to resolve your issue, or is this simply being in the main
branch sufficient?
No .. it is not-so-urgent change/it can wait π I've submitted it to no longer maintain that patch in my rpm package (just flush of some minor changes π )
Running make docs
also build the deps in the right order without this change and without error. Curious why this can't be used when building an RPM?
Running
make docs
also build the deps in the right order without this change and without error. Curious why this can't be used when building an RPM?
Reason for that is very simple
[tkloczko@pers-jacek SPECS]$ grep ^%sphinx_build_man python-*spec | wc -l; ls -1 python-*spec | wc -l
692
1238
So .. as you see in +50% build procedures of python modules I'm using the same build procedure lego piece to build python module documentation as man page. Here is my rpm macro which I'm using to generate all those documentation:
%sphinx_build /usr/bin/sphinx-build
%sphinx_build_man() %{expand:\\\
PBR_VERSION=%(v=%{version}; echo ${v%~*}) \\\
PDM_BUILD_SCM_VERSION=%(v=%{version}; echo ${v%~*}) \\\
SETUPTOOLS_SCM_PRETEND_VERSION=%(v=%{version}; echo ${v%~*}) \\\
JARACO_PACKAGING_SPHINX_WHEEL=$(ls -1 $PWD/dist/*whl) \\\
%sphinx_build -n -T -b man %["%{*}"?"%{*}":"docs"] build/sphinx/man}
Yes in many cases it requires some additional adjustments like this PR.
[tkloczko@pers-jacek SPECS]$ grep "Patch:.*%{name}-add_module_path_in_conf.py.patch" python-*spec | wc -l; grep "Patch:.*%{name}-fix_module_path_in_conf.py.patch" python-*spec| wc -l
244
21
In this case it is clearly visible that procedure which I'm using is possible to use in case +60% of of that population of +1.2k python modules which comes with sphinx rendered documentation .. without fixes like here π Currently after testing everything on such scale I'm slowly creating PRs with those changes against each module. Nevertheless PR has been accepted so it decreased that add_module_path_in_conf patches counter by one π (one more time .. thank you π)
You will still see warnings with this approach, for example in type linkingβfor this package specifically, you'll see warnings related to pyyaml
on the build if you don't install the package deps in pyproject.toml
first. But the docs will still build and otherwise look fine, just without dependency links to other modules. Was just curious about your use case though, sounds like that's fine in your case as you primarily want it to build. Thanks for sharing!
Here is sphinx output with this PR
+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v7.2.6
making output directory... done
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 4 added, 0 changed, 0 removed
reading sources... [100%] troubleshooting
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python-pyngrok.3 { api integrations troubleshooting } done
build succeeded.
The manual pages are in build/sphinx/man.
Move importing pyngrok after altering
sys.path
. This itrival fix allows buid documentation without havepyngrok
installed using only source tree.Description
A clear and concise description of what was changed.
Fixes # (issue number)
Type of Change
Testing Done
A clear and concise description of the new tests added to validate the change as well as any manual testing done.
Checklist
make test
passes with no new errors or warningsmake check
to ensure no new errors or warningsmake docs
to ensure no new errors or warningsWithout that patch documentation build fails with