diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-07 10:36:31 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-05-07 10:36:31 +0300 |
| commit | 76340853d3dab05091caf913cc1ec2fe34c439e5 (patch) | |
| tree | c9a8bd9cf11436d99508d244d652f8f39b1289a8 /docs | |
| parent | a67d481569c247c03f43b22bfb2d338e3acc3b09 (diff) | |
| download | vyos-documentation-76340853d3dab05091caf913cc1ec2fe34c439e5.tar.gz vyos-documentation-76340853d3dab05091caf913cc1ec2fe34c439e5.zip | |
fix(docs): integrate swap_sources into sagitta Makefile
`current` and `circinus` Makefiles auto-run `swap_sources.py --swap`
as a prerequisite of `html`/`dirhtml`/`pdf`/`livehtml`, with a
`--restore` trap on exit so the working tree is left clean. Sagitta's
Makefile lacked this entirely — `make html` would skip the swap
mechanism and the build would render whatever was on disk (fine while
the override list is empty, but a footgun the moment a maintainer adds
an entry to `docs/_rst_overrides.txt`).
Adopt current/circinus's Makefile verbatim (they're already identical),
giving sagitta:
- `SWAP` variable + `swap`/`restore` targets
- `html: swap`, `dirhtml: swap`, `pdf: swap`, `livehtml: swap` with
`--restore` trap-on-exit
- `defaultvalue: html` (no longer needs to inline the sphinx-build
invocation now that `html` carries the swap)
After this lands, sagitta's CLAUDE.md (in [#1907](https://github.com/vyos/vyos-documentation/pull/1907)) will need a small
follow-up — Copilot's commit on that PR currently says "swap is manual"
which becomes wrong post-merge here. Will update #1907 to match
current/circinus wording once this PR is merged.
\xf0\x9f\xa4\x96 Generated by [robots](https://vyos.io)
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/Makefile | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/docs/Makefile b/docs/Makefile index cb6226af..ae12b802 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -12,22 +12,44 @@ AUTOHOST = 0.0.0.0 AUTOPORT = 8000 AUTOOPTS = --watch . +SWAP = python3 ../scripts/swap_sources.py + # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -.PHONY: help Makefile +.PHONY: help Makefile swap restore html dirhtml pdf livehtml defaultvalue -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +swap: + $(SWAP) --swap -livehtml: - sphinx-autobuild --host $(AUTOHOST) --port $(AUTOPORT) $(AUTOOPTS) \ - "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +restore: + $(SWAP) --restore + +html: swap + @trap '$(SWAP) --restore' EXIT; \ + $(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +dirhtml: swap + @trap '$(SWAP) --restore' EXIT; \ + $(SPHINXBUILD) -M dirhtml "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) +pdf: swap + @trap '$(SWAP) --restore' EXIT; \ + $(SPHINXBUILD) -M latexpdf "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +livehtml: swap + @trap '$(SWAP) --restore' EXIT; \ + sphinx-autobuild --host $(AUTOHOST) --port $(AUTOPORT) \ + --ignore '$(BUILDDIR)/**' \ + --ignore '**/_build/**' \ + --ignore '**/md-*' \ + "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) defaultvalue: export VYOS_DEFAULT=True -defaultvalue: - @$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
\ No newline at end of file +defaultvalue: html + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) |
