]> git.ipfire.org Git - thirdparty/bind9.git/commit
fix: ci: Disable dnstap in reproducible-build CI job
authorMichal Nowak <mnowak@isc.org>
Mon, 1 Jun 2026 20:56:50 +0000 (22:56 +0200)
committerMichal Nowak <mnowak@isc.org>
Mon, 1 Jun 2026 20:56:50 +0000 (22:56 +0200)
commitc2b36b74af15ed6c8c5dc03c90cc6a2085fcbd7e
tree06d10f44a878587780afa5f6fdc740d7862c3e9e
parent9b56fd7e4e856cc2e12059f9e880c6298abc0c31
parentb3277a17fdb7f369b03ced2b16fa797da0d2a483
fix: ci: Disable dnstap in reproducible-build CI job

Commit 515ff3763c ("Simplify reproducible-build CI job") dropped the
-Ddnstap=disabled option from the "meson reprotest" invocation, which
re-introduced a known reproducibility failure:

    Build differences detected
    File contents differ: buildrepro/libdnstap.a

The job builds with CFLAGS=${CFLAGS_COMMON}, which enables LTO with
-ffat-lto-objects. Fat LTO objects embed GIMPLE bytecode keyed by a
per-compilation random LTO hash, so they are not reproducible run to
run. libdnstap.a is the only static archive in the build, and meson
treats every .a as a final, checked artifact, so the two reprotest
builds disagree on its contents. The shared libraries are unaffected
because final LTO linking re-emits and strips the bytecode.

Restore the -Ddnstap=disabled workaround, along with a comment
explaining the instability. The unrelated -Ddoc=disabled and
-Doptimization=1 options are left dropped, as they were only build-time
speedups and not related to reproducibility.

Assisted-by: Claude:claude-opus-4-8
Merge branch 'mnowak/reprotest-disable-dnstap-lto' into 'main'

See merge request isc-projects/bind9!12161