Bug#1130335: src:llvm-toolchain-22 modifies debian/control during the build
Sylvestre Ledru
sylvestre at debian.org
Tue Mar 17 20:36:41 GMT 2026
Hello
It clearly makes sense for most of the packages.
But here, we are dealing with a compiler with a complex ecosystem that needs
bootstrap and some unusual dependencies.
https://tracker.debian.org/pkg/spirv-llvm-translator-22 is one of them.
Here, we had a different output because of spirv-llvm-translator-22
So, I am thinking about wontfixing this bug. ok with you?
Thanks,
S
Le 11/03/2026 à 10:45, Jochen Sprickerhof a écrit :
> 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
>
> _______________________________________________
> Pkg-llvm-team mailing list
> Pkg-llvm-team at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-llvm-team
More information about the Pkg-llvm-team
mailing list