On 05/09/2024 13:35, bernhard+linux-doc@xxxxxxxx wrote:
From: "Bernhard M. Wiedemann" <bwiedemann@xxxxxxx>
Because we want reproducible builds
and https://github.com/sphinx-doc/sphinx/issues/6714
did not receive any love from Sphinx devs in five years,
let's disable parallel doc builds until that Sphinx issue is fixed.
This patch was done while working on reproducible builds for openSUSE,
sponsored by the NLnet NGI0 fund.
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@xxxxxxx>
---
Documentation/sphinx/parallel-wrapper.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/sphinx/parallel-wrapper.sh b/Documentation/sphinx/parallel-wrapper.sh
index e54c44ce117d..cb93626bd86e 100644
--- a/Documentation/sphinx/parallel-wrapper.sh
+++ b/Documentation/sphinx/parallel-wrapper.sh
@@ -10,6 +10,9 @@ sphinx="$1"
shift || true
parallel="$PARALLELISM"
+# Because of issues in Sphinx(https://github.com/sphinx-doc/sphinx/issues/6714)
+# we disable parallel doc generation to get deterministic build results
+parallel=1
if [ -z "$parallel" ] ; then
# If no parallelism is specified at the top-level make, then
# fall back to the expected "-jauto" mode that the "htmldocs"
If you need reproducibility and the solution/workaround is to limit it
to 1 concurrent sphinx-build invocation, why can't you just run
'make -j1 htmldocs ...' explicitly? (or whichever doc targets you need.)
This should also have the benefit of working regardless of the exact
kernel version.
Vegard