🤖 (Claude)
Symptom
With asciidoctor on PATH, make install fails:
install: will not overwrite just-created '.../<ext>.html' with './/doc/<ext>.html'
doc/<ext>.html ends up in DOCS twice: once via the doc/* wildcard (the committed copy) and once via ASCIIDOC_HTML (the freshly-generated copy from doc/<ext>.asc). install refuses to overwrite the file it just installed with itself.
Where it's already fixed, and where it isn't
The dedup — DOCS := $(sort $(filter-out $(ASCIIDOC_HTML),$(DOCS)) $(ASCIIDOC_HTML)) — landed in 2.0.2 and resolves this there. But an extension repo that vendors an older pgxntool (pre-2.0.2) still hits the failure, and it's easy to not notice: CI images without asciidoctor installed never exercise this path at all, so the breakage only shows up when someone builds locally with asciidoctor present.
Workaround in the meantime: make ... ASCIIDOC=.
Ask
- Document the 2.0.2 dedup fix and the
make pgxntool-sync upgrade path prominently (README/CHANGELOG), so downstream repos know there's a reason to sync forward.
- Consider a startup warning in
base.mk when a committed file also appears in a generated-files list, so this class of collision surfaces even for docs/generated-file combinations not yet anticipated.
Possibly related: #92 (generated HTML ballooning diffs) — different symptom, same root cause of committed-vs-generated .html under doc/.
🤖 (Claude)
Symptom
With
asciidoctoronPATH,make installfails:doc/<ext>.htmlends up inDOCStwice: once via thedoc/*wildcard (the committed copy) and once viaASCIIDOC_HTML(the freshly-generated copy fromdoc/<ext>.asc).installrefuses to overwrite the file it just installed with itself.Where it's already fixed, and where it isn't
The dedup —
DOCS := $(sort $(filter-out $(ASCIIDOC_HTML),$(DOCS)) $(ASCIIDOC_HTML))— landed in 2.0.2 and resolves this there. But an extension repo that vendors an older pgxntool (pre-2.0.2) still hits the failure, and it's easy to not notice: CI images withoutasciidoctorinstalled never exercise this path at all, so the breakage only shows up when someone builds locally with asciidoctor present.Workaround in the meantime:
make ... ASCIIDOC=.Ask
make pgxntool-syncupgrade path prominently (README/CHANGELOG), so downstream repos know there's a reason to sync forward.base.mkwhen a committed file also appears in a generated-files list, so this class of collision surfaces even for docs/generated-file combinations not yet anticipated.Possibly related: #92 (generated HTML ballooning diffs) — different symptom, same root cause of committed-vs-generated
.htmlunderdoc/.