File reproducible-doc-build.patch of Package python-rdflib
diff --git a/rdflib/term.py b/rdflib/term.py
index 3e397674..4e0cfcf1 100644
--- a/rdflib/term.py
+++ b/rdflib/term.py
@@ -23,6 +23,7 @@ underlying Graph:
from __future__ import annotations
+import sys
import abc
import re
from fractions import Fraction
@@ -483,7 +484,12 @@ class BNode(IdentifiedNode):
else:
node_id = sn_result
else:
- node_id = uuid4().hex
+ # Do not generate random id for doc, this will help with reproducible
+ # builds https://github.com/RDFLib/rdflib/issues/2645
+ if "sphinx-build" in sys.argv[0]:
+ node_id = "NODEID"
+ else:
+ node_id = uuid4().hex
# note, for two (and only two) string variables,
# concat with + is faster than f"{x}{y}"
value = _prefix + f"{node_id}"