Bug#1130335: src:llvm-toolchain-22 modifies debian/control during the build

Jochen Sprickerhof jspricke at debian.org
Wed Mar 11 09:45:33 GMT 2026


Source: llvm-toolchain-22
Version: 1:22.1.0-2
Severity: serious
X-Debbugs-Cc: reproducible-bugs at lists.alioth.debian.org
User: reproducible-builds at lists.alioth.debian.org
Usertags: buildinfo

Hi,

src:llvm-toolchain-22 modifies the debian/control file during the build:

diff -u debian/control debian/control.new || true
mv debian/control.new debian/control

https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-22&arch=all&ver=1%3A22.1.0-2&stamp=1772141829&raw=0

This is forbidding by the ftp-master REJECT-FAQ:

| Putting all of that together, you can simplify it with debian/control
| has to contain a list of binaries to be built before the build-process
| starts, do not modify that in the running build-process.

https://web.archive.org/web/20260208141017/https://ftp-master.debian.org/REJECT-FAQ.html

And makes the package not reproducible on reproduce.debian.net:

https://qa.debian.org/excuses.php?package=llvm-toolchain-22

The problem is that llvm-spirv-21 is replaced by llvm-spirv-22 (already
changed in git).

A better approach is to fail the build in that case:

--- a/debian/rules
+++ b/debian/rules
@@ -1086,8 +1086,9 @@ stamps/preconfigure:
                $(if $(filter yes, $(LIBCLC_ENABLE)),,--skip-libclc-packages) \
                debian/control debian/packages.common debian/packages.ocaml debian/packages.libclc \
                > debian/control.new
-       diff -u debian/control debian/control.new || true
-       mv debian/control.new debian/control
+       # Make sure d/control is up to date and fail the build otherwise.
+       # Do not simply replace it here as modifying it during the build is forbidden by policy.
+       diff -u debian/control debian/control.new

 ifeq (,$(filter llvm.noclang, $(DEB_BUILD_PROFILES)))
        if ! dh_listpackages|grep -q clang-$(LLVM_VERSION); then \

Cheers Jochen



More information about the Pkg-llvm-team mailing list