Skip to content

Fix make docs for runs made completely out-of-tree#2318

Merged
jimklimov merged 58 commits intonetworkupstools:masterfrom
jimklimov:fix-make-docs-out-of-tree
Feb 22, 2024
Merged

Fix make docs for runs made completely out-of-tree#2318
jimklimov merged 58 commits intonetworkupstools:masterfrom
jimklimov:fix-make-docs-out-of-tree

Conversation

@jimklimov
Copy link
Copy Markdown
Member

@jimklimov jimklimov commented Feb 19, 2024

Fix issues like:

  • inability to build ChangeLog.html/.pdf (due to building not in a git workspace, and the placeholder text being not a valid asciidoc chapter, and
  • inability to include files for asciidoc (texts, configs) when building not in the directory where the sources are (and the source directory may be read-only), especially when we juggle included files (linkman-doc*) or configs (docinfo.xml) generated for the build and referenced from git-tracked original texts.

This seemed to work for make distcheck with relative paths, but fared worse when the build tree was in a completely separate location and absolute paths got involved, at least with some "make" implementations.

A side effect is that we make .prep-src-docs (to make an horde of symlinks if building out-of-tree) in advance normally, since we would otherwise have to spell out all the dependencies (this text includes that text and those images) and conjure up .suf1.suf2 sort of rules, including for a few files without a simple suffix like txt... wholesale ops proved easier (but took a while to get them working everywhere).

In the end, this also revisits all places we call another $(MAKE) instance to do something, to ensure the "make" markup includes the + prefix (for job server integration) and that $(AM_MAKEFLAGS) are passed down consistently.

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…irect to stdout

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…up if we "failed to generate the ChangeLog" to produce a sane adoc=>pdf note anyway

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…repo is) and use CHANGELOG_FILE to store the result in BUILD dir

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…m git

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…arget for building out-of-tree

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…" separately from actually "Generating"

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…e calling (possibly parallel) sub-make for docs or docs/man

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…" to invoke jobserver

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…cdir to avoid the mess with relative paths and ".." offsets

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov added documentation CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) portability We want NUT to build and run everywhere possible labels Feb 19, 2024
@jimklimov jimklimov added this to the 2.8.2 milestone Feb 19, 2024
@jimklimov jimklimov marked this pull request as draft February 19, 2024 19:29
@AppVeyorBot
Copy link
Copy Markdown

…gets on .prep-src-docs

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…d for in-tree builds too

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…,tool}-names.txt recipes

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@AppVeyorBot
Copy link
Copy Markdown

…s first

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ep-src-docs, avoid sub-makes where we can

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov force-pushed the fix-make-docs-out-of-tree branch from b6115ea to 82458d5 Compare February 20, 2024 00:18
@AppVeyorBot
Copy link
Copy Markdown

…to PREP_SRC

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ks, be sure to only hit symlinks

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ks, report current workdir (help with relative src/build dirs)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…r PREP_SRC symlinks

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov force-pushed the fix-make-docs-out-of-tree branch from 86ca263 to 56bc09a Compare February 22, 2024 08:21
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…epped" suffix (with a dash)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…lean

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@AppVeyorBot
Copy link
Copy Markdown

...it upsets some versions of `dblatex` (used in PDF generation)
which treat everything after the *first* dot as a file extension.

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov force-pushed the fix-make-docs-out-of-tree branch 2 times, most recently from 9d18242 to 3713563 Compare February 22, 2024 14:23
@AppVeyorBot
Copy link
Copy Markdown

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…-docs are pre-generated

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
TOTHINK: Do we want to just automate this discovery?

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… caller into docs/Makefile parsing

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…verywhere we call another $(MAKE)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov force-pushed the fix-make-docs-out-of-tree branch from 3713563 to 1312b5f Compare February 22, 2024 15:36
@jimklimov jimklimov added the refactor/fightwarn PR or issue proposal to improve code maintainability without functional changes, or to fix warnings label Feb 22, 2024
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) documentation portability We want NUT to build and run everywhere possible refactor/fightwarn PR or issue proposal to improve code maintainability without functional changes, or to fix warnings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants