From fc5416c7677d59d4bb7026be593b542375bbdedb Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 27 Jan 2024 19:41:54 +0100 Subject: [PATCH] control: Avoid hello build-dep getting pulled in on buildds If we use foo [amd64] | hello, bar | hello on non-amd64 archs this gets reduced to hello, bar | hello And thus hello gets installed, and thus bar does not get installed. In the llvm-toolchain package case, this leads to wasi-libc not getting installed as expected in experimental builds, as can be seen in various archs: https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=hurd-i386&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706212747&raw=0 https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=ia64&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706212238&raw=0 https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=loong64&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706211390&raw=0 https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-snapshot&arch=x32&ver=1%3A19~%2B%2B20240125092523%2B41fe98a6e7e5-1~exp1&stamp=1706211402&raw=0 So we should rather be using: foo [amd64] | hello [amd64], bar | hello i.e. keep the constraints coherent, so that on non-amd64 this gets translated to bar | hello which will not unexpectedly install the hello package, and properly install bar. --- debian/changelog | 6 ++++++ debian/control | 8 +++++--- debian/control.in | 8 +++++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index e879ee05..07658b58 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +llvm-toolchain-18 (1:18~++20240126094319+0991d3c7b53d-1~exp2) UNRELEASED; urgency=medium + + * control: Avoid hello build-dep getting pulled in on buildds. + + -- Samuel Thibault Sat, 27 Jan 2024 19:41:35 +0100 + llvm-toolchain-18 (1:18~++20240126094319+0991d3c7b53d-1~exp1) experimental; urgency=medium * Branching of 18 diff --git a/debian/control b/debian/control index 9725e9a3..f6cdae61 100644 --- a/debian/control +++ b/debian/control @@ -23,15 +23,17 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x], dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x], libpfm4-dev [linux-any], python3-setuptools, libz3-dev, - llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello, - spirv-tools [linux-any] | hello [!i386], +# "| hello" is for older buster/bionic distros without spirv support +# We need to keep the constraints coherent between the two alternatives, otherwise +# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled + llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + spirv-tools [linux-any] | hello [linux-any], wasi-libc | hello, libcurl4-openssl-dev | libcurl-dev, libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x], protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x], libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x], protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] -# "| hello" is for older buster/bionic distros without spirv support Build-Conflicts: oprofile Standards-Version: 4.6.2 Homepage: https://www.llvm.org/ diff --git a/debian/control.in b/debian/control.in index fcd449a2..d47e0cc4 100644 --- a/debian/control.in +++ b/debian/control.in @@ -23,15 +23,17 @@ Build-Depends: debhelper (>= 10.0), cmake, ninja-build, libctypes-ocaml-dev [amd64 arm64 armhf ppc64el riscv64 s390x], dh-exec, dh-ocaml [amd64 arm64 armhf ppc64el riscv64 s390x], libpfm4-dev [linux-any], python3-setuptools, libz3-dev, - llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello, - spirv-tools [linux-any] | hello [!i386], +# "| hello" is for older buster/bionic distros without spirv support +# We need to keep the constraints coherent between the two alternatives, otherwise +# hello would get installed unexpectedly and prevent e.g. wasi-libc from getting pulled + llvm-spirv-17 [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] | hello [amd64 arm64 armhf i386 ppc64 ppc64el riscv64 s390x] , + spirv-tools [linux-any] | hello [linux-any], wasi-libc | hello, libcurl4-openssl-dev | libcurl-dev, libgrpc++-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x], protobuf-compiler-grpc [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x], libprotobuf-dev [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x], protobuf-compiler [amd64 arm64 armel armhf mips64el mipsel ppc64 ppc64el powerpc riscv64 s390x] -# "| hello" is for older buster/bionic distros without spirv support Build-Conflicts: oprofile Standards-Version: 4.6.2 Homepage: https://www.llvm.org/