On Thu, Jun 29, 2023 at 2:58 PM <christian.ehrha...@canonical.com> wrote: > > From: Christian Ehrhardt <christian.ehrha...@canonical.com> > > By adding -j we build in parallel, to make building on multiprocessor > machines more effective. While that works it does also break > reproducible builds as the order of the sphinx generated searchindex.js > is depending on execution speed of the individual processes.
Just FYI (this didn't fit fit well in the commit message) an example of such a fail can be seen at https://salsa.debian.org/paelzer-guest/dpdk/-/jobs/4372883 If you download the artifact, extract dpdk-doc, apply js-beautify for readability and then diff it you'll find it same-content-different-order. Examples of two builds: - https://paste.ubuntu.com/p/VhWYNRv7kN/ - https://paste.ubuntu.com/p/KcQk4Km9xM/ > Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com> > --- > buildtools/call-sphinx-build.py | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/buildtools/call-sphinx-build.py b/buildtools/call-sphinx-build.py > index 39a60d09fa..d8879306de 100755 > --- a/buildtools/call-sphinx-build.py > +++ b/buildtools/call-sphinx-build.py > @@ -15,12 +15,7 @@ > # set the version in environment for sphinx to pick up > os.environ['DPDK_VERSION'] = version > > -# for sphinx version >= 1.7 add parallelism using "-j auto" > -ver = run([sphinx, '--version'], stdout=PIPE, > - stderr=STDOUT).stdout.decode().split()[-1] > sphinx_cmd = [sphinx] + extra_args > -if Version(ver) >= Version('1.7'): > - sphinx_cmd += ['-j', 'auto'] > > # find all the files sphinx will process so we can write them as dependencies > srcfiles = [] > -- > 2.41.0 > -- Christian Ehrhardt Senior Staff Engineer and acting Director, Ubuntu Server Canonical Ltd