-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Initial PoC for packaging with manpages #12528
base: master
Are you sure you want to change the base?
Conversation
I think this is best dealt with via a build script, though it would mean that the Git source and the sdist become desynchronised. This would also need to be cross-platform, as I use Windows. Please could you add an entry to CHANGES? A |
Yeah, it's not ideal. This is why I'm only making this PR a draft at this point. I know what I want the end result to be, just not how to make it work with your current CI/CD and packaging setup.
Fair! I just saw the Makefiles and re-used them.
Sure! I'll take a look later. |
On reflection I do not like that flit decided against having a declarative way of specifying data files. Seems to me that decision makes it tougher to write reliable build scripts and CI/CD pipelines. 😟
What if we include a data directory in source control that is "empty" (just a
|
I'm thinking I could write a small python script in the "utils" dir (or some And then we could generate the manpages and run this script through tox. That should work both locally and in CI. |
Done. To build a wheel with manpages included, on macOS / Linux you can do tox run -e manpages
python -m build Remaining issues:
|
Flit has the example of having something
You can always add some |
Subject: Package wheels and sdists with manpages
[UPDATED]
Feature or Bugfix
Purpose
When installing Sphinx with pipx or pip, it could automatically make available the manpages for the script entrypoints
(sphinx-build, sphinx-quickstart, sphinx-apidoc, sphinx-autogen).
All that is necessary is that the wheel/sdist contains a "share/man/man1" folder with the manpages.
Since Sphinx is packaged with flit, the intended way to install manpages is with the
external data section.
Detail
make build
.tox run -e manpages
.