[From nobody Wed May  6 12:37:08 2026
Received: (at submit) by bugs.debian.org; 11 Mar 2026 09:45:37 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-109.2 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,
 SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY,USER_IN_DKIM_WELCOMELIST,
 XMAILER_REPORTBUG autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 44; hammy, 150; neutral, 79; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;jspricke@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:45550)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;jspricke@debian.org&gt;) id 1w0G8H-006Dlt-1L
 for submit@bugs.debian.org; Wed, 11 Mar 2026 09:45:37 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Date:Message-ID:Subject:To:From:
 Content-Transfer-Encoding:MIME-Version:Content-Type:Reply-To:Cc:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=XW1tMls99D0U3NFeybwQD5dRy2ul1Ztqo3guoXHavr0=; b=ctxzoVBJR7FE/7xxLSipJwrWxT
 xGtPPAr3FJ9gufTG5J3Etw7nrPr08yrt5iMukRQ2oa1E7uoQSmpVhH8UEgtTKTirwpaAE4SmJ/yPT
 rOASwA5tVQZ1/PpjbCUo0NkXhYSOx5AIRcg/SSafM98oC7p+ZXEwIZ3V/eOaBmto9APDOZ1JauUaO
 pygVg5g7BCg4N2SjF+31exZd33G3nbX8akYan4vbgrfDZyDnynsiA0rx/SXylok9P0sdiHs2X/8nI
 JwXMvH7vl9UsS+hZoRyitb7MjdyxoH3GA78THkQPSKP6VmsM6IcemagBPpvEx+4Y3n/epfn5OVicQ
 77J+k6jw==;
Received: from authenticated user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.94.2) (envelope-from &lt;jspricke@debian.org&gt;)
 id 1w0G8E-003gDn-NF; Wed, 11 Mar 2026 09:45:35 +0000
Content-Type: text/plain; charset=&quot;us-ascii&quot;
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Jochen Sprickerhof &lt;jspricke@debian.org&gt;
To: Debian Bug Tracking System &lt;submit@bugs.debian.org&gt;
Subject: src:llvm-toolchain-22 modifies debian/control during the build
Tag: patch
Message-ID: &lt;177322233322.116017.192635234204972713.reportbug@fenchel&gt;
X-Mailer: reportbug 13.2.0
Date: Wed, 11 Mar 2026 10:45:33 +0100
X-Debian-User: jspricke
Delivered-To: submit@bugs.debian.org

Source: llvm-toolchain-22
Version: 1:22.1.0-2
Severity: serious
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org
User: reproducible-builds@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&amp;arch=all&amp;ver=1%3A22.1.0-2&amp;stamp=1772141829&amp;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 \
                &gt; 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
]