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